Folyamatmodellezés implementáció

Hasonló dokumentumok
Webszolgáltatás alapokon BPEL

Folyamatmodellezés implementáció

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Webszolgáltatás alapokon BPEL

BPEL nyelvű üzleti folyamatok modellezése és formális ellenőrzése

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

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Folyamatmodellezés

Szolgáltatásintegráció (VIMIM234) tárgy bevezető

Viczián István IP Systems JUM XIX szeptember 18.

Folyamatmodellezés (BPMN) és alkalmazásai

Debreceni Egyetem Informatikai Kar. Szolgáltatás-orientált programozás az Oracle-ben

Oracle9i Alkalmazás Szerver Üzleti folyamat integráció. Molnár Balázs Vezető értékesítési konzultáns Oracle Hungary

Java Business Integration szolgáltatásalapú architektúra JavaEE környezetben. Simon Géza Zsemlye Tamás

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Folyamatmodellezés

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Folyamattervezéstıl a megvalósításig

Folyamat alapú integráció alapjai

Modell alapú tesztelés mobil környezetben

Nagy bonyolultságú rendszerek fejlesztőeszközei

Univerzális munkafolyamat szimulátor

Feltörekvő technológiák: seam, drools, richfaces és társai a JBossban

Miért is transzformáljunk modelleket? Varró Dániel

Szolgáltatásorientált rendszerintegráció. SOA-alapú rendszerintegráció. Enterprise Service Bus (ESB) Ercsényi András, BME IIT, 2011.

Nyílt hozzáférésű informatikai rendszerek BME VIMM 5294

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Közösség, projektek, IDE

Komponens alapú fejlesztés

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Ráth István. A fejlesztés evolúciója

Ráth István. DECOS Nemzeti Nap október 15. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Rendszertervezés ágazat

Enterprise extended Output Management. exom - Greendoc Systems Kft. 1

Testreszabott alkalmazások fejlesztése Notes és Quickr környezetben

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

JAVA webes alkalmazások

Hogyan lehet megakadályozni az üzleti modellezés és az IT implementáció szétválását? Oracle BPM Suite

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

pilot példa SOA alkalmazásra április 29.

Üzleti folyamatok rugalmasabb IT támogatása. Nick Gábor András szeptember 10.

SAPora folyamatok és felületek, azaz IBM megoldások az EGIS-ben

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

Automatikus tesztgenerálás modell ellenőrző segítségével

Gara Péter, senior technikai tanácsadó. Identity Management rendszerek

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Folyamatok rugalmas irányítása. FourCorm Kft.

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

IT Szolgáltatás Menedzsment az oktatási szektorban - 90 nap alatt költséghatékonyan

Oracle SQL Developer Data Modeler és a DW adatmodellezés. Gollnhofer Gábor Meta Consulting Kft.

Flex: csak rugalmasan!

Metamodellezés. Simon Balázs BME IIT, 2011.

Modell alapú tesztelés: célok és lehetőségek

Informatikai technológiák szakirány Rendszertervezés ágazat

IBM Business Process Manager változat 8 alváltozat 5. Az IBM Business Process Manager áttekintése

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

Erőforrás gazdálkodás a bevetésirányításban

webalkalmazások fejlesztése elosztott alapon

DCOM Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék. Ficsor Lajos DCOM /1

Integrált keretrendszer

Alapszintű formalizmusok

Szoftverminőségbiztosítás

Microsoft SQL Server telepítése

Oracle Containers for Java - j2ee alkalmazás szerver funkciók. Molnár Balázs Oracle Hungary

Webszolgáltatások (WS)

Folyamatmodellezés (BPMN), adatfolyamhálók

Modellező eszközök, kódgenerálás

A Java EE 5 plattform

Utolsó módosítás:

Bevezetés az SAP világába. 5. Kommunikációs és integrációs technológiák

Utolsó módosítás:

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

WebSphere Adapters. 6. változat 2. alváltozat. WebSphere Adapter for SAP Software felhasználói kézikönyv 6. változat 2. kiadás

