Top Banner
Folyamatmodellezés a gyakorlatban Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék
42

Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

May 24, 2019

Download

Documents

dodien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Folyamatmodellezés a gyakorlatban

Budapesti Műszaki és Gazdaságtudományi Egyetem

Méréstechnika és Információs Rendszerek Tanszék

Page 2: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Business Process ModelingBusiness Process Modeling

Notation

Page 3: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Business Process Modeling Notation (BPMN)

• Business Process Management Initiative (BPMI)– 2004. május: BPMN 1.0 specifikáció

– 2011: végleges BPMN 2.0

• Célok– Közérthetőség

• Felhasználó• Felhasználó

– Üzleti elemző • kezdeti folyamatterv

– Műszaki fejlesztő• Implementáció

• Belső modell automatikus generálás céljára

• BPEL4WS

– Üzleti végfelhasználó (monitorozás, menedzsment)

Page 4: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Business Process Diagram (BPD)

� Folyamatábra-szerű grafikus diagram

� Elemtípusok

o Adatfolyam

o Összeköttetés

o Tagoláso Tagolás

o Artifact

Page 5: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Adatfolyam

Esemény ÁllapotváltozásOk-hatásEseménytípusok:Start, Intermediate, End

Tevékenység Atomi/összetettTaszk/alfolyamat

Átjáró Szekvencia konvergencia/divergenciaAND, OR, XOR, …

Page 6: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Összeköttetés

Szekvencia Tevékenységek sorrendje a folyamatban(nincs vezérlési folyamat a BPMN-ben

Üzenet Két független folyamat részvevő közötti információcsere

Asszociáció Adat, szöveg stb. hozzárendelés

Page 7: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Tagolás

Pool Résztvevő jelölése

Sáv Tevékenységek csoportosítása

Page 8: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Artifact

Adat objektum

Szimbolikus token

Csoport Tevékenységek csoportosítása

Annotáció Kiegészítő szöveges információ(komment)

Page 9: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Példa: elemtípusok

Page 10: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Hierarchikus modellezés

Page 11: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Tagolás

Page 12: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Adat objektumok, csoportok és annotáció

Page 13: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Együttműködés

Page 14: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Automatikus implementáció támogatása

Page 15: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

BPMN metamodell

Forrás: http://www.wsper.org//

Page 16: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Nyelvi elemek (2.0)

Forrás: http://www.bpmb.de

Page 17: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

BPMN lépések állapotgépe

Page 18: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Miket használnak?

Source: Process Modelling. What Really Matters Keynote of Michael Rosemann @ UNISCON2009 conference

Page 19: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Csoportosítás

Six Well-defined Clusters of BPMN Primitives among the 50 Analyzed

Basic Modeling Process Start/EndControl Flow RefinementOrganization ModelingAnnotations and ExplanationsUnused Constructs

Source: Process Modelling. What Really MattersKeynote of Michael Rosemann @ UNISCON2009 conference

Page 20: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Mi nem szerepel ezeken a modelleken?

� A végrehajtás és a környezet kapcsolata

� Szerepkörök

� Adatok

� Erőforrások

o Típusok, példányoko Típusok, példányok

� Végrehajtási idők, feltételek

� Kivételkezelés

Page 21: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

BPMN hibakezelés

� Készüljünk fel az elemi lépések hibáira

� Belső hibakezelés: a folyamat valamely lépése indítja, bizonyos feltételek esetén

� Megj: a hiba korrigálására „hibatűrő minták” felhasználhatóak

o Pl. recovery block, NVP alkalmazása

Page 22: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

BPMN hibakezelés

� Technikai jellegű hibatípusok

o Adat, időzítés, elérhetőség, belső hibák, …

o Megj: néhány nyelvben ezek elemi lépésekhez definiálhatóak (pl. webszolgáltatásoknál)

Page 23: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

BPMN hibakezelés

� „Üzleti logikai hiba”

� Maga a folyamat ellenőriz bizonyos paramétereket

Page 24: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Végrehajtható munkafolyamatok

Budapesti Műszaki és Gazdaságtudományi Egyetem

Méréstechnika és Információs Rendszerek Tanszék

Page 25: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Végrehajtható munkafolyamatok

� BPMN

o Business Process Modeling Notation

o „Csak” modell és jelölésrendszer → nem végrehajtható

� Kérdés: lehet-e végrehajtható folyamatokat definiálni?definiálni?

� Válasz: IGEN!

o A munkafolyamat továbbra is egy modell

o De szerkesztési időben forráskódra fordul (pl. Java)

� Elterjedt eszközök:BPEL, jBPM, MS WF

Page 26: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Pro’s & con’s

� Mi indokolja a folyamat alapú megközelítést?

o Imperatív programozás esetén is egy munkafolyamat modell alapján fejlesztünk (specifikációban rögzített)

o Könnyen átlátható (grafikus modellek)

� Mikor ne használjuk?Mikor ne használjuk?

o Ha túl nagy a folyamatmodell (nehezen kezelhető)

o Ha túl egyszerű a funkcionalitás (nincs is valódi WF)

o Teljesítménykritikus rendszereknél nem mindig jó

� További jellemző problémák

o Nehezebb tesztelni és debugolni

Page 27: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

BPEL

� Microsoft és IBM fejlesztés

� Távoli webszolgáltatásokat feltételez

� XML alapú

o Itt „hangoljuk össze” a komponensek viselkedését (orchestration)(orchestration)

� Rendelkezik grafikus modellező felülettel

o De végeredményben ezzel is az XML-t szerkesztjük

o Intuitív elemkészlet: értékadás, ciklusok, WS hívás…

� A végeredmény mindig végrehajtható

o Telepítés („deployment”) után hívhatja az alkalmazás

Page 28: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Egyszerű BPEL mintafolyamat

Belépési pont

Értékadás

Start

Bemenet olvasása

Szolgáltatáshívás

Értékadás

Eredmény Eredmény visszaadása

End

Page 29: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Példa: az „Invoke” elem paraméterezése

Partner link (a szolgáltatásra mutat)

WS metódus Paraméterek

Page 30: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

jBPM5

� RedHat fejlesztés

� A BPMN2.0 szabványra épül

� „Full lifecycle management”

o A keletkezéstől a monitorozásig bezárólag

� XML alapú� XML alapú

� Rendelkezik grafikus modellező felülettel

o De végeredményben ezzel is az XML-t szerkesztjük

� A végeredmény mindig végrehajtható

o Telepítés („deployment”) után hívhatja az alkalmazás

Page 31: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

jBPM5 filozófia

� Szakterület(Domain)-független megközelítés

o Jellemzően általános elemek: elágazások, script node…

o A fejlesztő a „problémára szabja” az elemkészletet

� WorkItem

o A BPMN2.0 szabvány Service Task elemét valósítja mego A BPMN2.0 szabvány Service Task elemét valósítja meg

o Ha a folyamatban egy ilyenre futunk, a hozzá kapcsolt WorkItemHandler végzi el a feladatot

o A WorkItemHandlert regisztráljuk, az a toolbarra kerül

o Ezután már egyszerűen használható a modellezésben

o Előny: valóban „custom” funkcionalitás

Page 32: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

jBPM5 WorkItem példa

� Webszolgáltatást szeretnénk hívni

� De ilyen elem nincs

o Külső szolgáltatást igénybe vétele: Service Task

o A szolgáltatás WS jellege már domain specifikus

o Lehetne OSGi szolgáltatás, platform feature, …o Lehetne OSGi szolgáltatás, platform feature, …

WorkItem WorkItemHandler**

Folyamat elem Implementáció (Java, MVEL…)

Page 33: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

jBPM5 WorkItem példa

� WorkItem elem definiálása[

[

"name" : "WSInvocation",

"parameters" : [

"URL" : new StringDataType(),

"Message" : new StringDataType(),"Message" : new StringDataType(),

"ReturnValue" : new IntegerDataType(),

],

"displayName" : "WSInvocation",

"icon" : "icons/webservice.gif"

]

]

Page 34: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

jBPM5 WorkItem példa

� WorkItemHandler implementálása

Page 35: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

jBPM5 WorkItem példa

� WorkItem és WorkItemHandler összerendelése

ksession.getWorkItemManager()

.registerWorkItemHandler(

"WSInvocation",

new WSInvocationWorkItemHandler()

););

