Προγραμματισμός

Διαχειριστείτε τις επιχειρηματικές σας διαδικασίες με το JBoss jBPM

Οι επιχειρήσεις έχουν αναζητήσει επιμελώς μια δομημένη προσέγγιση για το σχεδιασμό επιχειρηματικών ενεργειών / συναλλαγών και την εκτέλεση τους κατά προτίμηση χρησιμοποιώντας αυτοματοποιημένες διαδικασίες. Η διαχείριση επιχειρηματικών διαδικασιών (BPM) και η διαχείριση ροής εργασίας προσφέρουν μια λύση σε αυτό το πρόβλημα χρησιμοποιώντας έννοιες όπως ενέργειες, εργασίες και ροές.

Αυτό το άρθρο παρουσιάζει το BPM και συζητά τεχνικές και εργαλεία για την ενδυνάμωση εταιρικών συστημάτων με BPM και διαχείριση ροής εργασίας χρησιμοποιώντας το JBoss jBPM.

Ο όρος διαχείριση επιχειρηματικών διαδικασιών Συνήθως αναφέρεται σε ένα σύνολο δραστηριοτήτων που μπορούν να χρησιμοποιήσουν οι επιχειρήσεις για να αυτοματοποιήσουν και να βελτιστοποιήσουν τις επιχειρηματικές διαδικασίες με τρόπο προσαρμόσιμο σε δυναμικά μεταβαλλόμενα περιβάλλοντα. Αυτές οι δραστηριότητες ζητούν συνήθως βοήθεια από τη μηχανική λογισμικού και τα εργαλεία. Επομένως, ο όρος BPM χρησιμοποιείται συχνά άμεσα για να αναφέρεται στις τεχνικές και τα εργαλεία μηχανικής.

Το BPM ενσωματώνεται σε τρεις διαφορετικές πρακτικές:

  1. Σχεδιασμός διαδικασίας: Το έργο του σχεδιασμού υφιστάμενων και νέων διαδικασιών
  2. Εκτέλεση διαδικασίας: Η εκτέλεση μιας αυτοματοποιημένης ακολουθίας σχετικών συμβάντων που περιλαμβάνουν διαδικασίες λογισμικού ή / και ανθρώπινες δραστηριότητες
  3. Παρακολούθηση διαδικασίας: Παρακολούθηση και έλεγχος της κατάστασης των μεμονωμένων διαδικασιών, έτσι ώστε τα στατιστικά στοιχεία και η απόδοση αυτών των διαδικασιών να μπορούν να καταγράφονται, να αναφέρονται και να βελτιστοποιούνται.

Η BPM επιδιώκει να επιτρέψει στους μηχανικούς λογισμικού να μοιράζονται τις ίδιες ιδέες και πλαίσια με τους επιχειρηματικούς αναλυτές. Κατά συνέπεια, οι προμηθευτές λογισμικού προσπάθησαν να δημιουργήσουν εργαλεία που θα επιτρέψουν στις επιχειρήσεις να συλλάβουν, να σχεδιάσουν και να βελτιστοποιήσουν τις επιχειρηματικές διαδικασίες μέσω της χρήσης εργαλείων γραφικών μοντελοποίησης, γλωσσών για συγκεκριμένο τομέα και ιδιοκτησιακών εφαρμογών.

Το JBoss jBPM 3.0 παρέχει τη δυνατότητα ανάπτυξης νέων αυτοματοποιημένων επιχειρηματικών διαδικασιών και ροών εργασιών με ενορχηστρωμένη στάνταρ βιομηχανία χρησιμοποιώντας τη γλώσσα Business Process Execution Language (BPEL), ένα ευέλικτο και εύκαμπτο API, μια εγγενή γλώσσα καθορισμού διεργασιών και ένα εργαλείο γραφικών μοντελοποίησης

Το JBoss jBPM είναι ένα πλαίσιο ανοιχτού κώδικα (άδεια LGPL) Java APIs, εργαλείων και γλώσσας ορισμού που μπορεί να λειτουργήσει ως εφαρμογή Web ή μεμονωμένη εφαρμογή Java. Το JBoss jBPM ενεργεί ως μεσάζων μεταξύ επιχειρηματικών αναλυτών και προγραμματιστών, δίνοντάς τους μια κοινή γλώσσα ορισμού διεργασίας που αναφέρεται ως jPDL.

