bpmn abstraction tool · ÷ Η είσοδος της φάσης αυτής εκτός από το...

Post on 05-Aug-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ ΑΦΑΙΡΕΣΗΣ

ΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ

BPMN Abstraction Tool

Agenda

Δηµήτριος-Αλέξανδρος Σίνης

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Περιγραφή

� Εργαλείο για την αφαίρεση των επιχειρησιακών διαδικασιών

� Στοχεύει στη µείωση του µεγέθους και της πολυπλοκότητας των ΒΡΜΝ µοντέλων

� Συνεισφέρει θετικά στη διαχείριση των επιχειρησιακών διαδικασιών

Agenda

Δηµήτριος-Αλέξανδρος Σίνης

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Abstraction (Αφαίρεση)

� Δύο µέθοδοι αφαίρεσης:¡ Εξάλειψη (Elimination)¡ Συνένωση (Aggregation)

� Για να εφαρµοσθεί η αφαίρεση πρέπει να πληρούνται ορισµένες προϋποθέσεις¡ Κανόνες αφαίρεσης

� Η αφαίρεση εφαρµόζεται στα συστατικά στοιχεία των BPMN µοντέλων¡ Όχι µόνο στα activities, αλλά και στα data, στους

participants, στα artifacts κ.ο.κ

Κανόνες Αφαίρεσης

� Αφαίρεση στα Lanes� Αφαίρεση στα Text Annotations� Αφαίρεση στα Data Objects� Αφαίρεση στα Message Flows� Αφαίρεση στα Paths� Αφαίρεση στα Tasks

*ΟΙ ΚΑΝΟΝΕΣ ΕΦΑΡΜΟΖΟΝΤΑΙ ΜΕ ΤΗΝ ΣΕΙΡΑ ΠΟΥ ΑΝΑΦΕΡΟΝΤΑΙ ΠΑΡΑΠΑΝΩ

Αφαίρεση στα Lanes

� Lane: αντιπροσωπεύει κάποιο ρόλο ενός Participant

� ΒΡΜΝ στοιχείο: Lane� Abstraction Object: Role� Συνθήκη: Lanes που αφορούν σε διαφορετικούς ρόλους του ίδιου Participant

� Μέθοδος αφαίρεσης: Συνένωση� Ο κανόνας συνενώνει όλα τα lane sets που υπάρχουν στο διάγραµµα

Αφαίρεση στα Lanes

Αφαίρεση στα Lanes

Αφαίρεση στα Text Annotation

� Κείµενο για σχόλια/επιπλέον πληροφορίες� ΒΡΜΝ στοιχείο: Text Annotation� Abstraction Object: Text Annotation� Συνθήκη: Πάντα� Μέθοδος αφαίρεσης: Εξάλειψη

Αφαίρεση στα Text Annotation

Αφαίρεση στα Tasks 1

� ΒΡΜΝ στοιχείο: Sequence� Abstraction Object: Task� Συνθήκη:

¡ Ακολουθίες από Tasks ίδιου τύπου ¡ Χρησιµοποιούν όλα τα ίδια Data Objects ή κανένα δε χρησιµοποιεί κάποιο Data Object

¡ Θέτονται σε ενέργεια από το ίδιο event¡ Εκτελούνται από ίδιο Participant

� Μέθοδος αφαίρεσης: Συνένωση

Αφαίρεση στα Tasks 1:Κατηγορίες Ακολουθιών από Tasks

� Ακολουθίες ενδιάµεσα σε Events

� Ακολουθίες ενδιάµεσα σε Gateways

Αφαίρεση στα Tasks 1:Κατηγορίες Ακολουθιών από Tasks

� Ακολουθίες ενδιάµεσα σε Sub-Processes

Αφαίρεση στα Tasks 1:Κατηγορίες Ακολουθιών από Tasks

� Ακολουθίες που δεν έχουν εισερχόµενο sequence flow ή

� Ακολουθίες που δεν έχουν εξερχόµενο sequence flow

Αφαίρεση στα Tasks 1:Κατηγορίες Ακολουθιών από Tasks

� Ακολουθίες ενδιάµεσα σε συνδυασµό των παραπάνω κατηγοριών

Αφαίρεση στα Tasks 1

Αφαίρεση στα Tasks 2

� ΒΡΜΝ στοιχείο: Task� Abstraction Object: Task� Συνθήκη:

¡ Είναι τύπου Business Rule, Manual ή Script¡ Δεν εµπλέκονται σε ανταλλαγή µηνυµάτων¡ Δεν παράγουν data outputs

