Metody integrace aplikací

Podobné dokumenty
Standardy pro Webové služby WSDL, UDDI 1

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

Michal Krátký, Miroslav Beneš

Úvod do Web Services

Tvorba informačních systémů

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

Softwarové komponenty a Internet

Koordinační středisko pro resortní zdravotnické informační systémy

Uživatelský manuál pro externí uživatele veřejného webu OTE webové služby

Životní cyklus služby v SOA a popis webových služeb

Komponentový návrh SW

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

Webové služby v Java EE (JAX-WS)

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Požadavky pro výběrová řízení TerraBus ESB/G2x

Unifikovaný modelovací jazyk UML

Architektura orientovaná na služby Návrh orientovaný na služby. Ing. Petr Weiss. VUT v Brně,, FIT, UIFS

Webové služby. Martin Sochor

SOAP & REST služby. Rozdíly, architektury, použití

Microsoft Office 2003 Souhrnný technický dokument white paper

Common Object Request Broker Architecture

InternetovéTechnologie

Servisně orientovaná architektura a její aplikace v systémech sledování a řízení výroby

Pokročilé Webové služby a Caché security. Š. Havlíček

Komponentní technologie

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

TÉMATICKÝ OKRUH Softwarové inženýrství

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

Webové mapové služby. Lukáš Birka

Fakulta elektrotechnická

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Automatizované

TECHNICKÁ SPECIFIKACE VEŘEJNÉ ZAKÁZKY

Vývoj Internetových Aplikací

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Popis B2B rozhraní pro elektronickou neschopenku

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

Architektury informačních systémů

Nové jazykové brány do Caché. Daniel Kutáč

Architektury informačních systémů

Příloha: Dodatečné informace, včetně přesného znění žádosti dodavatele o dodatečné informace

Tvorba informačních systémů

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

Příloha č. 3 Webové služby

Internet Information Services (IIS) 6.0

Specifikace rozhraní. Oznamovací povinnost podle zákona č. 307/2013 Sb., ve znění pozdějších předpisů. Martin Falc, SW architekt.

RESTful web service v Javě

java remote method invocation Kateřina Fricková, Matouš Jandek

Nové vývojové nástroje i5/os Rational Developer for System i V7.1

Webové služby v Java EE (JAX-WS)

Business Intelligence

Osnova. GIOP a IIOP IDL IOR POA. IDL Klient Server. 2 Historie. 3 Princip a základní pojmy. 4 Implementace. 5 Aplikace CORBA

Informační systémy 2008/2009. Radim Farana. Obsah. UML - charakteristika

l Kontakt s klientem SSP Popis automatizované komunikace s ÚP ČR v součinnosti a exekuci

Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr

Servisně orientovaná architektura Základ budování NGII

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

Systémy jednotného přihlášení Single Sign On (SSO)

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Tvorba webových služeb

NetBeans platforma. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Server-side technologie pro webové aplikace

PROPOJOVÁNÍ POČÍTAČOVÝCH APLIKACÍ

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Tvorba informačních systémů

Univerzita Pardubice Fakulta elektrotechniky a informatiky. Transport konfiguračních dat pomocí webových služeb. Lubomír Mokrý

Identifikátor materiálu: ICT-3-03

RMI - Distribuované objekty v Javě

Systém elektronického rádce v životních situacích portálu

Architektura aplikace

Srovnání implementační náročnosti a výkonu webových služeb v.net Framework a J2EE. Bc. Petr Altmann

Programování II. Třídy a objekty (objektová orientovanost) 2018/19

Komputerizace problémových domén

Přístup do IS z mobilních zařízení

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Technologie Java. Jaroslav Žáček

Projekt JetConf REST API pro vzdálenou správu

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

PODMÍNKY POSKYTOVÁNÍ PŘÍSTUPU K PORTÁLU NAMĚŘENÝCH DAT POMOCÍ WEBOVÝCH SLUŽEB SPOLEČNOSTI ČEZ DISTRIBUCE, A. S.