BPEL 2.0 ALAPÚ MUNKAFOLYAMATOK KOOPERÁCIÓJÁNAK FORMÁLIS VERIFIKÁCIÓJA. Bende Tibor V. évf. Műszaki informatika

Breczku János. Igazgató-helyettes Üzleti Folyamatok Támogatása üzletág ICON Számítástechnikai Kft.


Nagyvállalati SOA infrastruktúra (ESB, szolgáltatástárak)

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Petőfi Irodalmi Múzeum. megújuló rendszere technológiaváltás

Szolgáltatás Orientált Architektúra és több felhasználós adatbázis használata OKF keretein belül. Beke Dániel

Magic xpi 4.0 vadonatúj Architektúrája Gigaspaces alapokon

Adatbányászat és Perszonalizáció architektúra

Használati alapú és modell alapú tesztelés kombinálása szolgáltatásorientált architektúrák teszteléséhez az ipari gyakorlatban

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel

Hogyan lehet ma munkafolyamat támogatás nélkül üzleti folyamatokat kezelni?

Szemantikus webszolgáltatások használatát támogató middleware. Kovács László, Micsik András, Tóth Zoltán DSD MTA SZTAKI. Elosztott Rendszerek Osztály

Párhuzamos és Grid rendszerek

Mai program. Web Technológiák. Webalkalmazások. Webalkalmazás, mint UI

A felhőről általában. Kacsuk Péter MTA SZTAKI

Melyik feladatra melyik eszközt? Kontrolling eszközök összehasonlítása. Csernus Attila Vörös-Nagy Ágnes

Átírás:

Folyamatmodellezés implementáció BPEL jbpm (XPDL) Kitekintés: folyamatanalízis Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Pl.: Bank: Motiváció o Ahány beszállító, annyi technológia, módszertan, protokoll o Régi eszközöket soha nem selejteznek le Meglévő workflow eszközök o Gyártófüggőek (adatbázis, Web szerver, stb. kötött) o Editor Engine szorosan összekapcsolódik Összetett folyamatok építése Web service alapelemekből Kommunikációs protokoll ne legyen kötött

Miért Web service alapon? Laza kapcsolat Platformfüggetlenség Szabványos felület Folyamatok adatai nyílt formátumban (SOAP) További szolgáltatások (kivételkezelés, stb.) Web Service interface: o Szintaktika: WSDL o Szemantika:?

BPEL (BPEL4WS) Business Process Execution Language for Web Services o Microsoft, IBM, BEA,... Üzleti folyamatok definiálása o Web service alapon o Web service-ként Grafikus tervezőeszköz(ök) o Integráció más tervezőeszközökkel o BPMN -> BPEL átalakítás (BPMN szabvány része) Java alapú futtatókörnyezet

Partnerek Adattípusok leírása Végrehajtási sorrend Kivételkezelés Két felhasználási mód BPEL funkcionalitás o Végrehajtható folyamatok Privát tartalom o Absztrakt processzek (Pl. szerződéshez) Hozzáférhető

BPEL alapkoncepció

Logikai felépítés scope variables event handlers partner links correlation sets fault fault handlers handler... compensation handler......... termination handler...

A BPEL elemei Process felépítése <partnerlink> - Kapcsolat két szereplő közt <partner> - partnerlink-ek halmaza <variable> - folyamat globális változói, ideértve a kimenő/bejövő üzeneteket <Activity> - folyamat lépései (tevékenységek)

A BPEL elemei 2. Basic Activity (egyszerű tevékenység) <invoke> - Web service meghívása <receive-reply> - Web service funkcionalitás a partnerek felé <throw> - belső hiba jelzése (kivétel) <wait> - várakozás <assign> - változók elérése, adatmanipuláció <compensate> - compensationhandler hívás sikeresen lefutott lépés visszavonása

A BPEL elemei 3. Structured activity (strukturált tevékenység) <sequence> - sorosan végrehajtandó lépések <switch> - feltételes elágazás <while> - ciklus <pick> - üzenetek, alarmok kezelése <flow> - párhuzamosan végrehajtható tevékenységek

