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 notaie grafic (standard) menit s defineasc procesele de afaceri dintr-un workflow.
Proces de afaceri = colecie de activiti nrudite ce produce un anumit produs sau serviciu pentru un anumit client/clieni. Workflow = secven de operaii, abstractizarea unei activiti concrete, ablon de activitate ncapsulat intr-un proces, n vederea integrrii acestuia intr-un sistem.

Preambul(3)

Folosirea unei astfel de notaii confer un limbaj comun, ce poate fi folosit att de ctre utilizatorul tehnic, ct i de utilizatorul de business, pstrnd n acelai timp nealterat semantica procesului de afaceri.

Scurt istoric
Standardul BPMN a fost creat de ctre 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, urmnd ca n scurt timp un update la specificaia s apar sub numele de BPMN 2.0

Introducere
Informaiile prezentate fac parte din cadrul specificaiei BPMN 1.2 beta 3. Scopul este acela de a prezenta notaiile i semantica unei diagrame proces de afaceri (Business Process Diagram). Un alt obiectiv este acela de asigura ca limbajele XML proiectate pentru execuia proceselor de afaceri (ex. BPEL4WS ) pot fi vizualizate cu o notaie business oriented.

Contextul general(1)
Volumul de munc depus n ultimii ani n ceea ce privete dezvoltarea de limbaje de execuie, axate pe servicii web XML, ca parte integrant a sistemelor BPM (Business Process Management) a scos n eviden anumite discrepane. Un prim argument l constitue faptul c aceste limbaje sunt orientate exclusiv pe interrelaionarea dintre sistemele BPM, monitorizarea i proiectarea unor astfel de procese de afaceri de ctre 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 aprut necesitatea existenei unei interoperabiliti i portabiliti la un nivel "human friendly". Soluia la aceast problem fiind dat de standardul BPMN. Chiar dac aceast specificaie ncearc s creeze o notaie 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 ctre limbajele de execuie aparinnd sistemelor BPM.

Contextul general(3)
O delimitare a scopului prezentei specificaii este necesar. Business Process Modeling Notation este proiectat numai pentru a transpune conceptele de modelare ce fac subiectul proceselor de afaceri. Astfel nct alte tipuri de modelri 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, urmnd ca n viitorul apropiat o form final s fie propus.

Modelul BPMN
Procesele de afaceri private sunt acele procese specifice unei anumite organizaii i sunt acele tipuri de procese care au fost generic denumite "workflow"-uri sau procese BPM. Un singur proces privat poate fi mapat ctre unul sau mai multe documente BPEL4WS. Procesele abstracte reprezint interaciunea dintre un proces privat i un alt proces sau participant.Numai acele activiti ce sunt destinate comunicrii cu exteriorul procesului privat, n concordan cu mecanismele corespunztoare de control ale "flow"-ului, vor fi incluse n procesul abstract. Astfel, procesul abstract arat "lumii exterioare" doar secvenele de mesaje ce sunt destinate exclusiv interacionrii cu procesul privat curent.

Modelul BPMN
Procesele de colaborare. Un proces global reprezint interaciunile dintre dou sau mai multe entiti de tip "business". Aceste interaciuni sunt definite ca o secven de activiti ce reprezint ??abloanele de tip "message -exchange" dintre entitile 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. ntlnim trei subcategorii:
Evenimente Activiti Gateway-uri

Elemente de baz ale BPD


Exist trei modaliti prin care obiectele de tip "flow" pot fi interconectate ntre ele sau cu alte informaii.Exist trei tipuri de obiecte de conectare (Connecting Objects):
Sequence Flow Message Flow Association

Elemente de baz ale BPD


n ceea ce privete gruparea elementelor primare de modelare exist dou modaliti prin intermediul aa 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 adugate orict de mult, n funcie de necesitatea modelrii.

Elemente de modelare de baz


Eveniment
un eveniment este ceva care se petrece n timpul desfurrii unui proces de afaceri. Acest eveniment afecteaz "flow"-ul ntregului proces i de obicei exist o cauz,un declanator ("trigger"). Ca notaie grafic, un eveniment este reprezentat printr-un cerc.Exist trei tipuri de evenimente n funcie de momentul n care intervin n "flow", astfel avem:
Eveniment de inceput Eveniment intermediar Eveniment de sfrit

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 activiti, acestea fiind:
Proces (este coninut n cadrul elementului "Pool") Subproces Task

Elemente de modelare de baz


Gateway Acest element este folosit pentru a controla divergena i convergena caracteristic "Sequence Flow"-ului.Va determina operaii ca divizare ("forking"), contopire ("merging") i unire ("joining").

