SZÁLLÍTÓI TERMÉKEK INTEROPERABILITÁSI VIZSGÁLATA



Hasonló dokumentumok
FOLYAMATLEÍRÁST SEGÍTİ GYAKORLATI ÚTMUTATÓ

OKTATÁSI CSOMAG (SOA)

KÖZPONTI RENDSZER PILOT PROJEKTTERV

ÚTMUTATÓ AKKREDITOROK SZÁMÁRA

ELEKTRONIKUS KÖZIGAZGATÁSI KERETRENDSZER INCIDENSMENEDZSMENT AJÁNLÁS

A MAGYAR SOA ALAPÚ ARCHITEKTÚRA RENDSZERTERVE

Elektronikus közigazgatási keretrendszer Mentési rend ajánlás ELEKTRONIKUS KÖZIGAZGATÁSI KERETRENDSZER MENTÉSI REND AJÁNLÁS

ELEKTRONIKUS KÖZIGAZGATÁSI KERETRENDSZER IT ÜGYFÉLSZOLGÁLAT AJÁNLÁS

SZOLGÁLTATÁSOK MEGFELELİSÉG VIZSGÁLATÁBAN TECHNIKAI LEÍRÁS KÖZREMŐKÖDİ SZERVEZETEKRE VONATKOZÓ ELVÁRÁSOK

INTEROPERABILITÁSI BEVIZSGÁLÁSI MÓDSZERTAN

ELEKTRONIKUS KÖZIGAZGATÁSI KERETRENDSZER KIADÁSMENEDZSMENT AJÁNLÁS

ELEKTRONIKUS KÖZIGAZGATÁSI KERETRENDSZER RENDELKEZÉSREÁLLÁS MENEDZSMENT AJÁNLÁS

MINTA BIZTONSÁGI KATEGORIZÁLÁS SEGÉDLET

FEJLESZTÉSI KERETRENDSZER ÉS KOMPONENSTÁR

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

IT BIZTONSÁGI KÖVETELMÉNYRENDSZER

Webszolgáltatás alapokon BPEL

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

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

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

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

IT biztonsági szintek és biztonsági kategorizálási minta

Webszolgáltatás alapokon BPEL

ELEKTRONIKUS KÖZIGAZGATÁSI KERETRENDSZER KÖZBESZERZÉS MŐSZAKI LEÍRÁS AJÁNLÁS

ELEKTRONIKUS KÖZIGAZGATÁSI KERETRENDSZER RENDSZERFEJLESZTÉSI PROJEKT KÖVETELMÉNYEK

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

ELEKTRONIKUS KÖZIGAZGATÁSI KERETRENDSZER SZOLGÁLTATÁSKATALÓGUS AJÁNLÁS

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

NEPTUN 3R DIPLOMA MELLÉKLET NYOMTATÁS BEÁLLÍTÁSA

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

E-Számlázás az ECOD rendszeren belül. Horváth Péter, Senior Projekt Menedzser Synergon Retail Systems Kft.

Ezeket a kiemelkedı sebességő számítógépeket nevezzük szuperszámítógépeknek.

e-közigazgatás fejlesztési koncepció

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

Beszámoló. II. Rákóczi Ferenc Megyei Könyvtár évi szakmai munkájáról

OKTATÁSKUTATÓ ÉS FEJLESZTŐ INTÉZET TÁMOP / századi közoktatás fejlesztés, koordináció

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

Java I. A Java programozási nyelv

ÖNKORMÁNYZATI ARCHITEKTÚRA AJÁNLÁS

OpenOffice Pilot projekt az NFGM-ben

KÖZIGAZGATÁSI OPERATÍV PROGRAMOK IT BIZTONSÁGI KÖRNYEZETE AZ IT BIZTONSÁGI SZABÁLYZATMENEDZSMENT KÖVETELMÉNYEI

SZAKMAI MONITORING KERETRENDSZER PILOT VERZIÓ LEÍRÁS

GAZDÁLKODÁSI RENDSZER INTERFÉSZ AJÁNLÁS

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

Fejér megye Integrált Területi Programja 2.0

IBM Business Monitor 7. változat 5. alváltozat. IBM Business Monitor telepítési kézikönyv

Elızmények. Csengey Gusztáv Általános Iskola 2170 Aszód, Csengey u. 30. Ü.szám: 222/2009.

A szakképzı iskolát végzettek iránti kereslet és kínálat várható alakulása 2010

