Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
1
Web Services Introduction
Jan Odstrčil
2
Přehled Web services - technologie WSDL, SOAP, UDDI
Advanced Web services Web services – aplikace a použití Platformy pro Web services WS-I – úvodní představení WS-I Basic Profile 1.1 Otázky a odpovědi
4
Web services - technologie
Nezávislá na platformě, jazyce, hardware Samopopisující, loosely coupled Založená na standardech Internetu a XML WSDL – jazyk pro popis Web services založený na XML XSD – datové typy popsány v XML Schema SOAP – protokol pro výměnu zpráv založených na XML HTTP typicky využíváno jako transportní vrstva UDDI – platformově nezávislá service registry založené na XML
5
Web services - technologie
6
WSDL Web Services Description Language
otevřený standard podporovaný W3C popis služby a její komunikace v XML využívá XML Schema pro popis typů
7
WSDL Definitions Types Message hlavní tag uzavírající dokument
sekce pro definici datových typů obsahuje komplexní typy jako XML Schema Message definice zprávý – jak příchozí tak odchozí Definuje parametry a návratové hodnoty
8
WSDL Operation PortType Definuje operaci (metodu) služby
Obsahuje obvykle input a output message PortType definuje rozhraní Web service deklarativně obsahuje operace Nehovoří o určité instanci, nelze se připojit
9
WSDL Binding Port Service definuje způsob jak se budou posílat zprávy
Konkrétní protokol a datový formát (document/literal, rcp/encoded) Port endpoint – adresa a binding Service skupina souvisejících endpointu
10
WSDL <?xml version="1.0"?> <definitions name="StockQuote"
targetNamespace=" xmlns:tns=" xmlns:xsd1=" xmlns:soap=" xmlns=" <types> <schema targetNamespace=" xmlns=" <element name="TradePriceRequest"> <complexType> <all> <element name="tickerSymbol" type="string"/> </all> </complexType> </element> <element name="TradePrice">
11
WSDL <message name="GetLastTradePriceInput">
<part name="body" element="xsd1:TradePriceRequest"/> </message> <message name="GetLastTradePriceOutput"> <part name="body" element="xsd1:TradePrice"/> <portType name="StockQuotePortType"> <operation name="GetLastTradePrice"> <input message="tns:GetLastTradePriceInput"/> <output message="tns:GetLastTradePriceOutput"/> </operation> </portType>
12
WSDL <binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"> <soap:binding style="document" transport=" <operation name="GetLastTradePrice"> <soap:operation soapAction=" <input> <soap:body use="literal"/> </input> <output> </output> </operation> </binding> <service name="StockQuoteService"> <documentation>My first service</documentation> <port name="StockQuotePort" binding="tns:StockQuoteBinding"> <soap:address location=" </port> </service> </definitions>
13
WSDL Documentation – wsdl je samo-dokumentované
Import - dokumenty je možné importovat vhodné pro oddělení statické definice datových typů a portu od instance Instance obsahuje binding, service a import <wsdl:definitions name="nmtoken"? targetNamespace="uri"?> <import namespace=„ location=„ <wsdl:documentation>…text… </wsdl:documentation>
14
SOAP Simple Object Access Protocol
Protokol pro výměnu zpráv založených na XML HTTP typicky využíváno jako transportní vrstva SMTP také vhodný pro transport SOAP
15
SOAP Různé druhy kódování zpráv Definováno v binding sekci WSDL
RPC / Encoded Document / Literal Wrapped / Literal Definováno v binding sekci WSDL
16
SOAP rpc/encoded public void myMethod(int x, float y);
<message name="myMethodRequest"> <part name="x" type="xsd:int"/> <part name="y" type="xsd:float"/> </message> <message name="empty"/> <portType name="PT"> <operation name="myMethod"> <input message="myMethodRequest"/> <output message="empty"/> </operation> </portType>
17
SOAP rpc/encoded <soap:envelope> <soap:body>
<myMethod> <x xsi:type="xsd:int">5</x> <y xsi:type="xsd:float">5.0</y> </myMethod> </soap:body> </soap:envelope> Jednoduchý zápis ve wsdl Jméno operace je v message – rychlé předání implementaci Type encoding info (xsi:type="xsd:int") zabírá moc místa Není ve shodě s WS-I
18
SOAP wrapped/literal <soap:envelope> <soap:body>
<myMethod> <x>5</x> <y>5.0</y> </myMethod> </soap:body> </soap:envelope> Složitý zápis ve wsdl Jméno operace je v message – rychlé předání implementaci Type encoding info (xsi:type="xsd:int") zabírá moc místa Je ve shodě s WS-I
19
UDDI Universal Description, Discovery and Integration
otevřený standard podporovaný OASIS umožňuje publikaci, vyhledávání, kategorizaci v počátcích globální UDDI registry (MS, IBM, SAP) 3 základní komponenty White Pages — adresy, kontakty Yellow Pages — kategorizace podle standardních taxonomii; Green Pages — technické informace o services zveřejněných společnostmi
20
UDDI businessEntity businessService bindingTemplate tModel
informace o straně publikující service businessService popisné informace o určité skupině technických services bindingTemplate technické informace endpointu služby a implementační specifikaci tModel popis specifikaci pro služby, základ pro technícký popis
21
UDDI
22
UDDI <tModel authorizedName="..." operator="..." tModelKey="..."> <name>StockQuote Service</name> <description xml:lang="en"> WSDL description of a standard stock quote service interface </description> <overviewDoc> <description xml:lang="en">WSDL source document. </description> <overviewURL> </overviewURL> </overviewDoc> <categoryBag> <keyedReference tModelKey="uuid:C1ACF26D D70-39B756E62AB4" keyName="uddi-org:types" keyValue="wsdlSpec"/> </categoryBag> </tModel>
23
Advenced Web services WS - Reliable Messaging WS - Attachment
jednoduché posílání, spolehlivé WS - Attachment posílání velkých dokumentů / binárních WS – Security rozšíření SOAP message o security chrání pomocí integrity zprávy message authentication
24
Web services – aplikace a použití
Více než informace o počasí Aplikace dostupné jako služba „masám“ Google Search API, eBay SalesForce (CRM, lze rozšířit, integrovat) Mobile Portal Content Integrační scénáře banka koupí banku jedna divize s druhou Intereoperabilita vítězí nad „efektivitou“
25
Web services – aplikace a použití
26
Platformy pro Web services
27
Platformy pro Web services
Microsoft .Net Apache Axis Sun J2EE, JAX-WS JAX-B Systinet Server for Java / C++ webMethods Glue IONA Artix IBM
28
WS-I – úvodní představení
Web Services Interoperability Organization Otevřená organizace zaměřená na podporu interopertabilty Web services různé platformy, jazyky, operační systémy Přibližně 130 členů: BEA, IBM, Accenture, CA, DaimlerChrysler, DISA, HP, Microsoft, Nokia, OMG, SAP, Sun, webMethods
29
WS-I – doporuční, profiles, tools
Samotná specifikace obvykle nestačí nepřesná, konflikt s jinou specifikací / verzí Poskytuje doporučení, návody a nástroje profile – sada specifikací určité verze, říká jak je používat dohromady demo aplikace – demonstruje interoperabilitu profilu testovací nástroje – testují shodu implementace s profilem
30
WS-I – rozšířené služby
Pro členy poskytuje další služby Organizuje interoperability setkání několikadenní setkání na určité téma snaha o živé ověření interoperability a případné testování Publikuje výsledky o interop setkáních Organizuje poskytování testovacích Web service pro pravidelné testy
31
WS-I – existující profily
XML Schema Work Plan Basic Profile 1.1 Attachment Profile 1.0 Basic Security Profile 1.1
32
WS-I Basic Profile 1.1 Sada Web services specifikací rozšířená o
vyjasnění, upřesnění, rozvedení, interpretace Zaměřuje se na: Zprávy (SOAP) Popis služeb (WSDL, XSD) Publikace a vyhledávání služeb (UDDI) Zabezpečení (HTTPS)
33
WS-I Basic Profile 1.1 Conformance requrements Conformance Targets
požadavané kritérium které je třeba splnit MUST, SHOULD, MAY Conformance Targets Indikuje na co je Conformance requrements aplikován SOAP message WSDL document UDDI tModel
34
WS-I Basic Profile 1.1 Conformance requrements Conformance Targets
požadavané kritérium které je třeba splnit MUST, SHOULD, MAY Conformance Targets Indikuje na co je Conformance requrements aplikován SOAP message WSDL document UDDI tModel
35
BP 1.1 Test Assertions Dokument obsahuje sadu testovacích assertion
Assertion je ve stavu OK nebo FAILED Testovací tool implementuje požadované assertions a generuje reporty o stavu
36
WSDL Assertions - ukázka
BP2700 The wsdl:definitions is a well-formed XML 1.0 document BP2202 The XML declaration statement uses UTF-8 or UTF-16 for the encoding. BP2098 The "location" attribute is specified for the wsdl:import element, and has a non-empty value. BP2104 The targetNamespace attribute on the wsdl:definitions element for the imported WSDL description has the same value as the namespace attribute on the wsdl:import element that imported the WSDL description.
37
UDDI a SOAP Assertions BP3002 BP1004
The uddi:bindingTemplate element contains a uddi:accessPoint element, with a non-empty value. BP1004 The request message is a POST message, without any use of framework extension.
38
Otázky a odpovědi
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.