Servisnoorijentisano modelovanje softvera Prof dr Angelina Njegu Redovni

  • Slides: 56
Download presentation
Servisno-orijentisano modelovanje softvera Prof. dr Angelina Njeguš Redovni profesor na Univerzitetu Singidunum anjegus@singidunum. ac.

Servisno-orijentisano modelovanje softvera Prof. dr Angelina Njeguš Redovni profesor na Univerzitetu Singidunum anjegus@singidunum. ac. rs Beograd, 2019/2020.

Process Roadmap for Service. Oriented Architecture Development

Process Roadmap for Service. Oriented Architecture Development

Proces razvoja SO aplikacije

Proces razvoja SO aplikacije

Osnovni gradivni blokovi razvoja servisnoorijentisanih sistema

Osnovni gradivni blokovi razvoja servisnoorijentisanih sistema

Upravljanje poslovnim procesima (Business Process Management, BPM) § Kao naučna oblast, BPM predstavlja integrisani

Upravljanje poslovnim procesima (Business Process Management, BPM) § Kao naučna oblast, BPM predstavlja integrisani pristup upravljanja ključnim procesima u organizaciji Otkriva, dokumentuje, automatizuje i kontinualno poboljšava poslovne procese u cilju povećanja efikasnosti, smanjenja troškova i prilagođavanja promenljivom okruženju

SOA aspekt poslovnog procesa § SOA aspekt: Poslovni proces je skup povezanih i struktuiranih

SOA aspekt poslovnog procesa § SOA aspekt: Poslovni proces je skup povezanih i struktuiranih aktivnosti ili zadataka implementiranih kao poslovni servisi (Business Services)

Složenost procesa

Složenost procesa

Modelovanje poslovnih procesa (Business Process Modeling, BPM) Notacije modelovanja poslovnih procesa Osnovni tipovi BPMN

Modelovanje poslovnih procesa (Business Process Modeling, BPM) Notacije modelovanja poslovnih procesa Osnovni tipovi BPMN modela Osnovni BPMN elementi Faze modelovanja poslovnih procesa Zadaci za vežbanje

Organizacije koje se bave standardizacijom modelovanja procesa § OMG: Object Management Group § Wf.

Organizacije koje se bave standardizacijom modelovanja procesa § OMG: Object Management Group § Wf. MC: Workflow Management Coalition § BPMI: Business Process Management Initiative (danas pod OMG) § OASIS: Organization for the Advancement of Structured Information Standards § UN/CEFACT: United Nations/Centre for Trade Facilitation and Electronic Business § W 3 C: World Wide Web Consortium § Akademske ustanove

Klasifikacija BPM standarda § Grafički standardi - omogućavaju korisnicima da predstave poslovne procese, tokove

Klasifikacija BPM standarda § Grafički standardi - omogućavaju korisnicima da predstave poslovne procese, tokove i tranzicije na dijagramski način § Standardi razmene - omogućavaju prenosivost poslovnih procesa između različitih alata modelovanja § Izvršni standardi - automatizuju poslovne procese § Dijagnostički standardi – monitoring i dr

BPMI. org vizija Akteri Poslovno okruženje Svrha BPMN Modelovanje Strategijski konsultanti Biznis analitičari Dizajneri

BPMI. org vizija Akteri Poslovno okruženje Svrha BPMN Modelovanje Strategijski konsultanti Biznis analitičari Dizajneri procesa Sistem arhitekte Fokus BP BPEL Softverski inženjeri Implementacione tehnologije Izvršavanje

BPMN - Business Process Modeling Notation § BPMN je razvijen je sa ciljem da

BPMN - Business Process Modeling Notation § BPMN je razvijen je sa ciljem da obezbedi notaciju za definisanje poslovnih procesa, lako razumljivu od strane svih poslovnih korisnika § BPMN omogućava da se prevaziđe praznina između dizajniranja poslovnog procesa i njegove implementacije

Osnovni tipovi BPMN modela § Procesi (Orkestracija) sadrži proces “engine” centralni proces koji pokreće