E L İ T E R J E S Z T É S a költségvetési intézmények évi pénzügyi-gazdasági ellenırzéseinek tapasztalatairól

KÖZIGAZGATÁSI INFORMATIKAI BIZOTTSÁG

JAVA webes alkalmazások

13. Fájlformátumok. Schulcz Róbert Madarassy László 13. Fájlformátumok v

MÓDSZERTANI ÚTMUTATÓ AZ INTEROPERABILITÁS TERVEZÉSÉNEK TÁMOGATÁSÁRA

PROJEKTMENEDZSMENT ÉS FEJLESZTÉSI SABLONOK

Adatbáziskezelés alapjai. jegyzet

A MAGYARORSZÁGI KUTATÁS-FEJLESZTÉS ÉS INNOVÁCIÓ (K+F+I) INTÉZMÉNYRENDSZERE

Közösség, projektek, IDE

ADATBÁZIS-KEZELÉS - BEVEZETŐ - Tarcsi Ádám, ade@inf.elte.hu

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

KÖZIGAZGATÁSI INFORMATIKAI BIZOTTSÁG

Beszámoló a Magyar Tudományos Akadémia évi költségvetési irányelveirıl

Pomáz Város Önkormányzatának 4./2006. (01.26.) számú rendelete

Grafikus keretrendszer komponensalapú webalkalmazások fejlesztéséhez

Útmutató az IT biztonsági szintek meghatározásához ÚTMUTATÓ AZ IT BIZTONSÁGI SZINTEK MEGHATÁROZÁSÁHOZ ÚTMUTATÓ

VÍZÓRA NYÍLVÁNTARTÓ RENDSZER

stratégiai kutatási terve

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

A Java EE 5 plattform

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

Újszászi. Általános Iskola Óvoda, Bölcsıde, Pedagógiai Szakszolgálat Nevelési Központ

Zimbra levelező rendszer

IBM WebSphere Adapters 7. változat 5. alváltozat. IBM WebSphere Adapter for felhasználói kézikönyv 7. változat 5.kiadás

Minıségirányítási Program

A MAGYAR E-KÖZIGAZGATÁSI ARCHITEKTÚRA

A JÖVŐ INTERNET KUTATÁSKOORDINÁCIÓS KÖZPONT SZERVEZETI ÉS MŰKÖDÉSI SZABÁLYZATA

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

TÁMOP / A FOGLALKOZTATÁSI SZOLGÁLAT FEJLESZTÉSE AZ INTEGRÁLT MUNKAÜGYI ÉS SZOCIÁLIS RENDSZER RÉSZEKÉNT

Újszászi. Általános Iskola Óvoda, Bölcsıde, Pedagógiai Szakszolgálat Nevelési Központ RENDSZERE

3. modul - Szövegszerkesztés

SZAKDOLGOZAT. Czibere Viktória

SOA ALAPÚ INTEGRÁCIÓS LEHETŐSÉGEK AZ E-KÖZIGAZGATÁSBAN

Szaniszló Gábor, ABB Kft MEE szakmai nap elıadás, Az IEC61850-es szabvány gyakorlati alkalmazása. ABB Group June 1, 2010 Slide 1

KISTELEPÜLÉSEK ÖNFENNTARTÓ, HATÉKONY ÉS ÉRTÉKTEREMTİ KÖZFOGLALKOZTATÁSA

V. SZAKMAI MONITORING KERETRENDSZER (TANULMÁNY) SPECIFIKÁCIÓJA. E-közigazgatás keretrendszer kialakítása projekt 1

BlackBerry Professional Server szoftver

PÁTY ÖNKORMÁNYZATA POLGÁRMESTERI HIVATALÁNAK SZERVEZETFEJLESZTÉSE E-KÖZIGAZGATÁSI ALAPISMERETEK AZ ELEKTRONIKUS ÜGYINTÉZÉS ÉS HATÓSÁGI SZOLGÁLTATÁS

KÖZLEMÉNY A KÉPVISELİK RÉSZÉRE

TERMÉKEKRE VONATKOZÓ ÉRTÉKELÉSI MÓDSZERTAN

Önkormányzati kötvénykibocsátások Magyarországon: tapasztalatok és lehetıségek

TÉZISEK. Közszolgáltatások térbeli elhelyezkedésének hatékonyságvizsgálata a földhivatalok példáján

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

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

A Clipper evolúciója

e-szignó Online Szolgáltatások - e-számla rendszer