� Μέθοδος αφαίρεσης: Εξάλειψη

Αφαίρεση στα Tasks 2

Αφαίρεση στα Data Objects 1

� ΒΡΜΝ στοιχείο: Data Object� Abstraction Object: Data� Συνθήκη: Ένα data object συνδέεται σε ένα

µόνο flow element� Μέθοδος αφαίρεσης: Εξάλειψη

Αφαίρεση στα Data Objects 2

� ΒΡΜΝ στοιχείο: Data Object� Abstraction Object: Data� Συνθήκη: Παραπάνω από ένα data objects ίδιου τύπου συνδέονται στο ίδιο flow element

� Μέθοδος αφαίρεσης: Συνένωση

Αφαίρεση στα Data Objects 3

� ΒΡΜΝ στοιχείο: Data Object� Abstraction Object: Data� Συνθήκη: Παραπάνω από ένα data objects ίδιου τύπου συνδέονται σε ακολουθία από Tasks

� Μέθοδος αφαίρεσης: Συνένωση

Αφαίρεση στα Data Objects

Αφαίρεση στα Data Objects

Αφαίρεση στα Data Objects

Αφαίρεση στα Message Flows

� ΒΡΜΝ στοιχείο: Message Flow� Abstraction Object: Message� Συνθήκη: Ανταλλάσσονται παραπάνω από ένα

µηνύµατα¡ Ανάµεσα σε δύο συγκεκριµένα µέρη του process (Task ,

event, sequence, pool, loop, expanded sub-process)¡ Κάθε µέρος του process ανήκει σε διαφορετικό

participant¡ Εισερχόµενα προς το ένα και εξερχόµενα προς το άλλο

� Μέθοδος αφαίρεσης: Συνένωση

Αφαίρεση στα Message Flows

Αφαίρεση στα Message Flows

Αφαίρεση στα Paths

� Αρχικά τα πρέπει να εντοπιστούν τα paths� Στη συνέχεια σε κάθε path εφαρµόζεται η αφαίρεση για τα Tasks

Αφαίρεση στα Paths 1

� ΒΡΜΝ στοιχείο: Gateway� Abstraction Object: Path� Συνθήκη:

¡ Ενδιάµεσα σε Gateways ¡ Περιέχουν πάνω από ένα Task¡ Εκτελούνται από τον ίδιο Participant¡ Το πλήθος των εξερχοµένων του ενός ισούται µε το πλήθος των εισερχοµένων του άλλου

� Μέθοδος αφαίρεσης: Συνένωση

Αφαίρεση στα Paths 1

Αφαίρεση στα Paths 2

� ΒΡΜΝ στοιχείο: Event� Abstraction Object: Path� Συνθήκη:

¡ Ξεκινούν µε Start ή Intermediate Event¡ Καταλήγουν σε Intermediate ή End Event¡ Περιέχουν πάνω από ένα Task¡ Εκτελούνται από τον ίδιο Participant

� Μέθοδος αφαίρεσης: Συνένωση

Αφαίρεση στα Paths 2

Αφαίρεση στα Paths 3

� ΒΡΜΝ στοιχείο: Loop� Abstraction Object: Path� Συνθήκη:

¡ Κάθε loop συνοδεύεται από µια συνθήκη, η οποία όσο είναι αληθής, το loop εκτελείται

¡ Ένα Gateway αντιπροσωπεύσει µια συνθήκη¡ Περιέχουν πάνω από ένα Task

� Μέθοδος αφαίρεσης: Συνένωση

Αφαίρεση στα Paths 3

Είδη/Επιλογές Αφαίρεσης στα πλαίσια της εφαρµογής

� Default/Global Abstraction¡ Εξαλείφει και συνενώνει τα όλα τα υποψήφια προς αφαίρεση στοιχεία χωρίς να υπάρξει αλληλεπίδραση µε το χρήστη

¡ Δε λαµβάνει υπόψη επιλεκτικά κάποιο σηµείο του διαγράµµατος, ούτε και κάποιο συγκεκριµένο είδος στοιχείου

� Selective/Local Abstraction¡ Δίνει τη δυνατότητα να ορίσει ο χρήστης σε ποιο σηµείο του µοντέλου θα γίνει η αφαίρεση(πχ σε µέσα σε ένα µεγάλο loop µόνο) και ποια είδη στοιχείων (πχ τα lanesµόνο) θα αφαιρεθούν

¡ Αξιολογεί ένα προς ένα τα στοιχεία, αν θα εξαλειφθούν, αν θα συνενωθούν ή αν θα µείνουν ως έχουν