Osnovni tipovi BPMN modela § Procesi (Orkestracija) sadrži proces “engine” centralni proces koji pokreće operacije i sadrži složena pravila, kao što su sekvenca operacija, konkurentna obrada operacija, sinhornizaciju operacija itd. Uključuje: Privatne ne izvršne (interne) poslovne procese Privatne izvršne (interne) poslovne procese Javne procese § Koreografija posmatra proces preko skupa poruka koje se razmenjuju između učesnika § Kolaboracije između poslovnih partnera obuhvataju ne samo razmenu poslovnih poruka već i uspostavljanje veza kao što su ugovaranje i obaveze: B 2 B pear-to-pear Komunikacija isključivo preko poruka Kao koreografija, ali uključuje: • Komunikaciju preko Interneta • Usaglašavanje razmene sa partnerom • Usaglašavanje semantičkog modela poslovnih poruka

Privatni (interni) poslovni procesi § Privatni poslovni procesi su interni procesi određene organizacije §

Privatni (interni) poslovni procesi § Privatni poslovni procesi su interni procesi određene organizacije § Obično se nazivaju: § Postoje dva tipa privatnih procesa: § Workflow BPM procesi Servisi orkestracije Izvršni – procesi koji se modeluju radi izvršavanja (automatizacija procesa) Ne izvršni – procesi koji se modeluju radi dokumentacije ponašanja procesa Nalaze se u okviru jedne particije (pool) Primer privatnog poslovnog procesa

Javni procesi § Predstavljaju interakcije između privatnog poslovnog procesa i drugog procesa ili učesnika

Javni procesi § Predstavljaju interakcije između privatnog poslovnog procesa i drugog procesa ili učesnika (na slici apstraktna particija ili pool – Pacijent) Primer javnog poslovnog procesa

Koreografije § Definišu očekivano ponašanje između učesnika § Za razliku od internog procesa koji

Koreografije § Definišu očekivano ponašanje između učesnika § Za razliku od internog procesa koji postoji unutar jedne particije (pool), koreografija postoji između particija (pool) odnosno učesnika Primer koreografije

Kolaboracija § Opisuje interakciju između dva ili više poslovna entiteta § Obično sadrži dve

Kolaboracija § Opisuje interakciju između dva ili više poslovna entiteta § Obično sadrži dve ili više particije (pool) Primer kolaborativnih procesa

Osnovni BPMN elementi § Proces prema BPMN se opisuje kao mreža toka objekata koje

Osnovni BPMN elementi § Proces prema BPMN se opisuje kao mreža toka objekata koje predstavljaju skup aktivnosti i njihovih kontrola § Postoji pet osnovnih kategorija elemenata: Tok objekata (Flow Objects): događaji (Events), aktivnosti (Activities) i kontrolni čvorovi (Gateways) Podaci (Data): podaci objekata (Data objects), ulazni podaci (data inputs), izlazni podaci (data outputs) i skladišta podataka (data stores) Konektori objekata (Connecting Objects): tokovi sekvenci (Sequence Flows), tokovi poruka (Message flows), asocijacije (associations) i podaci asocijacije (Data Associations) Plivačke staze (Swimlanes): particije (pools) i staze (lanes) Artifakti (Artifacts): grupe (group) i tekstualne notacije (text annotation)

Osnovni skup grafičkih BPMN elemanata § Grafički opis pet osnovnih kategorija elemenata su: Tok

Osnovni skup grafičkih BPMN elemanata § Grafički opis pet osnovnih kategorija elemenata su: Tok objekata (Flow Objects) - osnovni grafički elementi za definisanje ponašanja/semantike poslovnih procesa: • Event • Activity • Gateway Povezivanje objekata (Connecting objects) – opisuju interakciju između tokova objekata • Sequence Flow • Podaci (Data) • Ulazni i izlazni podaci • Podaci objekta i kolekcije • Skladište • Poruke • Staze (Swimlines) – grupišu elemente • Pools • Lanes • Artifakti (Artifacts) – obezbeđuju dodatne informacije o procesima • Message Flow • • Association • Annotation Group

Events - događaji § Događaj (Event) je nešto se dešava u toku poslovnog procesa

