Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Web Services Introduction

Podobné prezentace


Prezentace na téma: "Web Services Introduction"— Transkript prezentace:

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

3

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="http://example.com/stockquote.wsdl" xmlns:tns="http://example.com/stockquote.wsdl" xmlns:xsd1="http://example.com/stockquote.xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <schema targetNamespace="http://example.com/stockquote.xsd" xmlns="http://www.w3.org/2000/10/XMLSchema"> <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="http://schemas.xmlsoap.org/soap/http"/> <operation name="GetLastTradePrice"> <soap:operation soapAction="http://example.com/GetLastTradePrice"/> <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="http://example.com/stockquote"/> </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=„http://myS.org" 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


Stáhnout ppt "Web Services Introduction"

Podobné prezentace


Reklamy Google