Agenda

Δηµήτριος-Αλέξανδρος Σίνης

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Λειτουργικότητα του εργαλείου

� Παίρνει σαν είσοδο ένα αρχικό µοντέλο BPMN � Στο αρχικό µοντέλο εφαρµόζει τους κανόνες της αφαίρεσης

� Δίνει σαν έξοδο ένα άλλο µοντέλο στο οποίο έχει εφαρµοστεί η αφαίρεση

� Το τελικό µοντέλο συσχετίζεται µε το αρχικό, αφού στην ουσία πρόκειται για µια απλούστερη µορφή του

� Δίνει σαν έξοδο, επίσης, τα στατιστικά στοιχεία της αφαίρεσης

� Παρέχει τη δυνατότητα της επιπλέον επεξεργασίας, µέσω της οποίας ο χρήστης επιλέγει σε ποια στοιχεία του µοντέλου επιθυµεί να γίνει η αφαίρεση

Βασικές λειτουργίες του εργαλείου

1. Κατασκευή ενός BPMN µοντέλου2. Ανέβασµα αρχείου που περιέχει ένα ΒΡΜΝ

µοντέλο3. Αναζήτηση στο Ιστορικό4. Εφαρµογή της Default/Global Abstraction5. Εφαρµογή της Selective/Local Abstraction6. Υπολογισµός στατιστικών7. Αποθήκευση µοντέλου στη Βάση Δεδοµένων8. Αποθήκευση µοντέλου στον υπολογιστή του χρήστη

1.Κατασκευή BPMN µοντέλου

� O χρήστης κατασκευάζει εκείνη την ώρα το µοντέλο¡ Οδηγείται στο site bpmn.io για να κατασκευάσει το

µοντέλο

� Έξοδος¡ Το µοντέλο που σχεδιάζει ο χρήστης¡ Το µοντέλο γράφεται σε αρχείο που αποθηκεύεται στον υπολογιστή του χρήστη

¡ Το αρχείο αυτό είναι µια από τις επιλογές εισόδου της επόµενης λειτουργίας

2.Ανέβασµα αρχείου που περιέχει ένα ΒΡΜΝ µοντέλο

� Είσοδος¡ Το αρχείο .bpmn στο οποίο περιέχεται το ΒΡΜΝ µοντέλο ¡ Μπορεί να έχει παραχθεί από την προηγούµενη διαδικασία

� Έλεγχος ¡ Ύπαρξη αρχείου¡ Μορφή αρχείου (.bpmn ή .bpmn2)¡ Επανάληψη διαδικασίας µέχρι να ολοκληρωθεί σωστά το ανέβασµα

� Έξοδος¡ Το αρχείο ανεβασµένο στον server

3.Αναζήτηση στη Ιστορικό

� Είσοδος¡ Το αρχείο που εισήχθη

� Έλεγχος¡ Αν το µοντέλο που περιέχει το αρχείο έχει υποστεί ήδη επεξεργασία

¡ Αναζήτηση στη ΒΔ¡ Αποτέλεσµα

÷ Το πολύ δύο µοντέλα και δύο σετ από στατιστικά¢ Κανένα αποτέλεσµα από τη ΒΔ¢ Default/Global Abstraction¢ Default/Global Abstraction και Selective/Local Abstraction

� Έξοδος¡ Ο χρήστης µπορεί να δει και να αποθηκεύσει όποιο αποτέλεσµα θέλει ή να τα αγνοήσει

¡ Το µοντέλο και τα στατιστικά που θα επιλέξει

4.Εφαρµογή της Default/Global Abstraction

� Είσοδος¡ Το µοντέλο που περιέχεται στο αρχείο

� Έλεγχος¡ Αν το µοντέλο δεν είναι έγκυρο σύµφωνα µε την Camunda 7.5¡ Ανέβασµα ενός αρχείου που περιέχει έγκυρο µοντέλο

� Λειτουργικότητα¡ Γίνεται σε δύο φάσεις (Εδώ δεν είναι διακριτές)¡ Ορίζονται τα υποψήφια προς αφαίρεση στοιχεία ύστερα από την εφαρµογή των κανόνων αφαίρεσης

¡ Συνενώνονται ή εξαλείφονται όλα� Έξοδος

¡ Το µοντέλο µετά την εφαρµογή της Default/Global Abstraction

5.Εφαρµογή της Selective/Local Abstraction

� Είσοδος¡ Το µοντέλο που περιέχεται στο αρχείο

� ΛειτουργικότηταΓίνεται σε δύο φάσεις, που σε αυτό το σηµείο είναι διακριτές