� WorkItem regisztrálása a toolbarra

drools.workDefinitions = MyWorkDefinitions.wid

Page 36: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

jBPM5 WorkItem példaA palettán Service Task

WSInvocation

A palettán Service Taskelemként megjelent a

WSInvocation

Még az ikon is custom.

Page 37: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

jBPM5 WorkItem példaAz új elem beilleszthető a folyamatba. Ha ide érünk,

meghívódik a megfelelő Handler.

Page 38: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

„What’s in the box?”

� Semmi meglepő: egy halom XML

� Példa: a folyamat első eleme (FlowConfig):<scriptTask id="_9" name="FlowConfig" >

<script>

kcontext.setVariable("wsaddress",

"http://localhost:1047/Services");

kcontext.setVariable("wsmessage", "getprice/1984");

</script>

</scriptTask>

Page 39: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

BPMN tervezőeszközök� jBPM Designer

� Eclipse BPMN

� Tibco Business Studio

� Intalio Designer

� BPMN Composer

� BPMN Designer� BPMN Designer

� Bonita Open Solution

� Adonis

� Activiti

� Obeo Designer

+ számtalan nem BPMN specifikus eszköz

Page 40: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Kihívások

� Szakterületspecifikus tudás reprezentációja

o Minták, könyvtárak, szótárak

o Hatékony modellezés

o „Web2.0” kapcsolat

� Modell konzisztencia� Modell konzisztencia

o Folyamatmodellek (verziók, együttműködés)

o Folyamatok / szervezeti felépítés / IT erőforrások

� „Compliance”

o Rugalmas tervezés mellett megfelelőség biztosítása

Page 41: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Modellezési nyelvek kapcsolata

� BPMN� BPEL

o Szabvány definiál leképezést

� UML-AD � BPEL

o Létezik hozzá UML profile

o Szemantika különbözik….o Szemantika különbözik….

� UML �BPMN

o Egy BPMN folyamat UML tervezés alapját képezheti

• Részletesebb nézetek, pl struktúra definíció

o Számtalan eszköz kezeli mindkét modellt

Page 42: Folyamatmodellezés a gyakorlatban - inf.mit.bme.hu³ria/oktatás/bsc... · Mikor ne használjuk? ... TibcoBusiness Studio IntalioDesigner BPMN Composer BPMN Designer ...

Egyéb források

� http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/609cb540-3ca6-2a10-60a7-dc470a9b7adf

� http://community.intalio.com/tutorials/exception-handling.html

� http://www.conradbock.org/bock-bpmn-2-� http://www.conradbock.org/bock-bpmn-2-business-process-semantics-web.pdf

� Stephen A. White (IBM): Introduction to BPMN