Kistérségi stratégiai belső ellenőrzési terv évek

Útmutató a MATARKA adatbázisból való adatátvételhez

Webszolgáltatások kommunikációs overhead-jének becslése

Ipar. Szent Korona Értékrend

SZAKISKOLAI ÖNÉRTÉKELÉSI MODELL

ÉLET TÉR / KÖZÖS TÉR - KÖZÖS VÁROS Pécs Megyei Jogú Város Önkormányzatának civil közösségek támogatási pályázata - PÉCS 2011 PÁLYÁZATI KIÍRÁS

Átírás:

SZÁLLÍTÓI TERMÉKEK INTEROPERABILITÁSI VIZSGÁLATA

A dokumentum az Új Magyarország Fejlesztési Terv keretében, az Államreform Operatív Program támogatásával, az Elektronikus közigazgatási keretrendszer tárgyú kiemelt projekt megvalósításának részeként készült. A dokumentum elkészítésében részt vett: 2/14

Metaadat-táblázat Megnevezés Cím (dc:title) Kulcsszó (dc:subject) Leírás (dc:description) Típus (dc:type) Forrás (dc:source) Kapcsolat (dc:relation) Leírás Szállítói termékek interoperabilitási vizsgálata Folyamatleíró nyelv A dokumentum összefoglalja azokat a tapasztalatokat, melyeket jelentıs gyártók SOA fejlesztıeszközeinek és BPEL motorjainak eddigi használata során - az e-közigazgatási keretrendszer kialakítása projekt végrehajtásának elsı néhány hónapja alatt - nyertünk, különös tekintettel a BPEL nyelv hordozhatóságának kérdésére. Szöveg Folyamatleíró nyelv kiválasztása Terület (dc:coverage) KOP-ok során megvalósuló projektek, központi IT fejlesztési projektek Létrehozó (dc:creator) BME IK Kiadó (dc:publisher) MEH EKK Résztvevı (dc:contributor) Jogok (dc:rights) e-közigazgatási Keretrendszer Dátum (dc:date) 2008.07.30 Formátum (dc:format) Microsoft Word.doc, elektronikus adathordozón Azonosító (dc:identifier) Nyelv (dc:language) Magyar Verzió (dc:version) V2 Státusz (State) végleges Fájlnév (FileName) EKK_ekozig_szallitoi_termek_vizsg_080730_V2.doc Méret (Size) 13 oldal Ár (Price) - Felhasználási jogok (UserRights) - 3/14

Verziókövetési táblázat A dokumentum neve Szállítói termékek interoperabilitási vizsgálata A dokumentum készítıjének neve BME Informatikai Központ A dokumentum jóváhagyójának neve A dokumentum készítésének dátuma 2008.07.30. Verziószám V2 Összes oldalszám 13 A projekt azonosítója e-közigazgatási Keretrendszer kialakítása Változáskezelés Verzió Dátum A változás leírása V1.0 2008.05.20 First draft V1.1 2008.05.29 Annotált tartalomjegyzékként átadott V1.2 2008.06.10 Bıvítések V1.3 2008.07.27 Szerkezeti változtatások, kiegészítések V1.4 2008.07.30 Javítások V2 2008.07.30 MeH-nek átadott verzió 4/14

Szövegsablon Megnevezés Tanulmány, vizsgálati eredmény 1. Elıszó (Foreword) 1. fejezet 2. Bevezetés (Preamble) 2. fejezet 3. Alkalmazási terület (Scope) 4. Rendelkezı hivatkozások (References) 5. Fogalom-meghatározások (Definitions) 6. A szabvány egyedi tartalma (UniqueContent) 7. Bibliográfia 7. fejezet 8. Rövidítésgyőjtemény 9. Fogalomtár 10. Ábrák Folyószövegben 11. Képek Folyószövegben 12. Fogalmak 13. Verzió 14. Mellékletek (Appendix) nincs 5/14

Tartalomjegyzék 1. Elıszó... 7 2. Bevezetés... 7 2.1. A DOKUMENTUM CÉLJA... 7 2.2. A DOKUMENTUM FELÉPÍTÉSE... 7 3. Vizsgált termékek... 8 4. Vizsgálati módszer... 8 5. Vizsgálat során nyert tapasztalatok... 11 6. Összefoglalás... 13 6/14