¡ Φάση 1÷ Ορίζονται τα υποψήφια προς αφαίρεση στοιχεία÷ Παρουσιάζονται στο χρήστη÷ Του ζητείται να αποδεχτεί ή να απορρίψει την αφαίρεση για κάθε στοιχείο

÷ Η έξοδος της φάσης αυτής είναι οι επιλογές του χρήστη¡ Φάση 2

÷ Η είσοδος της φάσης αυτής εκτός από το µοντέλο είναι και η έξοδος της φάσης 1

÷ Συνενώνονται, εξαλείφονται ή παραµένουν όποια στοιχεία επιθυµεί ο χρήστης.

� Έξοδος¡ Το µοντέλο µετά την εφαρµογή της Selective/Local Abstraction

6.Υπολογισµός Στατιστικών

� Είσοδος¡ Το µοντέλο πριν την αφαίρεση¡ Το µοντέλο µετά την αφαίρεση

� Έξοδος¡ Ποσοστό µείωσης στοιχείων για:

÷ Lanes÷ Tasks÷ Message Flows÷ Data÷ Text Annotation÷ Total

¡ Παρουσιάζεται παράλληλα µε τις εξόδους των 3,4,5 λειτουργιών

7.Αποθήκευση µοντέλου στη ΒΔ

� Η λειτουργία αυτή συµβαίνει ανεξάρτητα από τις επιλογές του χρήστη

� Tα µοντέλα που παράγονται και ενώ υπάρχουν ήδη, ενηµερώνονται στη ΒΔ µε την τελευταία έκδοση¡ Όµοια και για τα στατιστικά

� Tα µοντέλα που παράγονται από τις λειτουργίες 4 και 5 αποθηκεύονται στη βάση δεδοµένων¡ Όµοια και για τα στατιστικά

8.Αποθήκευση µοντέλου στον υπολογιστή του χρήστη

� Τα µοντέλα που παράγονται ως έξοδοι των λειτουργιών 3,4 και 5 αποθηκεύονται σε αρχεία αν το επιθυµεί ο χρήστης¡ Η αποθήκευση γίνεται σε προκαθορισµένο φάκελο¡ Αν δεν επιθυµεί, τα µοντέλα δεν αποθηκεύονται στον υπολογιστή του

Agenda

Δηµήτριος-Αλέξανδρος Σίνης

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Αρχιτεκτονική εργαλείου

� client-server technology � 3-tier architecture

Αρχιτεκτονική 3 επιπέδων

� Επίπεδο 1 (Presentation Layer)¡ Browsers για πρόσβαση στην εφαρµογή¡ Μετατροπή του κώδικα των jsp σελίδων (σε µορφή κατανοητή από τον χρήστη)

¡ Οπτικοποίηση διαγραµµάτων (bpmn.io)� Επίπεδο 2 (Business Logic Layer)

¡ Web Server: Apache Tomcat version 8.0.24¡ Jsp σελίδες¡ Java program (application)¡ Επικοινωνία µε τη βάση δεδοµένων

� Επίπεδο 3 (Database Services Layer)¡ PostgreSQL

Αρχιτεκτονική 3 επιπέδων

� Προγραµµατιστικό περιβάλλον ¡ Eclipse Neon, Java EE Developer Edition¡ Apache Tomcat 8.0.24¡ JDBC driver

Προγραµµατισµός στον server

� Server-side programs¡ Java

÷ Servlets÷ JSPs

� Client-side programs¡ scripts που έχουν γραφεί στις JSP σελίδες µε Scriplet

Το εργαλείο ως Web εφαρµογή

� Client-Server Technology� 3-tier Architecture� Java� Servlets & JSP pages� HTTP protocol over TCP/IP� JavaScript� Scriplet� CSS

Προγράµµατα, Βιβλιοθήκες, jar files κ.ά.

¡ Eclipse Neon, Java EE Developer Edition¡ Apache Tomcat 8.0.24¡ Camunda 7.5, για παροχή διεπαφών του ΒΡΜΝ στη Java¡ git, npm & bower¡ bpmn-io/bpmn-js, για προβολή µοντέλων¡ Refresher for Eclipse ¡ Jar files για το ανέβασµα αρχείου (common-io-2.4 &

common-fileupload-1.2.2)¡ PostgreSQL Database 9.6

Agenda

Δηµήτριος-Αλέξανδρος Σίνης

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

Ας δούµε και την εφαρµογή…

Agenda

Δηµήτριος-Αλέξανδρος Σίνης

