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

Hasonló dokumentumok
Webszolgáltatás alapokon BPEL

Webszolgáltatás alapokon BPEL

Folyamatmodellezés implementáció

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

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

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

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ő

Folyamatmodellezés (BPMN) és alkalmazásai

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

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

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

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

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

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

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

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

Folyamat alapú integráció alapjai

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

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

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

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

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

Nagy bonyolultságú rendszerek fejlesztőeszközei

Rendszertervezés ágazat

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

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

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

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

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

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

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

JAVA webes alkalmazások

Közösség, projektek, IDE

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

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

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

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

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

Modell alapú tesztelés mobil 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.

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

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

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

webalkalmazások fejlesztése elosztott alapon

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

Microsoft SQL Server telepítése

A Java EE 5 plattform

Üzleti folyamatmenedzsment: - káoszból rendet!

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

Párhuzamos és Grid rendszerek

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

Konszolidáció és költségcsökkentés a gyakorlatban. Az Országos Tisztifőorvosi Hivatal Oracle adatbázis konszolidációja

Univerzális munkafolyamat szimulátor

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

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

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.

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

Felhő alapú hálózatok Konténerek orkesztrálása Simon Csaba. Budapesti Műszaki és Gazdaságtudományi Egyetem

Történet John Little (1970) (Management Science cikk)

Irányítástechnika Elıadás. PLC-k programozása

WebService tesztelés. SOAPui Pro, GreenPepper és Confluence használatával. Verhás & Verhás Szoftver Manufaktúra KNOW-HOW

Flex: csak rugalmasan!

Szabálykezelés a gyakorlatban

Az üzleti igények átültetése a gyakorlatba eszköz és módszertan: - ARIS és WebSphere megoldások együttes használata a folyamatmendzsmentben -

Üzletmenet-folytonosság és katasztrófa helyzet kezelés (Honnan indultunk, miért változtunk, hova tartunk?)

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

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

Szoftver újrafelhasználá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

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

PANNON EGYETEM Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Oracle Middleware megoldások helye üzleti esettanulmányokon keresztül bemutatva, különböző iparágakban

Modellellenőrzés a vasút automatikai rendszerek fejlesztésében. XIX. Közlekedésfejlesztési és beruházási konferencia Bükfürdő

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

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

A szoftverfejlesztés eszközei

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

30 MB INFORMATIKAI PROJEKTELLENŐR

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

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

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

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

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

WebCenter. Online jóváhagyás és együttműködés. Gönczi Zsolt Október

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

A szervezeti architektúra nézetei, nézőpontjai és tervezési módszerei. Szolgáltatás orientált architektúrák információs rendszerekben

ALKALMAZÁS KERETRENDSZER

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

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

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

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

Üzleti architektúra menedzsment, a digitális integrált irányítási rendszer

Felhőszolgáltatások megvalósítása PureSystems eszközökön

Van-e ingyen-ebéd? Avagy mire elég a nyílt forráskodú Pentaho? Fekszi Csaba Ügyvezető október 4.

Átírás:

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

Folyamat, munkafolyamat Munkafolyamat (Workflow): azoknak a lépéseknek a sorozata, amelyeket egy cél elérése érdekében meg kell valósítani.

Folyamatok Üzleti folyamatok Fejlesztési folyamatok Üzemeltetési folyamatok

Folyamatmodellezés célja Miért jó, ha modelleket készítünk? o Dokumentációs célzattal o Egységes nyelvezet a felhasználói között o Elemzési lehetőségek o Informatikai megvalósítás alapja

Informatikai háttér üzleti folyamatokhoz Általános folyamatkezelő rendszer: Folyamatok leírása o UML Activity diagram o BPMN o Adatfolyamhálók Folyamatok elemzése Folyamatok végrehajtása o Végrehajtás o Monitorozás

CÉL: Folyamatmenedzsment infrastruktúra Követelmények Folyamatmodell Szolgáltatás Létező komponensek illesztés Folyamatmenedzsment Infrastruktúra Optimalizálás Monitor Analízis

Microsoft BizTalk Server Üzleti folyamat management szerver Lehetővé teszi: o Üzleti folyamatok modellezését, létrehozását o Üzleti folyamatok integrálását, kezelését o Üzleti, irodai alkalmazások, adatbázisok integrációját Architektúra: o Publish/subscribe alapú tartalom-közvetítés o Beépített adapterek (file, web, DB, )