1. Elıszó Jelen dokumentum az e-közigazgatási keretrendszer részét képezi. Az e-közigazgatási keretrendszer kialakítása projekt megvalósítása során több olyan terméket is megvizsgáltunk, mely potenciálisan alkalmas lehet egy közigazgatási rendszerben folyamatmotorként és/vagy fejlesztıeszközként történı felhasználására. Vizsgálataink nem teljes körőek és nem auditálási jellegőek. Jelen dokumentumban tett megállapításaink elsısorban a mintarendszer kialakítása során nyert tapasztalatainkra alapulnak. 2. Bevezetés 2.1. A dokumentum célja A dokumentum célja összefoglalni azokat a tapasztalatokat, melyeket jelentıs gyártók SOA fejlesztıeszközeinek és BPEL motorjainak eddigi használata során - az e-közigazgatási keretrendszer kialakítása projekt végrehajtásának elsı néhány hónapja alatt - nyertünk, különös tekintettel a BPEL nyelv hordozhatóságának kérdésére. A projekt befejezı szakaszában minden bizonnyal jóval több tapasztalatról számolhatnánk be, azonban a folyamatleíró nyelv kialakítása, kiválasztása különösen indokolja a jelenlegi beszámolót ill. összefoglalót. Az általunk vizionált SOA alapokon felépülı e-közigazgatási rendszer egyik kulcsponti elemét adják a webszolgáltatások szervezését, vezénylését biztosító folyamatmotorok. Ezek a folyamatmotorok felelısek az e-közigazgatási buszon, és az egyes szervezeti egységeknél megjelenı szolgáltatások megfelelı sorrendben történı meghívását, összekapcsolását. Ezért különösen fontos kérdés, hogy a szóba jöhetı folyamatmotorok által közvetlenül értelmezendı folyamatleírás mennyire hordozható, és hogyan tudnak egymás mellet megélni a különbözı gyártók eszközei. Mennyire tekinthetık interoperabilis eszközöknek a fejlesztıeszközök. A dokumentum a fenti kérdésekre próbál gyors választ adni úgy, hogy a projekt további döntéseit segítse, támogassa. 2.2. A dokumentum felépítése Az 1. fejezet elhelyezi a dokumentumot az e-közigazgatási keretrendszeren belül. A 2. fejezet bevezetı információkat tartalmaz, megadva a dokumentum célját és felépítését. A 3. fejezet felsorolja a vizsgált terméket. A 4. fejezet bemutatja a vizsgálat menetét és a vizsgálat során az adott fejlesztıeszközzel kifejlesztendı egyszerő webszolgáltatást. Az 5. fejezet ismerteti a vizsgálat során szerzett tapasztalatokat. A 6 fejezet következtetéseket von le a tapasztaltakból. 7/14

3. Vizsgált termékek Az e-közigazgatási keretrendszer kialakítása projektben az alábbi szállítók folyamatmotor megoldásait illetve SOA fejlesztıeszközeit vizsgáltuk a saját mintarendszer környezetünkben. Termék Folyamatmotor Fejlesztı eszköz Gyártó ActiveBPEL ActiveBPEL 5.0 ActiveVOS 5.0 Opensource OpenESB GlassFish v2-ur2 Netbeans 6.1 Opensource CAPS 6 GlassFish v2-ur2 / Netbeans 6.1 Sun SUN AS 8 WebSphere WebSphere Process WebSphere Integration IBM Server 6.1 Developer 6.1 BizTalk BizTalk Server 2006 R2 Visual Studio 2005 SP1 Microsoft Oracle Suite SOA Oracle AS 10g 10.1.3.1 JDeveloper 10g 10.1.3.3 Oracle 1. táblázat: Vizsgált termékek 4. Vizsgálati módszer A vizsgálat során egy igen egyszerő feladatot oldottunk meg az egyes rendszerekben, majd azt vizsgáltuk, hogy a keletkezett technológiai szintő folyamatleírások, dokumentumok hogyan vihetık át az egyik rendszerbıl a másikba. A vizsgálat során nem vizsgáltuk a keletkezett megoldások hatékonyságát, vagy magát a fejlesztés nehézségeit. A hatékonyság vizsgálata összetettebb problémát igényelne, a fejlesztıi keretrendszer kényelmi szolgáltatásainak megítélése pedig nagy mértékben szubjektív képet adna. Ezért a továbbiakban csak az interoperabilitás szempontjait érintjük. A vizsgált probléma egy nagyon egyszerő, a 4 matematikai alapmővelet elvégzésére alkalmas asztali számológép-szolgáltatás kifejlesztése és portolása volt. A probléma megoldása során elvégeztük az eszközök egyszerő konfigurálását, és vizsgáltuk a WS-Addressing szabvány támogatottságát, valamint az elágazás és a kivételkezelés, mint folyamatminta megvalósítottságát. Ezen kívül vizsgáltuk a szolgáltatás megvalósíthatóságát mind szinkron, mind aszinkron folyamatként. Teljesen világos, hogy ezzel az egyszerő módszerrel nem nyerhetünk átfogó és minden részletre kiterjedı képet, de a bevezetıben leírt célok a további döntések elıkészítése szempontjából hasznos információkhoz jutunk. Magát folyamatot az XML szintaxisú BPEL definíció írja le, de annak interfészét külön WSDL (Web Services Description Language) [5] állomány tárolja. A vizsgálatban használt számológép-szolgáltatás BPEL formátumú leírásának osztást kiszolgáló részletét szemléltetik az alábbi ábrák (1. ábra és 2. ábra). Az elsı részlet BPEL 1.1, míg a második BPEL 2.0 formátumú. A 2.0-ás változaton jól megfigyelhetı az if szerkezet megjelenése. 8/14