Θεωρητικό Υπόβαθρο� Εισαγωγή� Αφαίρεση BPMN Μοντέλων

Παρουσίαση Εργαλείου� Λειτουργικότητα� Αρχιτεκτονική και Τεχνολογίες� Επίδειξη� Στάδια Ανάπτυξης

1.Καθορισµός απαιτήσεων

� Για το εργαλείο που αναπτύχτηκε� Για το πλάνο εργασίας και το χρονοδιάγραµµα

2.Διάβασµα Βιβλιογραφίας

� Για το πρότυπο µοντελοποίησης επιχειρησιακών διαδικασιών BPMN 2.0

� Για τους κανόνες αφαίρεσης επιχειρησιακών διαδικασιών

3.Σχεδιασµός

� Λειτουργικότητα και λειτουργικές προδιαγραφές του εργαλείου

� Αρχιτεκτονική του εργαλείου� Διαγράµµατα UML

¡ Activity¡ Class¡ Component¡ Deployment

4.Προπαρασκευαστικό στάδιο για την υλοποίηση του εργαλείου

� Διάβασµα για τις γλώσσες προγραµµατισµού του εργαλείου

� Εγκατάσταση προγραµµάτων, βιβλιοθηκών, server, plug-ins και κάποιων ήδη υλοποιηµένων προγραµµάτων

5.Σκελετός εφαρµογής

� Κατασκευή JSP σελίδων� Servlets� web.xml αρχείο, που ορίζει το πώς θα καλείται το κάθε servlet

� Σύνδεση της εφαρµογής µε τον Server� Δοκιµαστικές εφαρµογές, για την αλληλουχία των σελίδων και την επιβεβαίωση της ορθής λειτουργίας των servlets

6.Ενασχόληση µε τη βιβλιοθήκη για την BPMN 2.0

� Έρευνα για την επιλογή της καταλληλότερης� Επιλογή βιβλιοθήκης και εγκατάσταση αυτής� Μελέτη της βιβλιοθήκης για:

¡ Parsing bpmn αρχείων¡ Συµπεριλαµβανόµενες κλάσεις¡ Διαχείριση των µοντέλων και των συστατικών στοιχείων της

bpmn¡ Τροποποίηση µοντέλων¡ Γράψιµο µοντέλων σε αρχείο¡ Εντοπισµό ελλείψεων και ανάλογος χειρισµός αυτών¡ Δοκιµές

7.Υλοποίηση κλάσεων

� Κώδικας για τον εντοπισµό και τη διαχείριση µονοπατιών µέσα στο µοντέλο

� Κώδικας για τους κανόνες αφαίρεσης, που επιστρέφουν τα υποψήφια για αφαίρεση στοιχεία

� Κώδικας για την εφαρµογή της αφαίρεσης στα στοιχεία αυτά

� Κώδικας για υπολογισµό των στατιστικών της αφαίρεσης

� Κατασκευή αρχείων .bpmn για την επαλήθευση της ορθής λειτουργίας

8.Προβολή και κατασκευή µοντέλων

� Προβολή µοντέλων¡ Εγκατάσταση npm και bower¡ Προσθήκη έτοιµου κώδικα javascript¡ Προσθήκη refresher και χρονοκαθυστέρησης για την προβολή των µοντέλων

� Κατασκευή µοντέλων¡ Προσθήκη υπερσυνδέσµου στην εφαρµογή που µεταφέρει τον πελάτη σε κάποιο site για την κατασκευή µοντέλων

9.Βάση Δεδοµένων

� Σύνδεση της εφαρµογής µε µία βάση δεδοµένων¡ Για αποθήκευση µοντέλων που έχουν υποστεί αφαίρεση ¡ Για αποθήκευση στατιστικών στοιχείων¡ Για αποφυγή της επεξεργασίας ενός ήδη επεξεργασµένου αρχείου κατά το παρελθόν

¢ Ανάκτηση αρχείου και στατιστικών

10.Εµφάνιση της εφαρµογής

� Προσθήκη CSS στις JSP σελίδες για την εµφάνιση του εργαλείου στο χρήστη¡ Επιλογή γραµµατοσειράς¡ Φόντου¡ Χρωµάτων¡ Και άλλα

Ερωτήσεις

ΠΑΡΟΥΣΙΑΣΗ ΕΡΓΑΛΕΙΟΥ ΑΦΑΙΡΕΣΗΣΕΠΙΧΕΙΡΗΣΙΑΚΩΝ ΔΙΑΔΙΚΑΣΙΩΝ

BPMN Abstraction Tool

top related