Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avKarin Ivarsson
1
XML Web Services i praktiken
2
Arkitekturen bakom Web Services SOAP WSDL Testning av Web Services ACT GXA – ”Global XML Architecture” WS-Security WS-… WSDK Vad kommer vi att ta upp?
3
Arkitekturen bakom Web Services SOAP WSDL Testning av Web Services ACT GXA – ”Global XML Architecture” WS-Security WS-… WSDK Vad kommer vi att ta upp?
4
Vad är en ”Web Service”? En webbsite utan gränssnitt En metod för att definera gränssnitt ovanpå transportprotokollet Interoperabilitet med XML Stödjer fyra protokoll HTTP GET HTTP POST HTTP SOAP Importera som en DLL Synkron eller asynkron överföring Arkitekturen bakom Web Services
5
SOAP “Simple Object Access Protocol” XML+HTTP = SOAP … … Modulärt genom tillägg Status SOAP 1.1 är för närvarande “W3C Note” SOAP 1.2 är i “Working Draft” och innehåller uppdateringar
6
Modularitet - SOAP 520W 3MPH
7
Modularitet – WS-Routing 520W 3MPH http://tickers-r-us.org/getQuote soap://tickers-r-us.org/stocks mailto:johanl@microsoft.com uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6
8
Modularitet – WS-Security 520W 3MPH http://tickers-r-us.org/getQuote soap://tickers-r-us.org/stocks mailto:johanl@microsoft.com uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6 dWJzY3JpYmVyLVBlc…..eFw0wMTEwMTAwMD
9
En ”Web Service” i ASP.NET =.ASMX Anropar funktionerna Arkitekturen bakom Web Services ASMX XSD WSDL DISCO UDDI WSDL Beskriver ”Web Services” och underliggande data DISCO Publicerar ”Web Services” UDDI
10
Arkitekturen bakom Web Services [WebService(Namespace= "http://minfirma.se/")] Deklarerar gränssnittet Indikerar att klassen defineras som en “Web Service” System.Web.Services.WebService Basklassen för alla Web Services i.NET [WebMethod()] Varje metod som ska exponeras Värden kan returneras i vilket format som helst Vid flera returvärden, använd SOAP Kan också innehålla beskrivning, meddelandenamn, transaktionsattribut m.m.
11
WSDL Web Services Description Language Abstrakta definitioner “Types” “Messages” “PortType” Konkreta beskrivningar “Binding” “Service” Kan delas upp i flera dokument
12
WSDL Types Messages PortTypes Bindings Services Operations Ports Använder Modifierar Innehåller Abstrakt Konkret
13
Arkitekturen bakom Web Services UDDI: “Universal Description, Discovery and Integration” Specifikation som bestäms vid utveckling för att hitta och publicera gränssnitt Definerar inte implementationen eller detaljer om protokollen Kompletteras av WSDL Drivs av http://uddi.org
14
Arkitekturen bakom Web Services SOAP WSDL Testning av Web Services ACT GXA – ”Global XML Architecture” WS-Security WS-… WSDK Vad kommer vi att ta upp?
15
Testning av ”Web Services” Visual Studio.NET skapar en testsida för varje Web Service Tillgänglig från.ASMX Kan bara testa HTTP GET Kan vara startpunkten för både test av funktioner och prestanda Kan testa HTTP Post med exempelvis FrontPage
16
Testning av ”Web Services” Application Center Test Möjliggör automatisk exekvering av webblösningar Full version i Application Center Server Utvecklarversion i Visual Studio.NET Enterprise Architect Edition Producerar XML baserade resultat Kan jämföra resultat sida vid sida Samla in data med “Performance Counters” Whitepaper http://msdn.microsoft.com/ vstudio/techinfo/articles/developerproductivity/apptesting.asp
17
Arkitekturen bakom Web Services SOAP WSDL Testning av Web Services ACT GXA – ”Global XML Architecture” WS-Security WS-… WSDK Vad kommer vi att ta upp?
18
Web Services idag… Idag… är alla stora leverantörer ombord och satsar är standardiseringen är på gång har Web Services fått en bred acceptans för interoperabilitet finns “.NET Framework” och Visual Studio.NET finns servrar, klienter och tjänster Hur kommer det sig? 1:a skälet: Enkelheten 2:a skälet: Den breda acceptansen
19
…och imorgon: GXA GXA är… idag drivet till stor del av Microsoft, IBM, BEA och VeriSign ett ramverk ovanpå SOAP/WSDL tillägg till huvuden i SOAP-meddelanden generella specifikationer GXA är inte… en produkt! ett “bara Microsoft” påhitt utan möjlighet att påverka
20
Vilka aktörer är inblandade? W3C World Wide Web Consortium Specifikationer och rekommendationer (XML) OASIS Specifikationer och rekommendationer (XML) ECMA Specifikationer och rekommendationer (t.ex. C#) WS-I Web Services Interoperability Group Erbjuder riktlinjer och ”best practices”
21
21 Designmål med GXA Generellt Oberoende av applikationstyp Baserat på standards Interoperabiltitet mellan leverantörer är nyckeln WS-I.org Federerat Ingen central administration eller kontroll Ingen “Single Point Of Failure” Modulärt Ska fungera “ensamt” och “tillsammans”
22
GXA Transportprotokoll på Internet XML, SOAP, WSDL GXA Visual Studio.NET Metadata Meddelandehantering Säkerhet Transaktioner
23
Metadata i GXA Varför behövs något ytterligare? WSDL+XSD erbjuder bara bastyper för Web Services WSDL kan inte beskriva QOS, förmågor, säkerhetsinställningar, transaktionskrav osv. WS-Inspection + UDDI erbjuder en del av detta GXA hanterar allt som resurser (t.ex. datatyper, transportpunkter, meddelanden)
24
WS-Inspection Inspektera och få information om tillgängliga tjänster Bygger på WSDL och UDDI http://msdn.microsoft.com/ws/2001/10/Inspection/ <inspection xmlns="http://schemas.xmlsoap.org/ws/2001/10/inspection/" xmlns:wsiluddi="http://schemas.xmlsoap.org/ws/2001/10/inspection/uddi/"> Aktiekomponent <description referencedNamespace="http://schemas.xmlsoap.org/wsdl/" location="http://example.com/stockquote.wsdl"/> 4FA28580....0333F79
25
Transaktioner i GXA Distribuerade kontrakt med hjälp av transaktioner Korta transaktioner använder 2PC Vanligt i databaser och OLTP-lösningar Långa transaktioner använder en koordinerad kompensationsmodell Vanligt i EAI lösningar En nyckelfaktor är addering av transaktioner http://msdn.microsoft.com/ws/2002/08/wstx/
26
WS-Coordination Coordinator ActivationRegistration Protokoll YProtokoll X … CreateCoordinationContextRegister För att kunna koordinera transaktioner och hantera distribuerat arbete Möjligt att gömma applikationsspecifika protokoll http://msdn.microsoft.com/ws/2002/08/WSCoor/
27
Meddelandehantering i GXA HTTP är bara ett av många transportsätt Hur hanteras en överföring på 5 timmar? 2-vägs kommunikation är också komplext! Tillförlitlig överföring är allmänt svårt Osorterad överföring på grund av olika transportvägar
28
WS-Referral För att konfigurera SOAP ”routrar” att skapa en meddelandeväg for…if…go… http://msdn.microsoft.com/ws/2001/10/Referral/ soap://b.org soap://c.org mid:1234@some.host.org
29
WS-Routing Används för att beskriva färdväg och alternativ returväg för meddelanden http://msdn.microsoft.com/ws/2001/10/Routing/ Sändare A Mottagare D Mellanhand B Mellanhand C http://www.im.org/chat soap://D.com/some/endpoint soap://B.com soap://C.com soap://A.com/some/endpoint uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6
30
WS-Routing Den “slutgliga destinationen” är inte alltid den enda aktörern Brandväggar används flitigt Att ange tillbaka-väg “Reverse Path” underlättar trafiken I kombination med WS-Referral defineras en rik mekanism Meddelande kan routas beroende på egenskaper Eliminerar flaskhalsar och begränsningar i DNS med URL’s Möjlliggör dynamisk routing och genvägar
31
Säkerhet i GXA SSL över HTTP kan vara en flaskhals Bunden till simpla autentiseringsmodeller Ärver det som är dåligt från klassiska webb-applikationer Säkerhet på transport-protokolls-nivå bryts ofta ner på “multi-hop”/”store-and-forward” ACL-baserad modell kan vara komplext att skala på Internet
32
Säkerhet i GXA “Policy” “Claims” “Token” GXA säkrar meddelande oberoende av transportsätt “Utsagor” (Claims) representerar rättigheter, privilegier, identiteter m.m. Tjänster använder “policies” för att kräva “utsagor” “Tokens” bevisar en eller flera utsagor
33
WS-Security En specifikation för säkra XML Web Services Tar över… SOAP-SEC Microsoft’s WS-Security, WS-License “IBM’s security token and encryption “ Utnyttjar bland annat XML DIGSIG XML Encryption XML Schema SOAP
34
WS-Security Utvecklas vidare mot… WS-Trust WS-Privacy WS-Authorization WS-SecureConversion WS-Federation WS-Policy Specifikationer http://msdn.microsoft.com/ws/2002/04/Security http://msdn.microsoft.com/ws/2002/07/Security http://msdn.microsoft.com/ws-security/
35
WSDK Web Services Development Kit Första versionen innehåller… WS-Routing WS-Security DIME (”Direct Internet Message Encapsulation”) Lägger till funktionalitet till Visual Studio.NET SoapContext.Referrals SoapContext.Security SoapContext.Path SoapContext.Attachments
36
Vad har vi talat om? Arkitekturen bakom Web Services SOAP WSDL Testning av Web Services ACT GXA – ”Global XML Architecture” WS-Security WS-… WSDK
37
För mer information Microsoft sidor om XML Web Services http://msdn.microsoft.com/webservices/ Standardiseringsarbetet http://www.w3c.org http://www.ws-i.org ”Building XML Web Services…” Scott Short ISBN: 0-7356-1406-7
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.