Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 11. Szolgáltatás Integráció Dr. Bilicki Vilmos Szegedi Tudományegyetem.

Hasonló előadás


Az előadások a következő témára: "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 11. Szolgáltatás Integráció Dr. Bilicki Vilmos Szegedi Tudományegyetem."— Előadás másolata:

1 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 11. Szolgáltatás Integráció Dr. Bilicki Vilmos Szegedi Tudományegyetem Informatikai Tanszékcsoport Szoftverfejlesztés Tanszék

2 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tartalom  ESB  BPEL 2014. 07. 15.2Programrendszerek fejlesztése

3 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szolgáltatás-orientált architektúra Szolgáltatás: lazán csatolt alapegység, üzleti funkciót reprezentál Szolgáltató: szolgáltatást biztosít, és a bróker felé továbbítja azok adatait Használó: kikeresi a számára szükséges szolgáltatást és igénybe veszi azt Bróker: szolgáltatásokról tárol és biztosít információt 2014. 07. 15.3Programrendszerek fejlesztése

4 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Java Business Integration A szolgáltatás-orientált architektúra megvalósítása Javaban (specifikáció) Webszolgáltatásokra épül Kibővíthető architektúra Szolgáltatásmodell: WSDL 2.0  Üzenetcsere-minták: In-Only: egyirányú, max. státusz a fogadótól Robust In-Only: megbízható egyirányú In-Out: kétirányú, fogadó is küld státuszt In Optional-Out: a válasz opcionális 2014. 07. 15.4Programrendszerek fejlesztése

5 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Enterprise Service Bus Szolgáltatások közötti üzenetcsere monitorozása és vezérlése Szolgáltatások telepítése és verziózása Gyakori középréteg szolgáltatások biztosítása: Eseménykezelés Adattranszformáció Üzenetsorok kezelése Biztonság- és kivételkezelés Stb. 2014. 07. 15.5Programrendszerek fejlesztése

6 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBoss ESB 2014. 07. 15.6Programrendszerek fejlesztése

7 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB: szolgáltatások, akciók, üzenetek Szolgáltatás: Üzelti logika megvalósítása vagy integrációs pont Akcióosztályok halmaza Kategória és név alapján azonosítható (registry-ből) Bejövő üzenetek fogadására Listenerek: Gateway listener ESB listener <jms-message-filter dest-type="QUEUE" dest-name="queue/shoeStoreJMSGateway"/> <jms-listener name="shoeStoreJMSGateway" is-gateway="true" busidref="shoeStoreJMSGateway" /> 2014. 07. 15.7Programrendszerek fejlesztése

8 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB: szolgáltatások, akciók, üzenetek 2014. 07. 15.8Programrendszerek fejlesztése

9 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB: szolgáltatások, akciók, üzenetek Üzenet: kommunikációs alapegység szolgáltatások között Javasolt MEP: in-only Részei:  Header: útválasztási és címzési adatok Body: tartalom (többrészes) Properties: saját metaadatok (nem ajánlott, helyette body) Attachments: csatolmányok (nem ajánlott, helyette body) Fault: hibainformáció közvetítésére (kód, ok) 2014. 07. 15.9Programrendszerek fejlesztése

10 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatásai: registry Szolgáltatásokkal kapcsolatos információkat szolgáltatja (meta- adatok) Szolgáltatások automatizált felderítése Csak katalógus, nem tárolja a tényleges információt Gyakorlatilag a SOA szolgáltatásbróker feladatait látja el 2014. 07. 15.10Programrendszerek fejlesztése

11 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatásai: szabálykezelés Drools szabályok használata szolgáltatásokként Akciólánc vagy vezérelt üzleti folyamat Támogatott szabálytípusok: Drools BRMS DRL-fájlok DSL Döntési fa szabályok 2014. 07. 15.11Programrendszerek fejlesztése

12 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatásai: CBR Üzenetek közvetítésére Az üzenetek végpont referenciák felé közlekednek Mi legyen, ha valamelyik végpont nem elérhető vagy megváltozott? Tartalom-alapú útválasztás: nem adott célhoz tartanak az üzenetek, hanem a tartalmuk alapján választódik célpont A küldőnek nem kell ismerni a fogadó felet Tartalommegadás: Xpath, reguláris kifejezések, Drools, Smooks 2014. 07. 15.12Programrendszerek fejlesztése

13 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatások: CBR – példa Adottak: Szolgáltatások Útválasztó Összerendelés üzenettípusok és szolgáltatások között (útválasztási szabályok) Példa : A kliens küld egy üzenetet az ESB felé (A szolgáltatás fogadja az üzenetet) A szolgáltatás az útválasztóhoz továbbítja az üzenetet Az útválasztó a szabályok (és az üzenet tartalma) alapján továbbítja az üzenetet B vagy C szolgáltatás felé 2014. 07. 15.13Programrendszerek fejlesztése