Events - događaji § Događaj (Event) je nešto se dešava u toku poslovnog procesa i utiče na njegov tok izvršavanja § BPMN dešiniše tri vrste događaja: Start Events • ukazuje gde će određeni proces početi započinje tok procesa • može se koristiti da ukaže na to kako će prijem poruke pokrenuti instancu procesa, npr. , Prijem porudžbine ili da pokaže kada će se pokrenuti instanca procesa npr. , krajem meseca Intermediate Events • Ukazuje na to gde se nešto dešava tokom izvršenja procesa – utiče na tok procesa • Može da ukaže gde bi se mogla primiti poruka ili da ukaže gde se očekuju kašnjenja ili da prekinu normalan tok usled pojave izuzetaka End Events • završava tok procesa – opcioni je • može se koristiti za završavanje toka procesa i slanje poruke ili da ukaže na grešku i sl.

Oznake događaja § Događaji utiču na tok procesa i imaju okidač ili neki rezultat

Oznake događaja § Događaji utiču na tok procesa i imaju okidač ili neki rezultat

Primer § Scenario 1 § Scenario 2

Primer § Scenario 1 § Scenario 2

Primer § Scenario 3 – prekid toka procesa

Primer § Scenario 3 – prekid toka procesa

Pokretanje i završavanje procesa § Kada se proces pokrene, kreira se nova instanca procesa

Pokretanje i završavanje procesa § Kada se proces pokrene, kreira se nova instanca procesa § Da bi mogao da bude instanciran, svaki poslovni proces mora da ima barem jednu početnu aktivnost § Poslovni proces se završava na jedan od sledećih načina: Kada se aktivnost koja definiše ponašanje procesa u potpunosti izvrši - u ovom slučaju, poslovni proces se završava normalno Prilikom izvršavanja procesa može se desiti greška - ukoliko se greška ne obradi, poslovni proces se prekida Kada se proces eksplicitno prekine korišćenjem terminate aktivnosti - u ovom slučaju, poslovni proces se prekida Ako je compensation handler definisan za ceo poslovni proces, instanca poslovnog procesa može biti kompenzovana tj. vraćena na prethodno stanje (undo) • Proces kompenzacije podrazumeva poništavanje aktivnosti koja je prethodno bila uspešno završena

Gateways - kontrolni čvorovi § Kontrolni čvorovi (Gateways) se koriste pri definisanju kako se

Gateways - kontrolni čvorovi § Kontrolni čvorovi (Gateways) se koriste pri definisanju kako se tokovi aktivnosti razdvajaju ili spajaju u okviru procesa § BPMN definiše četiri vrste kontrolnih čvorova:

Primeri kontrolnih čvorova § Exclusive Data-Based Uslov ispunjava samo jedan tok događaja (XOR) Ukoliko

Primeri kontrolnih čvorova § Exclusive Data-Based Uslov ispunjava samo jedan tok događaja (XOR) Ukoliko služi za razdvajanje, izvršava se tačno jedna grana Ukoliko služi za spajanje, čeka samo jednu granu da se izvrši pre nego što nastavi dalje

Primeri kontrolnih čvorova § Parallel Gateways ukazuju na paralelno izvršavanje tokova događaja (AND) Sve

Primeri kontrolnih čvorova § Parallel Gateways ukazuju na paralelno izvršavanje tokova događaja (AND) Sve paralelne aktivnosti moraju biti završene da bi se nastavilo dalje Paralelno se izvršavaju aktivnosti, ali ne moraju istovremeno da budu obrađene Join čeka na rezultate svih aktivnosti da bi se nastavilo dalje

Primeri § Exclusive Event-Based Gateway (XOR) je sličan Exclusive Data-Based Gateway Umesto utvrđivanja skupa

Primeri § Exclusive Event-Based Gateway (XOR) je sličan Exclusive Data-Based Gateway Umesto utvrđivanja skupa alternativa tj. uslova koga može da ispuni samo jedan tok, ovde zavisi od rezultata događaja

Primeri § Inclusive Gateway (OR) se može koristiti kao tačka odlučivanja gde je moguća

Primeri § Inclusive Gateway (OR) se može koristiti kao tačka odlučivanja gde je moguća realizacija više tokova događaja Svi tokovi su ograničeni sa uslovom i svaki tok koji ispunjava uslov biće izvršen Ukoliko više tokova ispunjava uslov, neće se krenuti dalje dok sve aktivnosti ne završe

Kompleksnije kontrolne tačke

Kompleksnije kontrolne tačke

Aktivnosti § Aktivnost je jedinica posla koja treba da se izvrši - može biti