Elemente de modelare de baz


"Sequence Flow Este folosit pentru a evidenia ordinea n care activitile se vor desfura ntr-un proces.

Elemente de modelare de baz


"Message Flow Relev "flow"-ul de mesaje existent ntre doi participani. Cei doi participani vor fi reprezentai ntr-un BPD ca dou elemente "Pool" separate.

Elemente de modelare de baz


Asocierea Folosit la asocierea informaiei 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 privete partiionarea unei mulimi de activiti prezente n cadrul altor elemente de tip "Pool". Astfel de situaii se ntlnesc mai ales in contextul B2B ("Business to Business").

Elemente de modelare de baz


"Lane Este o subpartiie n cadrul unui element "Pool" ce va extinde ntregul "Pool", fie pe vertical sau pe orizontal. Sunt folosite pentru a organiza si structura activitile.

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 informaii n legtur cu activitile ce trebuie efectuate i mai ales descriu rezultatul acelor activiti, ceea ce se produce.

Elemente de modelare de baz


"Group Este un chenar ce cuprinde o mulime (grup) de obiecte din cadrul aceleai categorii. Folosirea acestui element este o modalitate prin care categorii de obiecte pot fi afiate n cadrul unei diagrame.

Elemente de modelare de baz


Adnotari textuale Se anexeaz de obicei asocierilor. Sunt un mecanism prin care proiectantul poate furniza informaii 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 dein declanatori, ce definesc cauza instanierii evenimentului.Exist o serie intreag prin care aceste evenimente pot fi declanate. Evenimentele de tip Sfrit pot definii un rezultat, ce va fi un direct corespondent al terminarii "Sequence Flow"ului. Evenimentele de tip Start pot reaciona la un declanator (il pot prinde - "catch"). Evenimentele de tip Sfarsit pot doar s creeze un rezultat ( s arunce "throw"). Iar evenimentele Intermediare pot prinde sau arunca declanatori.

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 cnd 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 nelegem faptul c respectiva activitate poate fi descompus la un nivel mult mai detaliat prin intermediul unui set de subactiviti.

Setul extins de elemente BPD


Subprocese de tip "collapsed Detaliile subproceselor nu sunt vizibile n diagram. Semnul plus din partea de jos a figurii semnificnd 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 delimitri. Totui, trebuie de reinut 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 Condiii complexe "Forking" paralel i unificare Fiecare tip de control afecteaz att 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 activiti via ci paralele sau alternative, pn cnd ajunge la un eveniment de tip Sfrsit ("End").

Setul extins de elemente BPD


Fluxul necontrolat ("Uncontrolled flow") - este fluxul care nu a fost afectat de nici o condiie sau care nu trece printr-un gateway.

Setul extins de elemente BPD


Fluxul condiional "Sequence flow"-ul poate avea expresii condiionale ce sunt evaluate la runtime n vederea determinrii utilizrii fluxului.

Setul extins de elemente BPD


Fluxul default Pentru deciziile "data-based" sau pentru deciziile "inclusive",un tip de flux este chiar condiia default. Acest flux doar dac toate celelate fluxuri condiionale de ieire nu sunt adevrate (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 desfurrii procesului curent.

Setul extins de elemente BPD


"Fork

Acest termen este asociat noiunii 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 activitile pot fi executate concurent, n detrimentul execuiei secveniale. Exist dou opiuni: construirea de fluxuri secveniale de iesire multiple, metoda cea mai des folosit; adoptarea unui gateway paralel, de obice utilizat in combinaii cu alte gateway-uri;

Setul extins de elemente BPD


Join
Definete combinarea a dou sau mai multe ci paralele n una singur ("Joining Flow"). Se va folosii un gateway paralel.

Setul extins de elemente BPD


Decizii i puncte de branament Deciziile sunt gateway-uri n cadrul unui proces de afaceri unde fluxul de control poate lua una sau mai multe ci 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 aparinnd 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 secvenial
Pot fi create ciclri prin conectarea unui flux secvenial la un obiect de tip "upstream". Un obiect este considerat de tip "upstream" dac acel obiect are un flux secvenial de ieire ce conduce la o serie intreag de alte fluxuri secveniale, ultimul din aceast serie fiind un flux secvenial de intrare asociat obiectului original.

Setul extins de elemente BPD


Tranzacie

Este un subproces ce este implementat,suportat de un protocol special ce se asigur c toate prile implicate sunt de acord cu terminarea sau anularea unei activiti. Atributele activitii vor hotr dac este sau nu o tranzacie.

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

Sfrit
ntrebri?