(Enterprise) JavaBeans. Lekce 7

WCF. IW5 - Programování v.net a C# WCF

Úvod Bezpečnost v počítačových sítích Technologie Ethernetu

Webové služby. Martin Kuba Superpočítačové centrum Brno Masarykova univerzita

Dominik Vymětal. Informační technologie pro praxi 2009, Ostrava

Schéma e-pošty. UA (User Agent) rozhraní pro uživatele MTA (Message Transfer Agent) zajišťuje dopravu dopisů. disk. odesilatel. fronta dopisů SMTP

RESTful API TAMZ 1. Cvičení 11

CineStar Černý Most Praha

XML a nové trendy v publikování na Webu

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

MVC (Model-View-Controller)

Globální architektura ROS

Analýza a Návrh. Analýza

Transkript:

Metody integrace aplikací Karel Richta Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze richta@fel.cvut.cz, 2011 Softwarové inženýrství I., BI-SI1 05/2011, Přednáška 12 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 1/62

Metody a nástroje pro integraci aplikací Programová rozhraní (API) Servisně orientované architektury (SOA) Webové služby (WS) richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 2/62

Integrace větších celků Tvorba větších programových celků zpravidla vyžaduje, aby se aplikace nevytvářela jako monolitický celek, ale kombinovala možnosti několika částí komponent. cmp Komponenta a rozhraní Poskytované API «interface» poskytuje Komponenta «interface» požaduje Požadované API «abstraction» richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 3/62

Příklad: Dekompozice MVC (Model-View-Controller) cmp Komponenty aplikace Aplikace Model Controller Serv ice Aktér View Entity richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 4/62

Programová rozhraní Programové rozhraní - API(Application Programming Interface) je sada procedur, funkcí či tříd nějaké knihovny(ale třeba i jiného programu nebo jádra operačního systému), které může programátorvyužívat. API určuje, jakým způsobem se funkce knihovny volají ze zdrojového kódu programu. Rozhraní, které se vytváří při kompilaci a je využíváno při běhu programu, se nazývá ABI (Application Binary Interface). richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 5/62

Příklady API API operačních systémů -v současné době jsou nejrozšířenější dva standardy: API OS: POSIX (IEEE) a Win32 (Microsoft). Rozhraní POSIX bylo vytvořeno pro standardizaci unixových operačních systémů, rozhraní Windows APIreprezentuje rozhraní pro systém s mikrojádrem(absence systémových volání). richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 6/62

Proč integrace aplikací? Kompaktní aplikace vše řeší bez pomoci externích služeb. Historicky první počítače byly velké rozměry i cenou. Dovolit si je mohly pouze největší podniky, provoz i vývoj aplikací sloužily pouze pro omezené množství úloh, zpravidla takových které prováděly rutinní opakované výpočty jako třeba výpočet mezd zaměstnanců. V té době mohli potřebu integrace aplikací předvídat pouze opravdoví vizionáři žádná integrace totiž nebyla nutná a ani možná. deployment Monolitický systém Počítač Aplikace richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 7/62

Důvody pro integraci aplikací Ekonomické faktory, velký tlak na snižování výdajů. Snaha o zachování investic bylo by jistě lákavé zahodit dosavadní heterogenní a roztříštěné aplikace a nahradit je jednou úžasnou integrovanou aplikací. Znehodnotí se tím ale investice do současné fungující aplikace a jejich procesy. Úspora lidských zdrojů roztříštěnost systémů často vede k velké pracnosti jejich obsluhy s tendencemi k vysoké chybovosti. Kontrola nákladů převažuje snaha o centralizaci výpočetních zdrojů do jednoho místa tak, aby byly jasně dány hranice a vazby mezi aplikacemi. Nutnost rychlé implementace obchodních procesů zostřující se konkurenční prostředí anebo třeba nová legislativa nutí firmy a organizace k rychlému zavádění nových postupů do praxe, přičemž se zpravidla předpokládá využití existujících aplikací a systémů pro tyto nové úkoly. Potřeba pružně reagovat na změny vnějších podmínek málokterý proces zůstává dlouhodobě stabilní, velmi záhy dojde ke změně vnějších podmínek. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 8/62