Επισκόπηση της αρχιτεκτονικής JBoss jBPM

Το JBoss jBPM ορίζει τους ορισμούς της διαδικασίας μέσα σε αρχεία που έχουν γραφτεί χρησιμοποιώντας τη γλώσσα καθορισμού της διαδικασίας JBoss Το jPDL είναι μια γλώσσα προγραμματισμού (GOP) που βασίζεται σε ένα μοντέλο κόμβων, μεταβάσεων και ενεργειών. Σε αυτό το μοντέλο, οι κόμβοι εκτελούνται εντολές καθώς συναντώνται κατά τη ροή ενός ορισμού διαδικασίας. Οι μεταβάσεις κατευθύνουν τη ροή εκτέλεσης ενός ορισμού διαδικασίας και οι ενέργειες εκτελούν συγκεκριμένη λογική καθώς συμβαίνει κόμβος ή συμβάν μετάβασης.

Στο jBPM, οι ορισμοί της διαδικασίας συσκευάζονται ως αρχεία διαδικασίας. Ένα αρχείο διεργασίας μεταβιβάζεται στη μηχανή επεξεργασίας jPDL για εκτέλεση. Η μηχανή διεργασίας jPDL διασχίζει ένα γράφημα διεργασιών, εκτελεί καθορισμένες ενέργειες, διατηρεί την κατάσταση της διαδικασίας και καταγράφει όλα τα συμβάντα της διαδικασίας.

Το JBoss jBPM είναι ενσωματωμένο στα ακόλουθα στοιχεία:

  • Μηχανή επεξεργασίας: Αυτό το στοιχείο εκτελεί καθορισμένες ενέργειες διαδικασίας, διατηρεί την κατάσταση της διαδικασίας και καταγράφει όλα τα συμβάντα της διαδικασίας μέσω των ακόλουθων στοιχείων εκπροσώπου:
    • Ένας χειριστής αιτημάτων
    • Διευθυντής κράτους
    • Ένας διαχειριστής καταγραφής
    • Ένας φορτωτής ορισμού
    • Μια υπηρεσία εκτέλεσης
  • Παρακολούθηση διαδικασίας: Αυτή η ενότητα παρακολουθεί, ελέγχει και αναφέρει την κατάσταση των διαδικασιών καθώς εκτελούνται
  • Γλώσσα διαδικασίας: Η γλώσσα ορισμού της διαδικασίας (jPDL) βασίζεται στο GOP
  • Υπηρεσίες αλληλεπίδρασης: Αυτές οι υπηρεσίες εκθέτουν παλαιότερες εφαρμογές ως συναρτήσεις ή δεδομένα που θα χρησιμοποιηθούν σε διαδικασίες εκτέλεσης

Οι σχέσεις μεταξύ αυτών των συστατικών απεικονίζονται στο Σχήμα 1.

Όπως φαίνεται στο Σχήμα 1, οι ορισμοί της διαδικασίας jBPM που περιέχουν χειριστές ενεργειών φορτώνονται και εκτελούνται από τη μηχανή διεργασίας jBPM. Όταν η μηχανή επεξεργασίας συναντά έναν κόμβο στον ορισμό της διαδικασίας που έχει μια ενέργεια που σχετίζεται με αυτήν, καλούνται όλοι οι σχετικοί χειριστές ενεργειών. Οι χειριστές ενεργειών είναι περιπτώσεις κώδικα Java που αλληλεπιδρούν με εξωτερικά συστήματα όταν εκτελούνται.

Το παρακάτω είναι ένα παράδειγμα ενός απλού χειριστή δράσης:

εισαγωγή org.jbpm.graph.def. *; εισαγωγή org.jbpm.graph.exe. *;

δημόσια τάξη MyActionHandler υλοποιεί ActionHandler {public void execute (ExecutionContext εκτέλεσηςContext) {System.out.println ("Το MyActionHandler έχει εκτελέσει:" + εκτέλεσηContext); }}

