Nov 1, 2015

Ξεκινώντας με το Activiti BPM στο Ubuntu

To Activiti BPM αποτελεί μια ελαφριά αλλά και ισχυρή υλοποίηση του BPMN 2.0. Η πλατφόρμα αποτελεί έργο ανοικτού κώδικα (open source) και βασίζεται στην Java . Σαν δομικές αρχές έχει:

  • την απλότητα στην κατασκευή και στην πρόσβαση στην πλατφόρμα, προσφέροντας Java και REST APIs
  • την εύκολη και ευέλικτη πακετοποίηση του, ακόμα και ως τμήμα μιας JEE εφαρμογής (WAR, EAR)
  • τον άμεσο έλεγχο μιας BPMN διαδικασίας με testing frameworks όπως για παράδειγμα το JUnit.
Η γραφική απεικόνιση ενός BPMN 2.0 process μπορεί να γίνει στο Eclipse με την βοήθεια ενός ειδικού plugin, ενώ έτοιμες εφαρμογές για τα REST APIs και τον Activiti Explorer (αντίστοιχο του Oracle BPM workspace) προσφέρονται εδώ. Σε αυτό το άρθρο θα περιγραφούν αυτές οι δυο διαστάσεις: η σχεδιαστική μέσω του Eclipse και η runtime σε έναν Tomcat 7 Server. Για όλα αυτά θα χρησιμοποιηθεί το Ubuntu 14.04 (LTS) ως πλατφόρμα ανάπτυξης ώστε σε λιγότερο από 20 λεπτά να έχουμε ένα λειτουργικό περιβάλλον για τα workflows μας.

Αν και μπορούμε να κατεβάσουμε αυτόνομα το Eclipse για να λειτουργήσει στο Ubuntu, μια άλλη προσέγγιση είναι να χρησιμοποιήσουμε το bundled command-line tool "Ubuntu Make" που αποτελεί ένα repository για τα development tools όπως Eclipse, Android Studio, Visual Studio Code, κ.α. Αφού λοιπόν εγκαταστήσουμε το Ubuntu Make με τις εντολές:

$ sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make
$ sudo apt-get update
$ sudo apt-get install ubuntu-make
Τότε, μπορούμε να εγκαταστήσουμε και το Eclipse με την εντολή umake ide eclipse, που θα μας ζητήσει τον κατάλογο προορισμού και τελικά θα εγκαταστήσει το προϊόν.
Η έκδοση του Eclipse είναι η Luna (4.4.2) και σε αυτήν θα χρειαστεί να προσθέσουμε το Activiti plugin καθώς και ένα Maven plugin. Μετά από όλα αυτά, είμαστε έτοιμοι να σχεδιάσουμε αλλά και να κάνουμε unit test σε μια BPMN διαδικασία, έχοντας ως οδηγό το αναλυτικό Activiti User Guide.
Για το deployment σε έναν Java server, όπως για παράδειγμα τον Tomcat, μπορούμε να έχουμε μια ειδικού σκοπού virtual machine είτε μέσω Docker (όπου μπορούμε να δανειστούμε έτοιμα images για Tomcat 7) είτε να φτιάξουμε ένα δικό μας. Μιας και προτιμώ το lxc, η δημιουργία ενός Ubuntu container είναι θέμα δευτερολέπτων με την εντολή:

$ sudo lxc-create -t ubuntu -n tomcat

Ξεκινώντας τον container μας, έχουμε ήδη ssh δυνατότητες οπότε μπορούμε να εκμεταλλευτούμε το Ansible για να τρέξουμε την εγκατάσταση του Tomcat με έναν αυτοματοποιημένο και επαναχρησιμοποιήσιμο τρόπο:
To μόνο πια που απομένει είναι να μεταφέρουμε τα WARs activiti-explorer.war, activiti-rest.war του Activiti distribution στον κατάλογο /var/lib/tomcat7/webapps και να δούμε τις sample BPMN διαδικασίες ή να κάνουμε deploy και τις δικές μας.

1 comment:

Paris Apostolopoulos said...

Ωραίος Σεραφείμ, να σημειώσουμε εδώ για την ιστορία, για όσους τώρα γνωρίζουν το Acitiviti, ότι το project προερχεται από την αρχική ομάδα που δημιουργησε το JBoss JBPM (μέχρι και την έκδοση 4). Μετά αποφάσισαν να αποσχιστούν, και να κάνουν την δική τους υλοποίηση, με εταιρικό 'πατέρα' την Alfresco. Οι developers που έχουν δουλέψει με παλιότερες εκδόσεις του JBPM θα βρουν αρκετές ομοιότητες και παρόμοιο programming model.

Welcome to open source , BPMN tools, αγαπητέ :D