Integrace na úrovni dat deployment Integrace na úrovni dat Počítač 1 Aplikace 1 UI Vlastní logika Databáze «flow» Počítač 2 Aplikace 2 UI 2 Vlastní logika 2 Databáze 2 Výhody: Jednoduchost Nezávislost na platformě Nevýhody: N 2 Nutné konverze Statické Realizace: Přenos souborů ETL richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 9/62

Integrace na úrovni vlastní logiky deployment Integrace na úrovni logiky Počítač 1 Aplikace 1 UI 1 Vlastní logika 1 Databáze 2 «flow» Počítač 2 Aplikace 2 UI 2 Vlastní logika 2 Databáze 2 Výhody: Koncepční řešení Nevýhody: N 2 Nutné předělávání aplikací Statické, těsná vazba Realizace: DCOM-COM+ J2EE CORBA richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 10/62

Integrace na úrovni UI deployment Integrace na úrov ni UI Počítač 1 Aplikace 1 UI 1 Vlastní logika 1 Databáze 2 «flow» Počítač 2 Aplikace 2 UI 2 Vlastní logika 2 Databáze 2 Výhody: Lze použít, i když neznáme kód Nevýhody: N 2 Nelze měnit aplikace Statické, těsná vazba Realizace: Simulujeme uživatele richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 11/62

Integrace na úrovni služeb deployment Integrace na úrovni služeb Počítač 1 Aplikace 1 UI 3 Vlastní logika 3 Databáze 4 Služba 4 «use» Počítač 2 Aplikace 2 UI 4 Vlastní logika 4 Databáze 4 Výhody: Dynamické Služby pokytuje ten, kdo data spravuje Nevýhody: Nutno vytvářet služby Realizace: DCOM-COM+ J2EE CORBA richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 12/62

Princip SOA Řešení SOA spočívá ve využití služeb samostatných komponent -rozdělení funkčnosti na spolupracující komponenty. Technické řešení vyžaduje zprostředkující infrastrukturu (middleware). Jedním z často používaných nástrojů jsou tzv. webové služby. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 13/62

Co to jsou webové služby? Pro předávání dat a dokumentů se již obvykle využívá formát XML. Použijeme-li stejnou taktiku na distribuované služby, dostaneme webové služby žádost o službuse vyjádří v XML a pošle ke zpracování. Výsledek je zabalen do XML a distribuován zpět. Služba, kterou publikujete přes Web je snadno dostupná. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 14/62

Integrace pomocí webových služeb deployment Integrace přes webov é služby Počítač 1 Počítač 2 Aplikace 1 Aplikace 2 UI 3 Služba 4 Služba 4 UI 4 Vlastní logika 3 «use» «use» «flow» Vlastní logika 4 Adaptér Proxy Databáze 4 Databáze 4 «flow» «flow» XML richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 15/62

Co je základem webových služeb? Všechno se posílá v XML prostřednictvím HTTP. HTTP je protokol, který je prakticky všude na Webu. XML má meta-jazyk (DTD, XML-Schema), ve kterém lze vyjádřit rozmanité specializované formáty tzv. XML aplikace. Takovým způsobem lze definovat i formát zpráv, které budou sloužit pro interakci mezi klientem a službou. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 16/62

Co je základem webových služeb? Za fasádou webového serveru je zpráva konvertována na volání služby. Výstup služby je opět zkonvertován do XML a odeslán zpět. Infrastruktura je tedy podobná jako u známých middleware, jako např. CORBA ta má formát IDL plus mechanismus volání vzdálené služby (remote procedure call). Není to ale závislé na platformě. Je to ale taky mnohem ukecanější. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 17/62

