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 Programrendszerek 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 Programrendszerek 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 Programrendszerek 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 Programrendszerek fejlesztése

6 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBoss ESB Programrendszerek 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 Programrendszerek fejlesztése

8 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB: szolgáltatások, akciók, üzenetek Programrendszerek 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) Programrendszerek 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 Programrendszerek 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 Programrendszerek 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 Programrendszerek 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é Programrendszerek fejlesztése

14 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatások: CBR - XPath     Programrendszerek fejlesztése

15 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS JBossESB szolgáltatások: CBR - Regex     Programrendszerek 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) Programrendszerek 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; Programrendszerek 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 Programrendszerek 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 Programrendszerek 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) Programrendszerek 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 Programrendszerek 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 Programrendszerek 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 ■ Programrendszerek 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) Programrendszerek 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 Programrendszerek 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 Programrendszerek 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) Programrendszerek 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 Programrendszerek fejlesztése

29 UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS If, elseif, else elemek Programrendszerek 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 Programrendszerek 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 Programrendszerek 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 Programrendszerek 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) Programrendszerek 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) Programrendszerek 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) Programrendszerek 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) Programrendszerek 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! Programrendszerek 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