JBoss jbpm Platform végrehajtható folyamat leró nyelvekhez Üzleti folyamatok integrációja Java alkalmazásba o jpdl, BPEL, Pageflow támogatás Process Virtual Machine o Natív folyamat végrehajtás

Végrehajtható folyamatmodellek A megtervezett folyamat végre is hajtható Általános megoldás nincs Speciális területekre megoldás o jpdl Tiszta Java nyelvű környezet o BPEL Java API Java változók Java alapú taszk menedzsment Elosztott szolgáltatások összekapcsolása Esetleges emberi taszkok megvalósítása

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

Üzleti folyamatok Webszolgáltatás alapokon BPEL

Pl.: Könyváruház: 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 IBM o BPEL4WS Eclipse Plug-in Oracle BPEL Designer (régen Collaxa) o Eclipse o JDeveloper Más fejlesztőeszközök kimenete o WebSphere Business Integrator 5.1, 6.0 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

BPEL futtatókörnyezetek Business Processes for Web Services Java Runtime (BPWS4J) o IBM Java alkalmazás (WebSphere, Apache Tomcat) Oracle BPM BizTalk Server (2004-es verziótól) Open source futtató környezetek o Twister o ActiveBPEL engine o Bexee BPEL execution o Eclipse SOA tools Platform B2J Natív Java készítése

Scope szintjén Hibakezelés BPEL-ben o Egyedi elem vagy folyamat részlet Fault handling o Hiba típusokra definiálható o Akkor hívódik meg, ha meghiúsul az adott rész o Mint Java-ban az exception handling o Alulról felfele hívódik meg

Hibakezelés BPEL-ben Compensation handling o Mi történjen, ha meghiúsul egy tranzakció, de bizonyos részei lefutottak? o Erőforrásokat nem lehet zárolni, mert elosztottak, egy folyamat sokáig futhat (long-running transactions) Adatbázis lock vs emberi feladat távoli szerveren o Compensation handling definiálható scope szinten o Akkor hívódik meg, ha valamiért vissza akarjuk vonni az adott lépések hatását o Pl. cancellation email o Rekurzivían lefele hívódik meg a hierarchiában o A végrehajtó motor felel azért, hogy azok a változó értékek rendelkezésre álljanak, amik a folyamat meghívásakor érvényben voltak 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, Új javaslat: BPEL folyamatok mint komponensek integrálása (Service Component Architecture)

BPMN abstract jelölés Business Process Modeling Notation o Workflow jelölésrendszer Bonyolultabb vezérlési szerkezetek Leképezhető konkrét implementációs nyelvre o Pl. BPEL, XPDL, stb.

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

OASIS 2007. március BPEL 2.0 Különbségek a BPEL 1.1-hez képest: Új activity típusok: o <repeatuntil>: 1.1-ben csak while van o <validate>: egy változó értékének típusellenőrzése o <foreach>: parallel and sequential o <rethrow>: az eredeti fault továbbdobása, változtatások figyelmen kívül hagyásával (pl, fault variable) o <extensionactivity>: új tevékenység felvétele a nyelvbe

BPEL 2.0 új elemei Új activity típusok: o <compensatescope>: egy speciális scope összes példányának kompenzálása. A <compensate> az összes közvetlen tartalmazott scope-ot kompenzálja. Átnevezett tevékenységek o Switch/case -> if/else terminationhandler: a faulthandler és a compensationhandler mellé Minden tevékenységhez külön expression language rendelhető. XSLT transzformációk támogatása

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

Protokoll

BPEL4People A BPEL 2.0 kiegészítése 2 aspektusból o WS-HumanTask integrálása BPEL 2.0-ba lépésként o Emberként beavatkozhatunk a munkafolyamat végrehajtásába A szabvány tartalmából: o Generic Human Roles o People Activity

Ü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 Modellezés Telepítés Grafikus szerkesztő Végrehajtó Modellellenőrző motor Javítás Futási eredmények Futtatás 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

Demo Eclipse BPEL Designer BPEL Verification Tool BPEL Animation Controller VIATRA Traceability