BPEL elemei 4. <scope>:speciális structured activity: o Fő munkafolyamat : activity o Event handlers o Fault handlers o Compensation handlers o Lokális változók o Sorosítható változók (csak levél scope)

BPEL példa (minimalista) <sequence name="echosequence"> <process name="echostring" targetnamespace="urn:echo:echoservice" xmlns:tns="urn:echo:echoservice" xmlns="http://schemas.xmlsoap.org/ws/2002/07/business-process/"> <receive name="echoreceive" <partners> <partner name="caller" partner="caller" servicelinktype="tns:echoslt"/> porttype="tns:echopt" </partners> <containers> operation="echo" <container name="request" container="request" messagetype="tns:stringmessagetype"/> createinstance="yes"/> </containers> <sequence name="echosequence"> <receive name="echoreceive" <reply name="echoreply" partner="caller" porttype="tns:echopt" operation="echo" partner="caller" container="request" createinstance="yes"/> porttype="tns:echopt" <reply name="echoreply" partner="caller" operation="echo" porttype="tns:echopt" operation="echo" container="request"/> </sequence> </process> </sequence>

BPEL szerkesztés Eclipse BPEL Oracle BPEL Designer (régen Collaxa) o Eclipse o JDeveloper Más fejlesztőeszközök kimenete o IBM WebSphere Integration Developer és utódai Nem szabványos BPEL o Rational XDE o Sybase Power Designer o...

Példa (IBM WebSphere Integration Developer)

Workflow engine Factory szolgáltatás o BPEL processz példányosítása o Paraméterezés o (Java API ) Kivételek kezelése Adatok tárolása BPEL futtatás o Pl. minden kompenzálható lépésre a változók értéke a lépés indításakor Tipikusan plugin/alkalmazás Java alkalmazásszerverre

Hibakezelés BPEL-ben Scope szintjén o Egyedi elem vagy folyamat részlet Fault handling o Hiba típusokra, változókra definiálható o Akkor hívódik meg, ha a fellépő hiba illeszkedik o Mint Java-ban az exception handling o Alulról felfele hívódik meg (scope-hierarchia) Compensation handling o Tranzakció meghiúsul? o Erőforrás zárolás? o Kompenzáció o Rekurzívan, fordított sorrendben o Változó értékek megtartása o Pl. rendeltem X könyvet (X=10) lemondom 10 könyv megrendelését

BPEL integráció meglévő szoftverekkel Integrálás programnyelvekhez o Java package o Grafikus szerkesztés nehézkes o Kód karbantartás Kommunikáció o pl. JMS fölött Titkosítás o WS-Security o A BPEL futtató nem kell, hogy ismerje Adatbázis tárolt eljárások o DB2, MSSQL, Oracle Web service felülettel Adapterek (trigger, kimenethez) o Oracle: File rendszer, Adatbázis, SAP, BPEL folyamatok mint komponensek integrálása (Service Component Architecture) Számtalan gyártóspeficikus kiegészítés o Pl. Oracle BPEL Extensions, IBM WID,

Belgacom Ipari BPEL projektek (Oracle) o 15000 kérés/nap, 2*2 CPU Solaris (RDBMS külön gépen) o Egyszerre pár száz aktív folyamatpéldány, pár száz lépés/folyamat Utazási iroda o 3 M kérés / óra, 20 CPU o Egyszerű folyamatok European Space Agency o Dokumentum feldolgozás

WS-HumanTask Web szolgáltatások emberi végrehajtása. Ehhez: o Nyelv definiálása o Interface-k o Általános emberi szerepek o Protokoll o Állapottér o Típus: HumanTask és Notification

Protokoll

XPDL Workflow adatcsere szabvány o XML Process Definition Language o Workflow eszközök gyártói (WFMC) o Tárolási formátum (BPMN ezt nem rögzítette 2.0-ig) o Szinkronban a BPMN2 szabvánnyal Szokásos vezérlési szerkezetek Egyes lépések megvalósítása tetszőleges o Activity Kiterjeszthető