14 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatások: CBR - XPath  <action class="org.jboss.soa.esb.actions.ContentBasedRouter„  name="ContentBasedRouter">   <route-to service-category="BlueTeam" service-name="GoBlue"  expression="/Order[@statusCode='0']" />  <route-to service-category="RedTeam" service-name="GoRed"  expression="/Order[@statusCode='1']" />  <route-to service-category="GreenTeam" service-name="GoGreen"  expression="/Order[@statusCode='2']" />  2014. 07. 15.14Programrendszerek fejlesztése

15 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatások: CBR - Regex  <action class="org.jboss.soa.esb.actions.ContentBasedRouter„  name="ContentBasedRouter">   <route-to service-category="BlueTeam" service-name="GoBlue"  expression="#*111#*" />  <route-to service-category="RedTeam" service-name="GoRed"  expression="#*222#*" />  <route-to service-category="GreenTeam" servicename="GoGreen"  expression="#*333#*" />  2014. 07. 15.15Programrendszerek fejlesztése

16 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatások: transzformációk Üzenetek átalakítására Támogatott módszerek: Smooks (SmooksAction) XSLT Saját transzformációs kód (Java) 2014. 07. 15.16Programrendszerek fejlesztése

17 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatások: ServiceInvoker Szolgáltatások számára történő üzenetküldésre Létrehozás: public ServiceInvoker(String serviceCategory, String serviceName) throws MessageDeliverException; Szinkron küldés: public Message deliverSync(Message message, long timeoutMillis) throws MessageDeliverException, RegistryException; Aszinkron küldés: public void deliverAsync(Message message) throws MessageDeliverException; 2014. 07. 15.17Programrendszerek fejlesztése

18 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Web Szolgáltatások  Lazán csatolt alkalmazások  Elemei: ■SOAP ■WSDL ■UDDI  A szolgáltatás integráció többet igényel mint egyszerű web szolgáltatás hívásokat  A konkrét protokollt, üzleti folyamatot kellene definiálni  Igények: ■Adatfüggő folyamatok ■Hiba/kivételkezelés (mi van akkor ha valami nincs rendben?) ■Hosszúidejű egymásba ágyazott üzleti folyamatok kezelése 18 2014. 07. 15.18Programrendszerek fejlesztése

19 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS BPEL  Vezérlés vs. Koregrafálás  XML alapú  Szinkron – Aszinkron 19 2014. 07. 15.19Programrendszerek fejlesztése

20 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS WS-BPEL  Modell és nyelv ■Web szolgáltatás alapú interakciók ■A viszonyokat a partnerLink segítségével írja le ■Állapotok és logika kezelése ■Kompenzáció kezelése ■Hiba kezelése  Két koncepció ■Absztrakt folyamat (WS-BPEL Abstract Process) –A kívülről megfigyelhető működést írja le –Egy sablont ad a folyamatra ■Futtatható folyamat (WS-BPEL Executable Process) 20 2014. 07. 15.20Programrendszerek fejlesztése

21 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS BPEL  Technológiák ■WSDL ■SOAP ■XML ■Xpath  Szkópok használata ■Változók ■Aktivitások ■Vezérlő elemek  Zárolások  Kompenzáció  Hosszú folyamatok -> állapot perzisztálás 21 2014. 07. 15.21Programrendszerek fejlesztése

22 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS BPEL4WS  Hogyan kapcsoljunk össze WS alapú rendszereket?  Hibakezelés?  Tranzakciókezelés?  Web Szolgáltatásokat komponál össze (orchestration)  MS:XLANG + IBM:WSFL ■Absztrakt üzleti folyamat ■Futtatható üzleti folyamat 22 2014. 07. 15.22Programrendszerek fejlesztése

23 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS BPEL4WS  Folyamat leíró nyelv (XML alapú)  Aktivitásokból áll pl.: ■  Ezeket lehet kombinálni komplex aktivitásokba ■ 23 2014. 07. 15.23Programrendszerek fejlesztése

24 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Folyamat társak  A folyamat Web szolgáltatásokat hív és web szolgáltatás interfészeket ad ■Kliens folyamat társak azok a kliensek akik a web szolgáltatás interfészeket használják (ezeket esetleg szeretné megkülönböztetni…) ■Meghívott folyamat társak azok az alkalmazások akik a web szolgáltatásokat a folyamat rendelkezésére bocsájtják  Ezek kombinációja: ■Szolgáltatások amelyeket csak hív ■Szolgáltatások amelyek csak hívják ■Szolgáltatások amelyek hív és hívják (pl.: aszinkron hívás) 24 2014. 07. 15.24Programrendszerek fejlesztése