<?xml version="1.0" encoding="utf-8"?> <bpws:process xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:pilot="http://pilot.ik.bme.hu/pilotfeladatok" xmlns:xsd="http://www.w3.org/2001/xmlschema" expressionlanguage="http://www.w3.org/tr/1999/rec-xpath-19991116" name="calculatorprocess" suppressjoinfailure="yes" targetnamespace="http://pilot.ik.bme.hu/pilotfeladatok"> <bpel:partnerlinks> <bpel:partnerlink myrole="icalculatorrole" name="icalculator" partnerlinktype="pilot:icalculator_partnerlinktype"/> </bpel:partnerlinks> <bpel:variables>... <bpel:variable messagetype="pilot:icalculator_divide_inputmessage" name="divide"/> <bpel:variable messagetype="pilot:icalculator_divide_outputmessage" name="divideresponse"/> <bpel:variable messagetype="pilot:mathfaultmessage" name="divisionbyzero"/> </bpel:variables> <bpel:pick createinstance="yes" suppressjoinfailure="yes">... <bpel:onmessage operation="divide" partnerlink="icalculator" porttype="pilot:icalculator" variable="divide"> <bpel:switch> <bpel:case condition="bpws:getvariabledata('divide', 'parameters', '/pilot:divide/pilot:right')=0.0"> <bpel:flow> <bpel:links> <bpel:link name="l4"/> </bpel:links> <bpel:assign> <bpel:source linkname="l4"/> <bpel:copy> <bpel:from> <pilot:mathfault xmlns:bpel="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:pilot="http://pilot.ik.bme.hu/pilotfeladatok" xmlns:xsd="http://www.w3.org/2001/xmlschema"> <pilot:operation>divide</pilot:operation> <pilot:problem>division by zero.</pilot:problem> </pilot:mathfault> </bpel:from> <bpel:to part="fault" variable="divisionbyzero"/> </bpel:copy> </bpel:assign> <bpel:reply faultname="pilot:mathfault" name="divideresponse" operation="divide" partnerlink="icalculator" porttype="pilot:icalculator" variable="divisionbyzero"> <bpel:target linkname="l4"/> </bpel:reply> </bpel:flow> </bpel:case> <bpel:otherwise>... </bpel:otherwise> </bpel:switch> </bpel:onmessage> </bpel:pick> </bpws:process> 1. ábra: Számológép-szolgáltatás BPEL 1.1 verziójú kódrészlete 9/14