BPMN BPEL Modellezési nyelvek kapcsolata o Szabvány definiál leképezést UML-AD BPEL o Létezik hozzá UML profile o Szemantika különbözik. o (Action Semantics?) 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 XPDL BPMN o Sorosítási formátum

JBoss jbpm alapú implementáció

jbpm5 WorkItem példa Webszolgáltatást szeretnénk hívni De ilyen beépített elem nincs o Külső szolgáltatást igénybe vétele: Service Task o A szolgáltatás WS jellege már specifikus o Lehetne OSGi szolgáltatás, platform feature, WorkItem * * WorkItemHandler Folyamat elem Implementáció (Java, MVEL )

jbpm5 WorkItem példa WorkItem elem definiálása [ [ "name" : "WSInvocation", "parameters" : [ "URL" : new StringDataType(), "Message" : new StringDataType(), "ReturnValue" : new IntegerDataType(), ], "displayname" : "WSInvocation", "icon" : "icons/webservice.gif" ] ]

jbpm5 WorkItem példa WorkItemHandler implementálása

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

jbpm5 WorkItem példa A palettán Service Task elemként megjelent a WSInvocation Custom ikon.

jbpm5 WorkItem példa Az új elem beilleszthető a folyamatba. Ha ide érünk, meghívódik a megfelelő Handler.

Testable architecture

WS-CDL Web Services Choreography Description Language Az egyik első nyelv szolgáltatás protokollok leírására o Egy adott szolgáltatás szempontjából, szerepekre építve o Központi engine nélkül o Akadémiai háttérrel Sokáig kudarcnak tűnt o Önmagában nem használható, nem végrehajtható o Tooling hiánya o Ötlet: használjuk együtt a BPEL-el

Követelmények végigkövetése Tesztgenerálás a kezdeti modell alapján -A komponensek implementációja megfelel-e a protokollnak? -A folyamatok jól használják-e a komponenseket? Van-e a tesztelésnél jobb ötlet? http://www.jboss.org/savara/ta.html

Kitekintés: üzleti folyamatok analízise

Üzleti folyamatok verifikációja Tervező eszközök csak szintaktikai ellenőrzést biztosítanak BPEL 2.0 szabványban statikus analízis o Megkötések a folyamatra (attribútumok, struktúra) Biztonságkritikus területeken való felhasználás o Pl. Bank, tőzsde, egészségügy Hogyan biztosítjuk a helyes működést?

BPEL munkafolyamatok hibái nem kitöltött adat okozta hiba holtpont elveszett üzenet miatt hibás adat hatása a végrehajtásra

Munkafolyamatok vizsgálata Generálás Folyamat leírás Telepítés Grafikus szerkesztő Végrehajtó Modellellenőrző motor Javítás Futási eredmények Futtatás

Munkafolyamatok vizsgálata Generálás Folyamat leírás Modellezés Grafikus szerkesztő Modellellenőrző Javítás Futási eredmények Verifikáció

BPEL modellezése Formális matematikai modellre Nem-interpretált modellezés o Változó értékek, tevékenységek helyett állapotok Modelltranszformáció használatával Eredmény: o Ellenőrizhető modell

Kezdetben: Ellenőrzés elvégzése o Kézi követelmény leírás o Parancssoros eszköz o Eredmények kézi feldolgozása o Nagyon lassú, körülményes Helyette: o Integráció a folyamat modellező rendszerbe o Intuitív felhasználói felület o Követelmény leírás támogatása o Eredmények visszavetítése

Transzformációs lánc

Az esettanulmány vizsgálata

Példa: szolgáltatások és protokollok

Források http://www.workflowpatterns.com/documentation/documents/ce -xpdl.pdf http://www.slideshare.net/dgagne/bpm-standards-what-is-new-inbpmn-20-and-xpdl-22-bbc-2011 http://www.omg.org/bpmn/documents/xpdl_bpmn.pdf http://www.workflowpatterns.com https://www.inf.mit.bme.hu/sites/default/files/publications/goncz yhegedusvarro_mddoverview-final.pdf http://mycite.omikk.bme.hu/doc/46406.pdf