Aktivnosti § Aktivnost je jedinica posla koja treba da se izvrši - može biti zadatak, proces ili podproces § BPMN definiše dve glavne vrste aktivnosti: Zadatak (Task) – atomska aktivnost koja je uključena u proces Podproces (Sub-process) je proces koji je uključen u drugi proces

Aktivnosti § Zadatak je jedinica posla koji treba da se izvrši § Transakcija je

Aktivnosti § Zadatak je jedinica posla koji treba da se izvrši § Transakcija je skup aktivnosti koji se logički odvijaju zajedno § Događaj podproces se aktivira kada ga pozove polazni događaj i može da prekine proces višeg nivoa ili da se izvšrava paralelno § Pozivna aktivnost je omotač za opšte definisan podproces ili zadatak koji se ponovo koristi u trenutnom procesu

Markeri aktivnosti (Activity Markers) § Markeri (signali, oznake) ukazuju na izvršno ponašanje aktivnosti MI

Markeri aktivnosti (Activity Markers) § Markeri (signali, oznake) ukazuju na izvršno ponašanje aktivnosti MI – Multiple Instances

Markeri aktivnosti § Markeri (Markers) se definišu radi specifikacije dodatne semantike, npr. petlje. §

Markeri aktivnosti § Markeri (Markers) se definišu radi specifikacije dodatne semantike, npr. petlje. § Primeri: Izvršava se jedan po jedan zadatak (sekvencionalne petlje) Zadaci se izvršavaju paralelno (paralelne petlje)

Podproces § Podproces (složena aktivnost) može biti prikazan u proširenom obliku kojim se prikazuje

Podproces § Podproces (složena aktivnost) može biti prikazan u proširenom obliku kojim se prikazuje niži nivo skupa aktivnosti.

Transkacije i obrade otkaza • Transakcija je aktivnost koja se predstavlja duplim okvirom •

Transkacije i obrade otkaza • Transakcija je aktivnost koja se predstavlja duplim okvirom • Ove aktivnosti su podržane nekim transakcionim porotokolom kao npr. WS-Transaction • Normalno izvršavanje predstavlja tok uspešnog izvršavanja procesa • Događaj “Cancel Intermediate Event” predstavlja alternativni tok izvršavanja pri prekidu • Događaj “Exception Intermediate Event” predstavlja alternativni tok izvršavanja pri otkazu sistema

Obrada izuzetaka • Događaj koji je pridružen nekoj aktivnosti definiše okidač kojim se može

Obrada izuzetaka • Događaj koji je pridružen nekoj aktivnosti definiše okidač kojim se može prekinuti aktivnost • Svi poslovi u okviru aktivnosti biće stopirani i tok će se nastaviti od tog događaja • Okidač može biti vremenski ili neki izuzetak

Tipovi zadataka § Tipovi ukazuju na prirodu akcije koja treba da se izvrši

Tipovi zadataka § Tipovi ukazuju na prirodu akcije koja treba da se izvrši

Plivačke staze (Swimlanes) § “Pool” je grafički kontejner za razdvajanje skupa aktivnosti § Plivačke

Plivačke staze (Swimlanes) § “Pool” je grafički kontejner za razdvajanje skupa aktivnosti § Plivačke staze (Swimlanes) su podelementi (particije) u okviru “pool” elementa, prikazani vertikalno ili horizontalno. Određena staza će prikazivati zadatke koji su relevantni za određenu poslovnu jedinicu (aktera)

Primer

Primer

Tokovi Sekvencni tok Difolni tok Uslovni tok Tok poruke Definiše redosled izvršavanja aktivnosti Difoltna

Tokovi Sekvencni tok Difolni tok Uslovni tok Tok poruke Definiše redosled izvršavanja aktivnosti Difoltna grana koja će biti izabrana ukoliko ne ispunjava zadate uslove Sadrži pridružen uslov koji ukazuje da li će tok biti realizovan Ukazuje na informacije koje se razmenjuju između granica organizacije

Podaci § Ulazni podatak (Data Input) - spoljni input za čitav proces – može