Celková situace Příklad formátu pro výměnu zpráv (formát SOAP) richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 18/62

Co je to SOAP? SOAP = Simple Object Access Protocol Statut: Aplikace XML na posílání zpráv SOAP Version 1.1: W3C Note 08 May 2000 (W3C tuto verzi nevyrobilo, pouze na ní upozorňuje) SOAP Version 1.2: W3C Recommendation 27 April 2007 (XML Protocol Working Group) richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 19/62

Struktura formátu SOAP Nepovinná hlavička Obálka SOAP Povinné tělo Možné reakce na chyby richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 20/62

Příklad zabalené zprávy <SOAP-ENV:Envelope xmlns:soap-env= "http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle= "http://schemas.xmlsoap.org/soap/encoding/" > <SOAP-ENV:Body> <time:getlocaltime xmlns:time="www.zvon.org/time"> <time:city>new York</time:city> <time:format template="hh:mm"/> </time:getlocaltime> </SOAP-ENV:Body> </SOAP-ENV:Envelope> Žádost o lokální čas v místě New York ve formátu HH:MM Povinné tělo Obálka SOAP richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 21/62

Příklad: Žádost o cenu akcie <?xml version="1.0"?> <soap:envelope xmlns:soap= "http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle= "http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.example.org/stock"> <m:getstockprice> <m:stockname>ibm</m:stockname> </m:getstockprice> </soap:body> </soap:envelope> richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 22/62

Příklad: Odpověď na žádost <?xml version="1.0"?> <soap:envelope xmlns:soap= "http://www.w3.org/2001/12/soap-envelope" soap:encodingstyle= "http://www.w3.org/2001/12/soap-encoding"> <soap:body xmlns:m="http://www.example.org/stock"> <m:getstockpriceresponse> <m:price>34.5</m:price> </m:getstockpriceresponse> </soap:body> </soap:envelope> richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 23/62

Co to je WSDL? WSDL = Web Services Description Language Statut: WSDL 1.1: W3C Note 15 March 2001 WSDL 1.2: W3C Working Draft 11 June 2003 WSDL 2.0: W3C Recommendation 26 June 2007 (Web Services Description Working Group) Je to aplikace XML pro účely popisu webových služeb richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 24/62

Struktura formátu WSDL richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 25/62

Popis služby má 4 části: Abstraktní definice přenášených dat (message) Definice formátu žádosti o službu a odpovědi na ni. Sadu abstraktních operací, které mají definován vstup, výstup a reakci na chyby (porttype) Definice operací, které od služby požadujeme. Protokol pro navázání operace na složky (binding) Definice formátu rozhranní, operace a způsobu vazby (SOAP RPC/Document) azpůsobu transportu(soap Protocol). Odkaz na uzel, který službu realizuje (service) Definice serveru, kterému máme žádost poslat. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 26/62

Příklad WSDL Představme si, že chceme vytvořit a použít webovou službu, která sečte dvě celá čísla [Kosek 02]. V části nazývané Message part je nutno deklarovat, že služba součet vyžaduje dva celočíselné parametry p0 a p1. Budeme potřebovat zprávu, která si vyžádá tuto operaci nad skutečnými parametry. V části nazývané Message part je dále nutno deklarovat, že výsledkem služby je celé číslo. Budeme potřebovat zprávu, která ponese výsledek operace. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 27/62

Zprávy související se službou Zpráva nesoucí požadavek na službu: <wsdl:message name='sum_request'> <wsdl:part name='p0' type='xsd:int'/> <wsdl:part name='p1' type='xsd:int'/> </wsdl:message> Zpráva nesoucí odpověď: <wsdl:message name='sum_response'> <wsdl:part name='response' type='xsd:int'/> </wsdl:message> složky zprávy název zprávy richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 28/62