25 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szolgáltatás hivatkozás típusok  Port Type  Service Link Types ■Megadja a kommunikáló partnerek szerepköreit (portType) ■Role (myRole/partnerRole)  Szolgáltatás referencia (Service Reference) ■Konkrét web szolgáltatást ad meg 2014. 07. 15.25Programrendszerek fejlesztése

26 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Változók  A munkafolyamathoz tartozó információ tárolásához használjuk  Adattípusok: ■Üzenet típus (MessageType – WSDL által definiált üzenet) ■Elem (Element - XSD) ■Típus (Type – egyszerű XSD típus)  Általában a ki és bejövő hívásokat ilyen változókban tároljuk  Egy BPEL folyamatnak több példánya is lehet ■Minden példány saját változó példányokkal bír 2014. 07. 15.26Programrendszerek fejlesztése

27 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Invoke elem  A partner szolgáltatás valamilyen műveletét hívja meg (operation)  Valamilyen változóhoz kötődik (in/out) 2014. 07. 15.27Programrendszerek fejlesztése

28 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Receive elem  Amikor a folyamat egy partner folyamattól vár valamit  Aszinkron – callback  Az egész BPEL folyamat kezdete 2014. 07. 15.28Programrendszerek fejlesztése

29 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS If, elseif, else elemek 2014. 07. 15.29Programrendszerek fejlesztése

30 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Assign, copy, from elemek  Változó értékadás  Mindegyik értékadás egy copy művelet  Minden copy művelet egy to és egy from elemet tartalmaz 2014. 07. 15.30Programrendszerek fejlesztése

31 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Korreláció  Processz példányok  Melyik üzenet melyik processz példányhoz tartozik 2014. 07. 15.31Programrendszerek fejlesztése

32 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Kivételkezelés  Thorw/Catch elemek  A WSDL hibakezelésére (fault) épít  Kompenzáció ■A folyamat tervező az egyes nem megfordítható folyamatok esetén kompenzálhat (pl.: jegyfoglalás lemondás esetén más folyamaton kell végigmenni) ■Kompenzációs akciók  Rekurzívan támogatja ■Környezet (Scope) az elemi egysége 2014. 07. 15.32Programrendszerek fejlesztése

33 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A folyamat életciklusa  Folyamat indítópont  Üzenetek hatására jön létre  Nem Process ID alapú az üzenet folyamat összerendelés (belső struktúra)  Üzenet korreláció (message correlation) 2014. 07. 15.33Programrendszerek fejlesztése

34 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tételsor  Elosztott rendszerek ■Motiváció (5 pont) ■Architektúra típusok (5 pont) ■Skálázhatóság (5 pont) ■CAP tétel (5 pont) ■Virtualizációs rétegek (5 pont) ■Elosztott rendszer architektúrák (15 pont)  Átszövődő vonatkozások ■Átszövődő vonatkozások (5 pont) ■Kontextus (5 pont) ■Biztonság (10 pont) ■Konszenzus (5 pont) ■Tranzakció (5 pont) ■Paxos (5 pont) ■Perziszetncia (5 pont)  Web Szolgáltatások ■REST, JSON (10 pont) ■SOAP (5 pont) ■WSDL (20 pont) ■UDDI (5 pont)  Köztesréteg ■Motiváció, nem funkcionális követelmények, típusai, megvalósítása (5) ■JGroups szerepe, képességei (5) ■Apache Hadoop HDFS (5) ■Map-Reduce (10) ■Apache Hadoop HBase/Pig Latin (5) 2014. 07. 15.34Programrendszerek fejlesztése

35 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tételsor  Nyelvi paradigmák – logika ■RUP absztrakciós szintek (5) ■Folyamat nyelvek (15) ■Szabály nyelvek (10) ■Tartomány specifikus nyelvek (5) ■AOP (5)  Nyelvi paradigmák – adatábrázolás ■Web 1.2, 2.0 korlátok(5) ■Szemantikus web (5) ■RDF (10) ■OWL (10) ■SPARQL (10)  Felhasználói interakció ■AJAX + GWT(10) ■JSP (10) ■JSF (20)  Háttér logika ■EJB rendszer, szolgáltatás réteg (5) ■RMI, JNDI (5) ■EJB (10) ■Tranzakció (5) ■CDI/Web babok (15) 2014. 07. 15.35Programrendszerek fejlesztése

36 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tételsor  Adatkezelés ■Perzisztencia (5) ■JDBC (5) ■ORM (5) ■JPA (10) ■Hibernate (15)  Szolgáltatás integráció ■ESB (20) ■BPEL (20) 2014. 07. 15.36Programrendszerek fejlesztése

37 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS  Itt a nyár !  Köszönöm a félévi figyelmet!  Sok sikert! 2014. 07. 15.37Programrendszerek fejlesztése


Letölteni ppt "UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 11. Szolgáltatás Integráció Dr. Bilicki Vilmos Szegedi Tudományegyetem."

Hasonló előadás


Google Hirdetések