Sunteți pe pagina 1din 53

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

 Acestflux 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

 Deciziilesunt 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

 AtributeleaparŃ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

 Întrebări?

S-ar putea să vă placă și