Business Process Modeling Notation
(BPMN)
IonuŃ Apetrei Master ISS,an:I
Prezentare sustinuta in cadrul Cercului de cercetare BPM Facultatea de Informatica, Univ. “Al.I.Cuza” Iasi
http://profs.info.uaic.ro/~alaiba/cercbpm
Preambul(1)
Ce este BPMN?
De ce avem nevoie de el?
Preambul(2)
BPMN reprezintă o notaŃie grafică (standard) menită să definească procesele de afaceri dintr-un “workflow”.
Proces de afaceri = colecŃie de activităŃi înrudite ce produce un anumit produs sau serviciu pentru un anumit client/clienŃi.
“Workflow” = secvenŃă de operaŃii, abstractizarea unei activităŃi concrete, şablon de activitate încapsulat intr-un proces, în
vederea integrării acestuia intr-un sistem.
Preambul(3)
Folosirea unei astfel de notaŃii conferă un limbaj comun, ce poate fi folosit atât de către utilizatorul tehnic, cât şi de utilizatorul de business, păstrând în acelaşi timp nealterată semantica procesului de afaceri.
Scurt istoric
Standardul BPMN a fost creat de către BPMI (Business Process Management Initiative )
Scopul declarat este acela de a unii cele două faze
separate (cea de proiectare a unui proces de afaceri şi cea de implementare)
În 2005 BPMI şi OMG(Object Management Group) au fuzionat, versiunea curentă fiind BPMN 1.1, urmând ca în scurt timp un update la specificaŃia să apară sub
numele de BPMN 2.0
Introducere
InformaŃiile prezentate fac parte din cadrul specificaŃiei BPMN 1.2 beta 3.
Scopul este acela de a prezenta notaŃiile şi semantica unei diagrame proces de afaceri (Business Process Diagram).
Un alt obiectiv este acela de asigura ca limbajele XML proiectate pentru execuŃia proceselor de afaceri (ex.
BPEL4WS ) pot fi vizualizate cu o notaŃie “business oriented”.
Contextul general(1)
Volumul de muncă depus în ultimii ani în ceea ce
priveşte dezvoltarea de limbaje de execuŃie, axate pe servicii web XML, ca parte integrantă a sistemelor BPM (Business Process Management) a scos în evidenŃă
anumite discrepanŃe.
Un prim argument îl constitue faptul că aceste limbaje sunt orientate exclusiv pe interrelaŃionarea dintre
sistemele BPM, monitorizarea şi proiectarea unor astfel de procese de afaceri de către utilizatorul uman fiind
destul de redusă, scopul declarat al acestor limbaje fiind acela de a conferii modele matematice formale şi de a profita de beneficiile serviciilor web.
Contextul general(2)
Astfel a apărut necesitatea existenŃei unei
interoperabilităŃi şi portabilităŃi la un nivel "human friendly". SoluŃia la această problemă fiind dată de standardul BPMN. Chiar dacă această specificaŃie
încearcă să creeze o notaŃie grafică general acceptată de cei care supraveghează şi proiectează procesele de afaceri, se pune un accent destul de important şi pe
maparea diagramelor de proces către limbajele de execuŃie aparŃinând sistemelor BPM.
Contextul general(3)
O delimitare a scopului prezentei specificaŃii este
necesară. “Business Process Modeling Notation”
este proiectat numai pentru a transpune conceptele de modelare ce fac subiectul proceselor de afaceri. Astfel încât alte tipuri de modelări ca modele de date,
organigrame, administrarea resurselor, strategii si reguli de afaceri nu intră în sfera de interes a standardului
BPMN.
Modelul BPMN
In ceea ce priveste modelul BPMN exista trei subtipuri principale:
Procese de afaceri private, cunoscute şi sub numele de procese interne.
Procese abstracte, sau publice.
Procese de colaborare, sau globale
Notă: aceste subtipuri încă nu au fost standardizate, urmând ca în viitorul apropiat o formă finală să fie propusă.
Modelul BPMN
Procesele de afaceri private sunt acele procese specifice unei anumite organizaŃii şi sunt acele tipuri de procese care au fost generic denumite "workflow"-uri sau procese BPM. Un singur proces privat poate fi mapat către unul sau mai multe documente BPEL4WS.
Procesele abstracte reprezintă interacŃiunea dintre un proces privat şi un alt proces sau participant.Numai
acele activităŃi ce sunt destinate comunicării cu exteriorul procesului privat, în concordanŃă cu mecanismele
corespunzătoare de control ale "flow"-ului, vor fi incluse în procesul abstract. Astfel, procesul abstract arată "lumii exterioare" doar secvenŃele de mesaje ce sunt destinate exclusiv interacŃionării cu procesul privat curent.
Modelul BPMN
Procesele de colaborare. Un proces global reprezintă interacŃiunile dintre două sau mai multe entităŃi de tip
"business". Aceste interacŃiuni sunt definite ca o
secvenŃă de activităŃi ce reprezintă ??şabloanele de tip
"message -exchange" dintre entităŃile implicate. Cu alte cuvinte un proces global poate fi privit ca două sau mai multe procese abstracte ce comunică intre ele.
Business Process Diagram
In cadrul şi între cele trei submodele BPMN pot fi create o serie întreagă de diagrame (BPD). Vom prezenta o lista cu tipurile de procese de afaceri ce pot fi modelate cu ajutorul standardului BPMN
:
Activitati apartinand proceselor private de nivel inalt.
Procese private detaliate
Procese private detaliate ce interactioneaza cu unu sau mai multe entitati externe ( sau procese
"Black Box").
Business Process Diagram
Doua sau mai multe procese private detaliate interactionand.
Proces privat detaliat in relationare cu un proces abstract.
Proces privat detaliat in relationare cu un proces de colaborare.
Doua sau mai multe procese abstracte.
Proces abstract in relationare cu un proces de colaborare.
Numai procese de colaborare.
Business Process Diagram
Doua sau mai multe procese private detaliate interactionand prin intermediul propriilor procese abstracte.
Doua sau mai multe procese private detaliate interactionand prin intermediul unui proces de colaborare.
Doua sau mai multe procese private detaliate interactionand prin intermediul propriilor procese abstracte si cu un proces de colaborare.
Elemente de baz ă ale BPD
Cele patru categorii principale de elemente sunt:
“Flow Objects”
“Connecting Objects”
“Swimlanes”
“Artifacts”
Elemente de baz ă ale BPD
Obiectele de tip "flow" sunt principalele elemente grafice ce ajută la definirea comportamentului proceselor de afaceri. Întâlnim trei subcategorii:
Evenimente
ActivităŃi
Gateway-uri
Elemente de baz ă ale BPD
Există trei modalităŃi prin care obiectele de tip "flow" pot fi interconectate între ele sau cu alte informaŃii.Există trei tipuri de obiecte de conectare (“Connecting Objects”):
Sequence Flow
Message Flow
Association
Elemente de baz ă ale BPD
În ceea ce priveşte gruparea elementelor primare de modelare există două modalităŃi prin intermediul aşa numitelor "Swimlanes“.
Pools
Lanes
Elemente de baz ă ale BPD
Artefactele ("Artifacts") sunt folosite cu scopul de a furniza informatii aditionale referitor la un proces.
Principalele artefacte prezente sunt:
Data Object
Group
Annotation
Artefactele pot fi adăugate oricât de mult, în funcŃie de necesitatea modelării.
Elemente de modelare de baz ă
Eveniment
un eveniment este ceva care se petrece în timpul desfăşurării unui proces de afaceri. Acest eveniment afectează "flow"-ul întregului proces şi de obicei există o cauză,un declanşator ("trigger"). Ca notaŃie grafică, un eveniment este reprezentat printr-un cerc.Există trei tipuri de evenimente în funcŃie de momentul în care
intervin în "flow", astfel avem:
Eveniment de inceput
Eveniment intermediar
Eveniment de sfârşit
Elemente de modelare de baz ă
Activitate
Este un termen generic pentru "munca" pe care o companie o efectuează. O activitate poate fi
atomică sau compusă. Există şi aici trei tipuri de activităŃi, acestea fiind:
Proces (este conŃinut în cadrul elementului "Pool")
Subproces
Task
Elemente de modelare de baz ă
Gateway
Acest element este folosit pentru a controla divergenŃa şi convergenŃa caracteristică
"Sequence Flow"-ului.Va determina operaŃii ca divizare ("forking"), contopire ("merging") şi unire ("joining").
Elemente de modelare de baz ă
"Sequence Flow“
Este folosit pentru a evidenŃia ordinea în care activităŃile se vor desfăşura într-un proces.
Elemente de modelare de baz ă
"Message Flow“
Relevă "flow"-ul de mesaje existent între doi
participanŃi. Cei doi participanŃi vor fi reprezentaŃi
într-un BPD ca două elemente "Pool" separate.
Elemente de modelare de baz ă
Asocierea
Folosită la asocierea informaŃiei cu obiectele de tip
"flow" ("Flow Objects").
Elemente de modelare de baz ă
"Pool“
Reprezintă un participant în cadrul unui proces, se comportă şi ca un "swimlane“ şi container grafic în ceea ce priveşte partiŃionarea unei mulŃimi de
activităŃi prezente în cadrul altor elemente de tip
"Pool". Astfel de situaŃii se întâlnesc mai ales in contextul B2B ("Business to Business").
Elemente de modelare de baz ă
"Lane“
Este o subpartiŃie în cadrul unui element "Pool" ce va extinde întregul "Pool", fie pe verticală sau pe orizontală. Sunt folosite pentru a organiza si
structura activităŃile.
Elemente de modelare de baz ă
"Data Object"
Sunt considerate artefacte, deoarece nu au impact direct asupra elementelor ca "Sequence Flow" sau
"Message Flow" din cadrul unui proces, dar
furnizează informaŃii în legătură cu activităŃile ce trebuie efectuate şi mai ales descriu rezultatul acelor activităŃi, ceea ce se produce.
Elemente de modelare de baz ă
"Group“
Este un chenar ce cuprinde o mulŃime (grup) de obiecte din cadrul aceleaşi categorii. Folosirea acestui element este o modalitate prin care categorii de obiecte pot fi afişate în cadrul unei diagrame.
Elemente de modelare de baz ă
Adnotari textuale
Se anexează de obicei asocierilor. Sunt un mecanism prin care proiectantul poate furniza informaŃii suplimentare pentru cititorul diagramei BPMN.
Setul extins de elemente BPD
Elementul "Eveniment" cu cele trei subcategorii
Start
(None,Message,Timer,Conditional,Signal, Multiple)
Intermediar
(None,Message,Timer,Error,Cancel, Compensation,Conditional,Link,Signal, Multiple)
Sfarsit (None,Message,Error,Cancel,
Compensation,Signal,Terminate,Multiple) Cele trei subelemente redau dimensiunea
flowului
Setul extins de elemente BPD
Evenimentele Start şi Intermediar deŃin declanşatori, ce definesc cauza instanŃierii evenimentului.Există o serie intreagă prin care aceste evenimente pot fi declanşate.
Evenimentele de tip Sfârşit pot definii un rezultat, ce va fi un direct corespondent al terminarii "Sequence Flow"- ului. Evenimentele de tip Start pot reacŃiona la un
declanşator (il pot prinde - "catch"). Evenimentele de tip Sfarsit pot doar să creeze un rezultat ( să arunce -
"throw"). Iar evenimentele Intermediare pot prinde sau arunca declanşatori.
Setul extins de elemente BPD
Setul extins de elemente BPD
Task
Este o activitate atomică ce este inclusă în cadrul unui proces. Un Task este folosit atunci când
munca din cadrul procesului nu este divizată la un nivel mai detaliat al PM-ului (Process Model).
Setul extins de elemente BPD
Proces/Subproces
Un subproces este o activitate compusă ce este inclusă în cadrul unui proces. Prin proprietatea de compunere înŃelegem faptul că respectiva
activitate poate fi descompusă la un nivel mult mai detaliat prin intermediul unui set de subactivităŃi.
Setul extins de elemente BPD
Subprocese de tip "collapsed“
Detaliile subproceselor nu sunt vizibile în diagramă. Semnul plus din partea de jos a
figurii semnificând că respectiva activitate este un subproces şi are un nivel mai detaliat decat cel de la pasul curent.
Setul extins de elemente BPD
Subprocese expandate
Limita unui subproces este expandată şi detaliile (un proces) sunt visibile în cadrul
respectivei delimitări. Totuşi, trebuie de reŃinut că elementul "Sequence Flow" nu poate
traversa limita unui subproces.
Setul extins de elemente BPD
Tipuri de control asociate elementului
"Gateway“
Tipurile de control includ:
Decizii exclusive şi de contopire (
"Data-Based" and "Event-Based")
Decizii de incluziune şi contopire
CondiŃii complexe
"Forking" paralel şi unificare
Fiecare tip de control afectează atât fluxul input, cat si fluxul output.
Setul extins de elemente BPD
"Sequence Flow“
Fluxul normal ("Normal flow") - face referinŃă la fluxul ce îşi are originea dintr-un eveniment de tip
Start şi continuă prin activităŃi via căi paralele sau alternative, până când ajunge la un eveniment de tip Sfârsit ("End").
Setul extins de elemente BPD
Fluxul necontrolat ("Uncontrolled flow") - este fluxul care nu a fost afectat de nici o condiŃie sau care nu trece printr-un gateway.
Setul extins de elemente BPD
Fluxul condiŃional
"Sequence flow"-ul poate avea expresii condiŃionale ce sunt evaluate la runtime în vederea determinării utilizării fluxului.
Setul extins de elemente BPD
Fluxul default
Pentru deciziile "data-based" sau pentru deciziile
"inclusive",un tip de flux este chiar condiŃia default.
Acest flux doar dacă toate celelate fluxuri
condiŃionale de ieşire nu sunt adevărate (valide) la runtime.
Setul extins de elemente BPD
Fluxul de exceptie
Acest flux apare în afara fluxului normal al procesului, fiind bazat pe un eveniment
intermediar ce apare în timpul desfăşurării procesului curent.
Setul extins de elemente BPD
"Fork“
Acest termen este asociat noŃiunii de divizare a unu traseu în două sau mai multe subtrasee paralele, cunoscut şi sub numele de "Forking Flow". Există locuri în cadrul unui
proces unde activităŃile pot fi executate concurent, în detrimentul execuŃiei secvenŃiale. Există două opŃiuni:
construirea de fluxuri secvenŃiale de iesire multiple, metoda cea mai des folosită;
adoptarea unui gateway paralel, de obice utilizat in combinaŃii cu alte gateway-uri;
Setul extins de elemente BPD
“Join”
Defineşte combinarea a două sau mai multe căi paralele în una singură ("Joining Flow"). Se va folosii un gateway paralel.
Setul extins de elemente BPD
Decizii şi puncte de branşament
Deciziile sunt gateway-uri în cadrul unui proces de afaceri unde fluxul de control poate lua una sau mai multe căi alternative.
Setul extins de elemente BPD
Ciclarea ("Looping")
BPMN oferă două mecanisme pentru ciclarea în cadrul unui proces.
Setul extins de elemente BPD
Ciclarea de tip activitate
Atributele aparŃinând unui task sau a unui
subprocess vor determina dacă sunt repetitive sau vor fi executate o singură dată.
Setul extins de elemente BPD
Ciclarea de tip flux secvenŃial
Pot fi create ciclări prin conectarea unui flux secvenŃial la un obiect de tip "upstream". Un obiect este considerat de tip "upstream" dacă acel obiect are un flux secvenŃial de ieşire ce conduce la o serie intreagă de alte fluxuri
secvenŃiale, ultimul din această serie fiind un flux secvenŃial de intrare asociat obiectului original.
Setul extins de elemente BPD
TranzacŃie
Este un subproces ce este implementat,suportat de un protocol special ce se asigură că toate părŃile
implicate sunt de acord cu terminarea sau anularea unei activităŃi. Atributele activităŃii vor hotărâ dacă este sau nu o tranzacŃie.
Ce urmeaz ă ?
Intr-o expunere ulterioară voi prezenta un
studiu de caz, mai exact implementarea
concretă a unui proces de afaceri folosind
standardul BPMN vs. 1.2
Sfâr ş it