<?xml version="1.0" encoding="utf-8"?> <bpel:process xmlns:bpel="http://docs.oasis-open.org/wsbpel/2.0/process/executable" xmlns:ext="http://www.activebpel.org/2006/09/bpel/extension/query_handling" xmlns:pilot="http://pilot.ik.bme.hu/pilotfeladatok" xmlns:xsd="http://www.w3.org/2001/xmlschema" expressionlanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0" ext:createtargetxpath="yes" ext:disableselectionfailure="yes" name="calculatorprocess" targetnamespace="http://pilot.ik.bme.hu/pilotfeladatok"> <bpel:extensions> <bpel:extension mustunderstand="yes" namespace="http://www.activebpel.org/2006/09/bpel/extension/query_handling"/> </bpel:extensions> <bpel:import importtype="http://www.w3.org/2001/xmlschema" location="../schema/pilotfeladatok.xsd" namespace="http://pilot.ik.bme.hu/pilotfeladatok"/> <bpel:import importtype="http://schemas.xmlsoap.org/wsdl/" location="../wsdl/pilotfeladatok.wsdl" namespace="http://pilot.ik.bme.hu/pilotfeladatok"/> <bpel:import importtype="http://schemas.xmlsoap.org/wsdl/" location="../wsdl/pilotfeladatokpl20.wsdl" namespace="http://pilot.ik.bme.hu/pilotfeladatok"/> <bpel:partnerlinks> <bpel:partnerlink myrole="icalculatorrole" name="icalculator" partnerlinktype="pilot:icalculator_partnerlinktype"/> </bpel:partnerlinks> <bpel:variables>... <bpel:variable element="pilot:divide" name="divide"/> <bpel:variable element="pilot:divideresponse" name="divideresponse"/> <bpel:variable messagetype="pilot:mathfaultmessage" name="divisionbyzero"/> </bpel:variables> <bpel:pick createinstance="yes">... <bpel:onmessage operation="divide" partnerlink="icalculator" variable="divide"> <bpel:if> <bpel:condition>$divide/pilot:right = 0.0</bpel:condition> <bpel:flow> <bpel:links> <bpel:link name="l6"/> </bpel:links> <bpel:assign> <bpel:sources> <bpel:source linkname="l6"/> </bpel:sources> <bpel:copy> <bpel:from> <bpel:literal> <pilot:mathfault> <pilot:operation>divide</pilot:operation> <pilot:problem>division by zero.</pilot:problem> </pilot:mathfault> </bpel:literal> </bpel:from> <bpel:to part="fault" variable="divisionbyzero"/> </bpel:copy> </bpel:assign> <bpel:reply faultname="pilot:mathfault" operation="divide" partnerlink="icalculator" porttype="pilot:icalculator" variable="divisionbyzero"> <bpel:targets> <bpel:target linkname="l6"/> </bpel:targets> </bpel:reply> </bpel:flow> <bpel:else>... </bpel:else> </bpel:if> </bpel:onmessage> </bpel:pick> </bpel:process> 2. ábra: Számológép-szolgáltatás BPEL 2.0 verziójú kódrészlete A bemutatott programrészletekben jól felismerhetı a partnerkapcsolatokra (partnerlink) történı hivatkozás. Ez fontos elem a külsı kapcsolatok részleteinek elrejtéséhez. A partner link típus azt írja le, hogy miképpen lép interakcióba két fél, és mi az, amit egymásnak nyújtani tudnak. 10/14

A kódrészletek további XML állományokra hivatkoznak, melyek sémákat és interfészeket írnak le. A verzióváltás természetesen ezeket is érinti, bár ezek a viszonylag könnyen áthidalható verzióbeli különbségek közé tartoznak. A BPEL program és a WSDL leírások sematikus kapcsolatát szemlélteti a következı ábra (3. ábra). [21] 3. ábra: BPEL program és a WSDL leírások kapcsolta 5. Vizsgálat során nyert tapasztalatok A vizsgálat során nyert kép meglehetısen vegyes. Egyes rendszerek problémamentesen be tudták olvasni a másik fejlesztıeszközzel készült leírásokat, mások kisebb problémákkal, vagy egyáltalán nem. A következı táblázatban (2. táblázat) összefoglaltuk a legfontosabb tapasztalatokat, melyeket az elızı fejezeten bemutatott egyszerő nem mindenre kiterjedı vizsgálattal nyertünk a BPEL kód hordozhatósága tekintetében. Ismételten hangsúlyozzuk, hogy ezzel az egyszerő módszerrel nem nyerhettünk átfogó és minden részletre kiterjedı képet, de a bevezetıben leírt célok a további döntések elıkészítése szempontjából hasznos információkhoz jutottunk. Termék neve ActiveBPEL OpenESB Tapasztalat Az ActiveBPEL segítségével mind BPEL 1.1, mind BPEL 2.0 verziójú leírást is lehet tervezni, de elıre meg kell mondani, melyiket használjuk. Utólag már nem lehet az elıállítandó BPEL leírás verziószámát módosítani, pontosabban van konvertálási lehetıség 1.1 -> 2.0 irányba, visszafelé nincs. Az eszközzel elıállított BPEL leírás más, a megfelelı verzióval kompatibilis rendszerbe problémamentesen beolvasható. Az OpenESB csak a BPEL 2.0 verzióját támogatja. Az eszközzel elıállított BPEL más, a megfelelı verzióval kompatibilis rendszerbe problémamentesen beolvasható. Az ActiveBPEL-lel való átjárás egészen jól mőködik mindkét irányba. 11/14