Příklad: kódování parametrů Chceme požádat o součet 2 a 5 nejprve zakódujeme celočíselné parametry p0=2 a p1=5: <p0 type="int">2</p0> <p1 type="int">5</p1> Přesněji odkazem na typ int dle XML-Schema: xmlns:xsd='http://www.w3.org/2001/xmlschema' <p0 type="xsd:int">2</p0> <p1 type="xsd:int">5</p1> richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 29/62

Příklad zakódovaného požadavku Celý požadavek pak bude mít tvar: xmlns:wn0="http://www.w3.org/2001/xmlschemas" xmlns:xsi="http://www.w3.org/2001/xmlschemasinstance" <Sum_Request> <p0 xsi:type="wn0:int">2</p0> <p1 xsi:type="wn0:int">5</p1> </Sum_Request> richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 30/62

Konektor operace (porttype) jméno konektoru (portu) <wsdl:porttype name='sum'> <wsdl:operation name='sum parameterorder='p0 p1'> <wsdl:input name='sum' message='tns:sum_request'/> <wsdl:output name='sum' message='tns:sum_response'/> </wsdl:operation> </wsdl:porttype> operace výstupní zpráva vstupní zpráva richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 31/62

Deklarace vazby jméno vazby <wsdl:binding name='sumsoapbinding0' type='tns:sum'> <soap:binding způsob vazby transport='http://schemas.xmlsoap.org/soap/http style='rpc'/> <wsdl:operation name='sum'> <soap:operation soapaction='' style='rpc'/> <wsdl:input name='sum'> </wsdl:input> <wsdl:output name='sum'> </wsdl:output> </wsdl:operation> </wsdl:binding> richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 32/62

Deklarace vazby II. <wsdl:binding name='sumsoapbinding0' type='tns:sum'> <wsdl:input name='sum'> <soap:body use='encoded encodingstyle='http://schemas.xmlsoap.org/soap/encoding/' namespace='urn:x-kosek:services:sum'/> </wsdl:input> <wsdl:output name='sum'> <soap:body use='encoded encodingstyle='http://schemas.xmlsoap.org/soap/encoding/' namespace='urn:x-kosek:services:sum'/> </wsdl:output> richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 33/62

Odkaz na službu (service) <wsdl:service name='sum'> jméno <wsdl:port name='sum' binding='tns:sumsoapbinding0'> služby <soap:address location='http://localhost:6060/sum/'/> </wsdl:port> </wsdl:service> Jaký konektor a jaká vazba se použije Na kterém uzlu je poskytována (tady lokálně) richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 34/62

Souhrn definice služby dle WSDL <?xml version='1.0'?> <wsdl:definitions name='sum' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/'> <wsdl:message name='sum_response'> </wsdl:message> <wsdl:message name='sum_request'> </wsdl:message> <wsdl:porttype name='sum'> </wsdl:porttype> <wsdl:binding name='sumsoapbinding0' > </wsdl:binding> <wsdl:service name='soucet'> </wsdl:service> </wsdl:definitions> Odkaz na definici WSDL richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 35/62

Souhrn definice služby dle WSDL <?xml version='1.0'?> <wsdl:definitions name='sum' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/'> <wsdl:message name='sum_response'> </wsdl:message> <wsdl:message name='sum_request'> </wsdl:message> <wsdl:porttype name='sum'> </wsdl:porttype> <wsdl:binding name='sumsoapbinding0' > </wsdl:binding> <wsdl:service name='soucet'> </wsdl:service> </wsdl:definitions> Odkaz na definici XML Schemat richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 36/62

Souhrn definice služby dle WSDL <?xml version='1.0'?> <wsdl:definitions name='sum' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/'> <wsdl:message name='sum_response'> </wsdl:message> <wsdl:message name='sum_request'> </wsdl:message> <wsdl:porttype name='sum'> </wsdl:porttype> <wsdl:binding name='sumsoapbinding0' > </wsdl:binding> <wsdl:service name='soucet'> </wsdl:service> </wsdl:definitions> Odkaz na definici SOAP richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 37/62

