Tutorial: Implementacja aplikacji biznesowych w technologii
Transkrypt
Tutorial: Implementacja aplikacji biznesowych w technologii
XIII Seminarium PLOUG Warszawa .ZLHFLH Tutorial: Implementacja aplikacji biznesowych w technologii WS-BPEL (Konspekt) Maciej Zakrzewicz PLOUG Abstrakt. 1RZRF]HVQH V\VWHP\ LQIRUPDW\F]QH V FRUD] F] FLHM Z\WZDU]DQH Z $UFKLWHNWXU]H =RULHQWRZDQHM QD 8VáXJL ServiceOriented $UFKLWHFWXUH ]JRGQLH ] NWyU SRMHG\QF]H IXQNFMH EL]QHVRZH V LPSOHPHQWRZDQH Z SRVWDFL UR]SURV]RQ\FK VIHGHURZDQ\FK NRPSRQHQWyZXVáXJRZ\FKQDMF] FLHMRSDUW\FKQDWHFKQRORJLL:HE Services. Realizacja kompletnych procesów biznesowych wymaga VNRRUG\QRZDQ\FK L G\QDPLF]Q\FK Z\ZRáD WDN ]GHILQLRZDQ\FK NRPSRQHQWyZ XVáXJRZ\FK : FHOX XSURV]F]HQLD LPSOHPHQWDFML procesów biznesowych, konsorcjum firm BEA 6\VWHPV ,%0 L 0LFURVRIW ]DSURSRQRZDáR Z\VRNRSR]LRPRZ\ M ]\N PRGHORZDQLD procesów WS-BPEL (Business Process Execution Language for Web 6HUYLFHV ]D SRPRF NWyUHJR SURJUDPLVWD RSLVXMH PHFKDQL]P\ koordynacji, interakcji i integracji funkcji biznesowych. 7XWRULDO SU]HGVWDZLD NRQFHSFM ]DVWRVRZDQLD M ]\ND :6%3(/ Z G]LHG]LQLH EXGRZ\ V\VWHPyZ LQIRUPDW\F]Q\FK ]RULHQWRZDQ\FK QD XVáXJL RUD] LOXVWUXMH SURFHV LPSOHPHQWDFML DSOLNDFML :6%3(/ Z URGRZLVNX Oracle BPEL Proces Manager + Oracle JDeveloper + Oracle Application Server. Informacja o autorze.3UDFRZQLN,QVW\WXWX,QIRUPDW\NL3ROLWHFKQLNL3R]QDVNLHMRUD]SUH]HV=DU]GX6WRZDU]\V]HQLD3ROVNLHM*UXS\ 8*\WNRZQLNyZ 6\VWHPX 2UDFOH =DLQWHUHVRZDQLD QDXNRZH REHMPXM HNVSORUDFM GDQ\FK GDWD mining), systemy baz danych/hurtowni GDQ\FK RUD] WHFKQRORJLH LQWHUQHWRZH 'OD NUDMRZ\FK L ]DJUDQLF]Q\FK XQLZHUV\WHWyZ RUD] SU]HGVL ELRUVWZ PLQ 1LHPF\ :LHOND %U\WDQLD86$6áRZDFMD6áRZHQLDSURZDG]LZ\NáDG\LV]NROHQLD]]DNUHVXSURMHNWRZDQLDLLPSOHPHQWDFMLV\VWHPyZLQIRUPDW\F]Q\FK Kieruje i doradza w projektach informatycznych realizowanych w architekturach internetowych. Autor ponad 100 publikacji z zakresu RGNU\ZDQLD ]ELRUyZ F] VW\FK SU]HWZDU]DQLD ]DS\WD HNVSORUDF\MQ\FK adaptatywnych serwerów WWW, technik indeksowania baz danych, strojenia systemów baz danych, standardów -DYDGODED]GDQ\FKLGODDSOLNDFMLZLHORZDUVWZRZ\FK:VSyáWZyUFDVHULLNRQIHUH nFMLLVHPLQDULyZ3/28*VáX*F\FKWUDQVIHURZLZLHG]\LWHFKQRORJLLZUyGNUDMRZ\FKSU]HGVL ELRUVWZLQIRUPDW\F]Q\FK Tutorial: Implementacja aplikacji biznesowych w technologii WS-BPEL 51 Wprowadzenie Business Process Execution /DQJXDJH %3(/ MHVW GHNODUDW\ZQ\P M ]\NLHP ]QDF]QLNyZ ;0/ VáX*F\P GR RSLVX Z\NRQDQLD SURFHVyZ EL]QHVRZ\FK NRU]\VWDMF\FK ] XVáXJ :HE ServiFHV %3(/ XPR*OLZLD UHDOL]DFM DUFKLWHNWXU\ 62$ Service-Oriented $UFKLWHFWXUH ]D SRPRF WHFKQLNNRPSR]\FMLLNRRUG\QDFMLXVáXJ:HE6HUYLFHV']L NLX*\FLXM ]\ND%3(/SURVWHXVáXJL Web 6HUYLFHVPRJE\üZ\NRU]\VWDQHGR]EXGRZDQLDXVáXJ]áR*RQ\FKSUH]HQWRZDQ\FK]DUD]HP MDNRXVáXJL:HE6HUYLFHVZ\*V]HJRSR]LRPX - ]\N%3(/SRZVWDáQDSRGVWDZLHGZyFKZF]HQLHMV]\FKM ]\NyZRSLVXV\VWHPyZSU]HSá\ZX pracy (Workflow Systems): Web Services Flow /DQJXDJH:6)/M ]\NDgrafowego opracowaQHJRSU]H],%0RUD];/$1*M ]\NDEORNRZHJR]DSURMHNWRZDQHJRSU]H]Microsoft. Jego konFHSFMD QDZL]XMH UyZQLH* GR ZF]HQLHMV]\FK UR]ZL]D ] WHM G]LHG]LQ\ ebXML, BPSS, BPML, :6&,:6&'/3LHUZV]DZHUVMDM ]\ND%3(/]RVWDáDSU]HGVWDZLRQDZVLHUSQLXURNXZHrVMD Z PDUFX URNX D Z NZLHWQLX URNX VSHF\ILNDFMD %3(/ ]RVWDáD SU]HND]DQD GR Organization for the Advancement of Structured Information Standards (OASIS) w celu ostateczQHM VWDQGDU\]DFML 5yZQRF]HQLH SRZRáDQR NRPLWHW :HE Services Business Process Execution Language Technical &RPPLWWHH :6%3(/ 7& NWyU\ VWDá VL RGSRZLHG]LDOQ\ ]D NRRUG\QDFM prac rozwojoZ\FKLSRSXODU\]DFM UR]ZL]D - ]\N%3(/XPR*OLZLDNRPSR]\FM ]áR*RQ\FKSURFHVyZEL]QHVRZ\FK] HOHPHQWyZ SURVW\FK ZRSDUFLXRGZDSRGHMFLDDUDQ*DFM XVáXJDQJRUFKHVWUDWLRQOXEFKRUHRJUDIL XVáXJDQJchoUHRJUDSK\:UDPDFKDUDQ*DFMLXVáXJU\V]DNáDGDVL LVWQLHQLHFHQWUDOQHJRNRPSRQHQWXQS XVáXJL :HE 6HUYLFH NWyU\ NRRUG\QXMH Z\ZRáDQLD LQG\ZLGXDOQ\FK XVáXJ VNáDGDMF\FK VL QD NRPSOHWQ\SURFHVEL]QHVRZ\8VáXJLVNáDGRZHQLHPDMZLDGRPRFLXF]HVWQLF]HQLDZ]áR*RQ\P procesie biznesowym. XVáXJD :HE6HUYLFH XVáXJD :HE6HUYLFH NRRUG\QDWRU XVáXJD :HE6HUYLFH XVáXJD :HE6HUYLFH XVáXJD :HE6HUYLFH XVáXJD :HE6HUYLFH XVáXJD :HE6HUYLFH XVáXJD :HE6HUYLFH 5\V$UDQ*DFMDXVáXJ 5\V&KRUHRJUDILDXVáXJ &KRUHRJUDILDXVáXJU\VQLHNRU]\VWD]NRQFHSFMLFHQWUDOQHJRNRRUG\QDWRUDOHF]]DNáDGDL* ND*GD]XVáXJVNáDGRZ\FKSRVLDGDIUDJPHQWDU\F]QZLHG] RVWUXNWXU]HSURFHVXEL]QHVRZHJRLVD PRG]LHOQLHNRPXQLNXMHVL ]XVáXJDPL]DOH*Q\PL3U]HSá\ZVWHURZDQLDRGE\ZDVL SRSU]H]Z]D MHPQHZ\ZRáDQLDXVáXJVNáDGRZ\FK 0HWRGDDUDQ*DFMLXVáXJMHVWWUDNWRZDQDMDNRSDUDG\JPDWEDUG]LHMHODVW\F]Q\JG\*FHFKXMHVL PLQ QDVW SXMF\PL ]DOHWDPL XVáXJL VNáDGRZH PRJ XF]HVWQLF]\ü Z ]áR*RQ\FK SURFHVDFK EL]QHVRZ\FKEH]NRQLHF]QRFLPRG\ILNDFMLLFKNRGX(UyGáRZHJRPR*OLZDMHVWUHDOL]DFMDVFeQDULXV]\DOWHUQDW\ZQ\FKQDZ\SDGHNDZDULLXVáXJL 'HILQLFMDSURFHVXEL]QHVRZHJRZM ]\NX%3(/SUHF\]XMHNROHMQRüZMDNLHMZ\NRQ\ZDQHV V]HUHJRZH OXE UyZQROHJáH XVáXJL :HE 6HUYLFHV 0R*OLZH MHVW UyZQLH* GHILQLRZDQLH ]DFKRZD ZDUXQNRZ\FKDZ\QLNLSUDF\MHGQHMXVáXJLPRJE\üSU]HND]\ZDQHMDNRDUJXPHQW\Z\ZRáDQLD LQQHM %3(/ RIHUXMH WDN*H WUDG\F\MQH NRQVWUXNFMH S WOL GHNODUDFMH ]PLHQQ\FK RSHUDFMH SRGVWaZLHQLDREVáXJ Z\MWNyZLWG=Z\NOHSURFHV\EL]QHVRZH%3(/VZL]XDOL]RZDQHZIRUPLHGLagramów UML. 52 Maciej Zakrzewicz .URNL SURFHVyZ EL]QHVRZ\FK %3(/ QD]\ZDQH V DNFMDPL DQJ DFWLYLW\ $NFMH PRJ PLHü FKDUDNWHUSURVW\OXE]áR*RQ\%3(/RIHUXMHPR*OLZRFLRSLVXQDVW SXMF\FKW\SyZDNFMLSURVW\FK – Z\ZRáDQLHXVáXJL:HEService – znacznik <invoke> – RF]HNLZDQLHQDZ\ZRáDQLHSURFHVXEL]QHVRZHJRSU]H]NOLHQWD±]QDF]QLN<receive> – Z\JHQHURZDQLHRGSRZLHG]LQDZ\ZRáDQLHV\QFKURQLF]QH±]QDF]QLN<reply> – podstawienie zmiennych – znacznik <assign> – V\JQDOL]RZDQLHDZDULLLZ\MWNyZ±]QDF]QLN<throw> – czasowe wstrzymanie wykonania – znacznik <wait> – ]DNRF]HQLHSURFHVXEL]QHVRZHJR±]QDF]QLN<terminate> 3RZ\*V]HDNFMHPRJE\üRUJDQL]RZDQHZ]áR*RQHDOJRU\WP\SURFHVRZH]DSRPRFQDVW SuMF\FKRSHUDFML – XSRU]GNRZDQDVHNZHQFMDDNFML±]QDF]QLN<sequence> – ZVSyáELH*QHZ\NRQDQLHDNFML±]QDF]QLN<flow> – UR]JDá ]LHQLHVWHURZDQLD±]QDF]QLN<switch> – NRQVWUXNFMDS WOL±]QDF]QLN<while> – Z\EyUFLH*HNDOWHUQDW\ZQ\FK±]QDF]QLN<pick> %3(/XPR*OLZLDUyZQLH*GHILQLRZDQLHSRZL]D]XVáXJDPL]QDF]QLN<partnerLink>) oraz deklarowanie zmiennych (znacznik <variable>). Definicja kompletnego procesu otoczona jest znacznikami <process>. 3URFHVEL]QHVRZ\RSLVDQ\ZM ]\NX%3(/PDSRVWDüSOLNX;0/5HDOL]DFMDWDN]GHILQLRZaQHJR SURFHVX Z\PDJD X*\FLD SODWIRUP\ XUXFKRPLHQLRZHM RGSRZLHG]LDOQHM ]D LQWHUSUHWRZDQLH SOLNX%3(/LVWRVRZQNRPXQLNDFM ]XVáXJDPL:HE6HUYLFHV±VHUZHUD%3(/1DU\QNXGRVW pnych jest wiele propozycji takich serwerów, np. Oracle BPEL Process Manager, Microsoft BizTalk, IBM Websphere Business Integration Server Foundation, IBM BPWS4J, ActiveBPEL Engine, ActiveWebflow, OpenStorm Service Orchestrator.