Termék neve CAPS 6 WebSphere BizTalk Oracle SOA Suite Tapasztalat OpenESB-vel kompatibilis nézetben azonosak a tapasztalataink az OpenESB-nél leírtakkal A CAPS 5 csak BPEL 1.0-át támogat, ami már eléggé elavult. Magát a szabványt is nehéz megtalálni. Képes 1.1-es verziót beimportálni és 1.0- ássá konvertálni, ezt kipróbáltuk és mőködött. A másik irány viszont problémás, mivel a többi eszköz a BPEL 1.0-ás változatát nem támogatja. Az IBM WebSphere a leírásától eltérıen a BPEL 1.1 és a BPEL 2.0 közti verziót implementál. Ez azt jelenti, hogy már vannak BPEL 2.0 sajátosságok a generált kódban, de nem fogad el minden, a BPEL 2.0 elıírás szerint kötelezıen megvalósítandó elemet. Így semelyik eszköz irányába sem átjárható. Ha csak korlátozott elemeket használunk fel és generált kódban a BPEL XML, a névterét lecseréljük, van esély arra, hogy importálni tudunk. A másik irány azonban nem megy: a WebSphere Integration Developer grafikus felületén létrehozott folyamatokban az XPATH kifejezésekbıl hiányzik a névtér prefix, amit a többi eszköz így nem tud értelmezni. A BizTalk szerver csak import/export formátumként használja a BPEL-t, belül XLANG/S formátumot tárol. A leírások alapján a BizTalk Server BPEL kompatibilis, de az importálásnál esetenként preproceszort kell futtatni. Ez elég körülményessé teszi a használatot. És bizonyos formai szabályokat be kell tartani a konverzió során. Fontos megjegyezni, hogy maga a termék nem tartalmaz natív BPEL motort. Az Oracle SOA Suite csak BPEL 1.1-es verziót támogat, és az ActiveBPEL-lel való átjárás apróbb, automatizálható konverziók, vagy megszorítások mellett mindkét irányban jól megoldható. 2. táblázat: Tapasztalatok termékenként Némi magyarázatra szorul a CAPS 6 és az OpenESB viszonya, hiszen az 1. táblázat szerint azonos folyamatmotort és azonos fejlesztıeszközt használnak, mégis eltérı eredményekre jutottunk. Leegyszerősítve CAPS 6 = CAPS 5 + OpenESB [11], azaz a CAPS 6 az OpenESB eszközükre épít, de kompatibilitási okokból képes CAPS 5-ként viselkedni. A vizsgálatot úgy végeztük, hogy valójában csak a CAPS 5 funkcionalitását használtuk ki. Ez a magyarázat az eltérı eredményre. A vizsgálatok során megállapítottuk, hogy a leírások kicserélhetısége szempontjából alapvetıen az elıállított ill. beolvasott BPEL verzió a lényeges. A vizsgált rendszerek egy része csak a BPEL 1.1 változatot támogatja, és ez korlátozza az adatcserét. Az alábbi táblázat (3. táblázat) a támogatott verziók szempontjából foglalja össze tapasztalatainkat. Hangsúlyozzuk, hogy a vizsgálatok kizárólag az 1. táblázatban megadott verziókra terjedtek ki. Ezért a termékek más verzióira nem érvényesek megállapításaink. 12/14