Podaci § Ulazni podatak (Data Input) - spoljni input za čitav proces – može ga pročitati aktivnost § Izlazni podatak (Data Output) -promenljiva nastala kao rezultat čitavog procesa § Podatak objekta (Data Object) - informacija koja se razmenjuje između procesa, kao što su poslovna dokumenta, emailovi ili pisma § Kolekcija podataka objekta (Collection Data Object) - kolekcija informacija, npr. lista poručenih proizvoda § Skladište podataka (Data Store) – mesto odakle proces može čitati ili upisivati podatke § Poruka (Message) – opisuje sadržaj komunikacije između učesnika

Pomoćni elemeti (Artifacts) • Text Annotations je mehanizam za specificiranje dodatnih informacija za “čitaoce”

Pomoćni elemeti (Artifacts) • Text Annotations je mehanizam za specificiranje dodatnih informacija za “čitaoce” BPMN diagrama • Grupa obezbeđuje mehanizam za vizuelno grupisanje elemenata

BPMN primer - normalan tok

BPMN primer - normalan tok

BPMN primer Kolaborativni poslovni proces

BPMN primer Kolaborativni poslovni proces

Četiri faze modelovanja poslovnih procesa

Četiri faze modelovanja poslovnih procesa

1. Faza crne kutije § Analiza celine, njenih funkcionalnih karakteristika i artifakta bez ulaženja

1. Faza crne kutije § Analiza celine, njenih funkcionalnih karakteristika i artifakta bez ulaženja u detalje Guidance Input Black box Resources Output

2. Faza struktuiranja § Analiza gradivnih blokova kako bi se utvrdila interna struktura i

2. Faza struktuiranja § Analiza gradivnih blokova kako bi se utvrdila interna struktura i glavni artifakti Odrediti glavne funkcionalne (ili logičke) korake Dodati tačke provere između koraka Klasifikovati artifakte za svaki korak Savet: maksimalno sedam koraka i izbegavati povratne petlje preko tačaka provere

2. Faza struktuiranja (nastavak)

2. Faza struktuiranja (nastavak)

3. Faza rekonstrukcije § Dodavanje detaljne logike § Početak formalizovanja poslovnih objekata § Prikupljanje

3. Faza rekonstrukcije § Dodavanje detaljne logike § Početak formalizovanja poslovnih objekata § Prikupljanje scenarija za proveru

4. Instrumentalna faza § Dodavanje staza, automatizovanih aktivnosti, primena paterna, prikupljanje test scenarija …

4. Instrumentalna faza § Dodavanje staza, automatizovanih aktivnosti, primena paterna, prikupljanje test scenarija …

Zadatak 1: Kreirati BPMN dijagram za transakciju “Rezervisanje smeštaja i prevoza” § Proces rezervacije

Zadatak 1: Kreirati BPMN dijagram za transakciju “Rezervisanje smeštaja i prevoza” § Proces rezervacije započinje dvema paralelnim aktivnostima: rezervacija hotela (Book hotel) i rezervacija leta (Book flight) § Ukoliko su obe aktivnosti uspešno realizovane, sledeća aktivnost je naplata kreditne kartice od korisnika (Charge credit card) § Ukoliko je usluga uspešno naplaćena, proces je uspešno završen (success) Ukoliko usluga nije naplaćena proces se prekida (failure) Ukoliko u procesu rezervacije dođe do otkazivanja hotela (cancel hotel reservation) ili leta (Cancel flight reservation), cela transakcija se poništava (cancelled)

BPMN dijagram za rezervacije

BPMN dijagram za rezervacije

Zadatak 2: Nacrtati BPMN za proces “Odobravanje kredita”

Zadatak 2: Nacrtati BPMN za proces “Odobravanje kredita”

Zadatak 2:

Zadatak 2:

Online tutorijali/alati: § IBM Rational System Architect 11. 4. 2: http: //pic. dhe. ibm.

Online tutorijali/alati: § IBM Rational System Architect 11. 4. 2: http: //pic. dhe. ibm. com/infocenter/rsysarch/v 11/index. jsp? topic=%2 Fcom. ibm. sa. tutorial. doc% 2 Ftopics%2 Fless 1_createbpmn. html § BPMN by example: http: //resources. bizagi. com/docs/BPMNBy. Example. ENG. pdf § BPMN 2. 0 by example (OMG): http: //www. omg. org/spec/BPMN/20100601/10 -0602. pdf § BPMN online tool: https: //bpmn. io/