Το αρχείο PDL σε ένα αρχείο διεργασίας ονομάζεται process-definition.xml. Αυτό το αρχείο περιέχει την επίσημη περιγραφή των διαδικασιών. Ένα παράδειγμα αρχείου process-definition.xml απεικονίζεται στο ακόλουθο παράδειγμα:

Ο ορισμός της διαδικασίας βασίζεται σε ένα κατευθυνόμενο γράφημα. Το γράφημα αποτελείται από κόμβους, μεταβάσεις, μία κατάσταση έναρξης και μία τελική κατάσταση. Ο τύπος κάθε κόμβου καθορίζει τη συμπεριφορά χρόνου εκτέλεσης για τον κόμβο. Ενώ ο ορισμός της διαδικασίας εκτελείται, οι ακόλουθες οντότητες συμμετέχουν:

  • Παρουσία διαδικασίας: Μια παρουσία διαδικασίας είναι μία εκτέλεση ενός ορισμού διαδικασίας.
  • Ενδειξη: Το διακριτικό είναι ένας τρόπος εκτέλεσης. Το διακριτικό είναι η έννοια χρόνου εκτέλεσης που διατηρεί ένα δείκτη σε έναν κόμβο στο γράφημα. Όταν δημιουργείται μια παρουσία διαδικασίας, δημιουργείται ένα διακριτικό για την κύρια διαδρομή εκτέλεσης. Αυτό το διακριτικό ονομάζεται ριζικό διακριτικό της παρουσίας διαδικασίας και τοποθετείται στην κατάσταση έναρξης του ορισμού της διαδικασίας.
  • Σήμα: Ένα σήμα δίνει εντολή σε ένα διακριτικό να συνεχίσει την εκτέλεση γραφημάτων με μετάβαση από έναν κόμβο.
  • Κόμβος: Οι κόμβοι είναι υπεύθυνοι για τη συνέχιση μιας εκτέλεσης γραφήματος. Όταν ένα διακριτικό εισέρχεται σε έναν κόμβο, ο κόμβος εκτελείται. Ένας κόμβος που δεν διαδίδει την εκτέλεση θεωρείται ως κατάσταση.
  • Δράση: Οι ενέργειες είναι περιπτώσεις κώδικα Java που εκτελούνται όταν συμβαίνουν συμβάντα κατά την εκτέλεση μιας διαδικασίας. Οι κύριοι τύποι συμβάντων είναι "είσοδος σε κόμβο", "έξοδος από κόμβο" και "μετάβαση".

Οι ορισμοί της διαδικασίας μπορούν να δημιουργηθούν εύκολα με τον σχεδιαστή γραφικών μοντελοποίησης jBPM. Ο σχεδιαστής είναι εγκατεστημένος ως πρόσθετο Eclipse. Το Σχήμα 2 απεικονίζει μια οθόνη δείγματος από τον σχεδιαστή γραφικών μοντελοποίησης.

Ο σχεδιαστής γραφικών μπορεί να χρησιμοποιηθεί για τη δημιουργία ορισμών διεργασίας, την επισύναψη χειριστών ενεργειών σε συμβάντα, την επεξεργασία πηγής ορισμού, τη δημιουργία αρχείων διεργασίας, τους ορισμούς διεργασιών δοκιμής και ούτω καθεξής.

Ανάπτυξη JBoss jBPM

Το JBoss jBPM αποθηκεύει τους ορισμούς της διαδικασίας σε μια βάση δεδομένων. Επομένως, η ανάπτυξη μιας διαδικασίας στο JBoss jBPM περιλαμβάνει την ανάλυση της διαδικασίας-ορισμού.xml και την αποθήκευσή της στη βάση δεδομένων JBoss jBPM. Αυτό μπορεί να γίνει με:

  • Χρησιμοποιώντας το par Εργασία μυρμηγκιών παρέχεται με το JBoss jBPM για τη δημιουργία αρχείου διεργασιών
  • Χρησιμοποιώντας το βοηθητικό πρόγραμμα deploypar. Αυτό το βοηθητικό πρόγραμμα δημιουργεί επίσης ένα αρχείο διεργασίας και αναπτύσσει το αρχείο διεργασίας στη βάση δεδομένων jBPM. Το βοηθητικό πρόγραμμα deploypar παίρνει ένα αρχείο jBPM.properties ως χαρακτηριστικό. Αυτό το αρχείο καθορίζει επιλογές διαμόρφωσης, συμπεριλαμβανομένης της βάσης δεδομένων στην οποία πρόκειται να αναπτυχθεί το αρχείο διεργασίας.
  • Ανάλυση μέσω προγραμματισμού και αποθήκευση της διαδικασίας-ορισμού.xml σε μια βάση δεδομένων.

