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