Termék neve Változat BLEL 1.0 BPEL 1.1 BPEL 2.0 ActiveBPEL igen igen OpenESB igen CAPS 6 igen csak import igen WebSphere már nem még nem BizTalk elı- ill. utófeldolgozással Oracle SOA Suite igen 3. táblázat: A vizsgált eszközök által támogatott BPEL verziók Számunkra legmeglepıbb eredményt a WebsSphere vizsgálata hozta. Azt tartjuk meglepınek, hogy az IBM a tapasztaltakkal ellentétben azt kommunikálja, hogy terméke megfelel a BPEL 2.0 elıírásainak [19],[9]. 6. Összefoglalás A dokumentum célja összefoglalni azokat a tapasztalatokat, melyeket jelentıs gyártók SOA fejlesztıeszközeinek és BPEL motorjainak eddigi használata során nyertünk. Mint ahogy a bevezetıben utaltunk rá, az elsıdleges cél a BPEL nyelv hordozhatóságának vizsgálata volt. A vizsgálati tapasztalatok megerısítették korábbi feltételezésünket, és azt a szakirodalomból származó véleményt, hogy ma még a BPEL nem egyformán támogatott folyamatleírási nyelv. Ennek elsıdleges oka, hogy a 2.0-ás szabvány nagyon friss. Ezt a verziót 2007 novemberében fogadta el az OASIS (Organization for the Advancement of Structured Information Standards) konzorcium [1]. Így egyes gyártók még nem építették be termékeikbe azt. Alapvetıen ez magyarázza BPEL kód hordozhatóságával kapcsolatban tapasztaltakat. Ugyanakkor maga a BPEL szabvány nem definiálja a folyamat grafikus megjelenítésének részleteit. Pontosabban nem ad információt arra, hogy az egyes folyamatelemek grafikus megjelenítéséhez szükséges információkat hogyan, milyen formában, milyen szimbólumokkal és hol kell tárolni. Ezért a fejlesztıeszközök ezt teljesen egyedileg tárolják, amibıl az következik, hogy egy adott folyamat grafikus megjelenése két különbözı fejlesztıeszközben még akkor is eltérhet, ha a két eszköz a BPEL szabvány elıírásainak mindenben eleget tesz. A fentiek miatt az e-közigazgatási keretrendszer folyamatainak BPEL-ben történı elsıdleges leírását nem javasoljuk. A BPEL jól használható technológiai folyamatleíró nyelvként abban az esetben, ha az egy magas szintő folyamatleírásból a megfelelı változatban automatikusan generálható. A magas szintő leírás kiválasztására a Folyamatleíró nyelv kiválasztása c. anyagban [3] teszünk javaslatot, mely dokumentum szintén az e-közigazgatási keretrendszer része. 13/14

7. Irodalomjegyzék [1] OASIS (Organization for the Advancement of Structured Information Standards) honlap: http://www.oasis-open.org, 2008. március [2] BPEL (Business Process Execution Language) standard: http://docs.oasis-open.org/wsbpel/2.0/os/wsbpel-v2.0-os.pdf, 2008. március [3] Folyamatleíró nyelv kiválasztása, EKK_ekozig_folyamatleiro_kivalasztasa080728_V1-4.doc [4] ActiveBPEL honlap: http://www.activevos.com/products.php, 2008. június [5] WSDL specifikáció: http://www.w3.org/tr/wsdl, 2008. június [6] OpenESB honlap: https://open-esb.dev.java.net/index.html, 2008. június [7] Sun Java Composite Application Platform Suite (Java CAPS) honlap: http://www.sun.com/software/javaenterprisesystem/javacaps/index.jsp, 2008. június [8] WebSphere Integration Developer honlap: http://www-306.ibm.com/software/integration/wid/, 2008. június [9] WebSphere Process Server honlap: http://www-306.ibm.com/software/integration/wps/, 2008. június [10] Microsoft BizTalk Server honlap: http://www.microsoft.com/biztalk/en/us/default.aspx, 2008. június [11] CAPS termék fejlıdési vonulata: http://blogs.sun.com/lerognon/entry/history_of_java_caps_product, 2008. június [12] GlassFish honlap: https://glassfish.dev.java.net/, 2008. június [13] NetBeans honlap: http://www.netbeans.org/, 2008. június [14] Oracle SOA Suite honlap: http://www.oracle.com/technologies/soa/soa-suite.html, 2008. június [15] J2EE Java 2 Platform, Enterprise Edition honlap: http://java.sun.com/javaee [16] WebSphere Application Server honlap: http://www-306.ibm.com/software/webservers/appserv/was/, 2008. március [17] Eclipse honlap: http://www.eclipse.org/, 2008. március [18] Oracle BPEL Process Manager: honlap http://www.oracle.com/technology/products/ias/bpel/index.html, 2008. március [19] Websphere BPM megoldáscsomag, IBM, 2007 [20] Weszolgáltatások összehangolása: a BPEL kiszolgáló elınyei, Oracle tájékoztató, 2004. [21] An Introduction to BPEL, http://www.developer.com/services/article.php/3609381, 2008. március [22] Simon Balázs: Szolgáltatás alapú elektronikus közigazgatás, diplomaterv, 2008 14/14