Εκτέλεση του JBoss jBPM μέσω μερικών απλών ρυθμών

Το JBoss jBPM λειτουργεί ως μηχανή ενορχήστρωσης που βρίσκεται στη μέση των επιχειρηματικών εφαρμογών, επιτρέποντας την ολοκλήρωση και τον συντονισμό μεταξύ διαφορετικών εφαρμογών.

Για αυτό το άρθρο, χρησιμοποιώ το δείγμα ανάπτυξης που αποστέλλεται με το jBPM για να συζητήσω πώς χρησιμοποιούνται τα jBPM και jPDL για τη δημιουργία και τροποποίηση ενός απλού συστήματος επεξεργασίας παραγγελιών με δυνατότητα Web.

Λήψη JBoss jBPM

Το κιτ εκκίνησης JBoss jBPM περιέχει όλα όσα χρειάζονται για την εκτέλεση του JBoss jBPM, με εξαίρεση ένα JDK. Ο διακομιστής εφαρμογών JBoss στο κιτ εκκίνησης JBoss jBPM απαιτεί J2SE 1.4 ή πιο πρόσφατη έκδοση.

Αφού κατεβάσετε το κιτ εκκίνησης, αποσυμπιέστε το σε έναν κατάλογο της επιλογής σας. Μόλις αποσυνδέσετε το κιτ εκκίνησης, θα έχετε μια δομή καταλόγου παρόμοια με την ακόλουθη:

  • Jbpm-starters-kit-3.1
    • jbpm: Περιέχει τον πηγαίο κώδικα για το προϊόν JBoss jBPM
    • jbpm-bpel: Περιέχει πληροφορίες σχετικά με την επέκταση BPEL για JBoss jBPM
    • jbpm-db: Περιέχει δείγματα διαμορφώσεων για τη σύνδεση JBoss jBPM σε άλλες βάσεις δεδομένων
    • jbpm-designer: Περιέχει το πρόσθετο Eclipse για το JBoss jBPM Visual Process Designer
    • διακομιστής jbpm: Περιέχει τον διακομιστή εφαρμογών JBoss μαζί με τον κινητήρα JBoss jBPM και τη διαδικασία δειγματοληψίας

Εκτελέστε τη μηχανή JBoss jBPM

Για να ξεκινήσετε τον διακομιστή εφαρμογών JBoss με το jBPM που έχει αναπτυχθεί, μεταβείτε στον κατάλογο διακομιστή jbpm και εκτελέστε το σενάριο εκκίνησης που βρίσκεται εκεί. Θα εμφανιστεί ένα παράθυρο εντολών με το παράθυρο κονσόλας jBPM, παρόμοιο με το σχήμα 3.

Τώρα, εμφανίστε ένα παράθυρο του προγράμματος περιήγησης και μεταβείτε στο // localhost: 8080 / jbpm. Θα εμφανιστεί η σελίδα σύνδεσης για το δείγμα εφαρμογής Ιστού για το JBoss jBPM, όπως φαίνεται στην Εικόνα 4.

Συνδεθείτε ως το τέρας των μπισκότων και επιλέξτε το σύνδεσμο Δημιουργία νέας παραγγελίας πώλησης Ιστού. Αυτό θα δημιουργήσει μια νέα παρουσία της προκαθορισμένης διαδικασίας "Web sale", όπως φαίνεται στο Σχήμα 5.

Το πραγματικό αρχείο ορισμού, processdefinition.xml, βρίσκεται στο websale.par και απεικονίζεται στην ακόλουθη λίστα:

$config[zx-auto] not found$config[zx-overlay] not found