Souhrn definice služby dle WSDL <?xml version='1.0'?> <wsdl:definitions name='sum' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/'> <wsdl:message name='sum_response'> </wsdl:message> <wsdl:message name='sum_request'> </wsdl:message> <wsdl:porttype name='sum'> </wsdl:porttype> <wsdl:binding name='sumsoapbinding0' > </wsdl:binding> <wsdl:service name='soucet'> </wsdl:service> </wsdl:definitions> Přenášené zprávy richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 38/62

Souhrn definice služby dle WSDL <?xml version='1.0'?> <wsdl:definitions name='sum' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/'> <wsdl:message name='sum_response'> </wsdl:message> <wsdl:message name='sum_request'> </wsdl:message> <wsdl:porttype name='sum'> </wsdl:porttype> <wsdl:binding name='sumsoapbinding0' > </wsdl:binding> <wsdl:service name='soucet'> </wsdl:service> </wsdl:definitions> Poskytovaná operace richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 39/62

Souhrn definice služby dle WSDL Způsob vazby <?xml version='1.0'?> <wsdl:definitions name='sum' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/'> <wsdl:message name='sum_response'> </wsdl:message> <wsdl:message name='sum_request'> </wsdl:message> <wsdl:porttype name='sum'> </wsdl:porttype> <wsdl:binding name='sumsoapbinding0' > </wsdl:binding> <wsdl:service name='soucet'> </wsdl:service> </wsdl:definitions> richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 40/62

Souhrn definice služby dle WSDL <?xml version='1.0'?> <wsdl:definitions name='sum' xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/' xmlns:xsd='http://www.w3.org/2001/xmlschema' xmlns:xsi='http://www.w3.org/2001/xmlschema-instance' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:soap-enc='http://schemas.xmlsoap.org/soap/encoding/'> <wsdl:message name='sum_response'> </wsdl:message> <wsdl:message name='sum_request'> </wsdl:message> <wsdl:porttype name='sum'> </wsdl:porttype> <wsdl:binding name='sumsoapbinding0' > </wsdl:binding> <wsdl:service name='soucet'> </wsdl:service> </wsdl:definitions> Poskytovatel služby richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 41/62

UDDI UDDI = Universal Description, Discovery and Integration Service Statut: doporučení sdružení OASIS Poskytuje mechanismus, přes který mohou klienti dynamicky hledat požadované webové služby. Tímto způsobem by aplikace měly být schopny se kontaktovat na služby poskytované externími partnery. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 42/62

Registr UDDI Registr UDDI se podobá službě CORBA trader, nebo na něj lze pohlížet jako na DNS service pro aplikace využívající webových služeb. Registr UDDI má dva druhy klientů: ty, kteří chtějí nějakou službu poskytovat a ty, kteří chtějí službu využívat. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 43/62

Registr UDDI obsahuje White pages, které obsahují informaci jako jméno, adresu, číslo telefonu, nebo další kontaktní informace. Sděluje programátorovi, jak se má registrovat při používání služby. Yellow pages, které obsahují specifikaci, jak může aplikace najít danou webovou službu. Green pages, kde jsou uvedeny informace nezbytné pro vyvolání služby. Jsou zde uvedena URL služeb, jména, argumenty apod. richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 44/62

Struktura registru UDDI Skládá se z kolekce elementů nazývaných uzly (UDDI nodes). Uzly obsahují data (UDDI data). Data jsou posloupnosti elementů businesskey (popisuje firmu dodávající službu) servicekey (popisuje dodávané skupiny služeb) tmodelkey (odkaz na WSDL) bindingkey (informace nezbytné pro použití) richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 45/62

Služby registru UDDI find_business, find_service, get_businessdetail, get_servicedetail, richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 46/62

Celková situace richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 47/62

The End richta@fel.cvut.cz (ČVUT) Metody integrace aplikací BI-SI1, 2011, Přednáška 12, 48/62