Web Services 1
Web Services Hur ska tillämpningar integreras? Hur ska tillämpningar integreras (via nätet ) för att erbjuda tjänster åtkomliga på nätet? SVAR: Web Services (Enligt Microsoft, Sun, IBM etc.) 2
Mål Deltagarna ska: översiktligt förstå vad Web Services är känna till vilka standarder som ingår i Web Services känna till produkter som stöder Web Services (.NET, SunOne, WebSphere, etc.) 3
Innehåll Web Services Exempel på tjänster Standarder för tjänstehantering (UDDI, WSDL, SOAP) Branchspecifika standarder (ebxml etc.) Exempel på produkter (.NET, SunONE, etc.) 4
Lärare Mats Strandberg AB mats@cognitude.com 5
Web Services Allmänt: Tjänster på webben Specifikt menas att: Göra tjänster tillgängliga på internet Beskriva tjänster som finns tillgängliga på internet Eng: Deploy/Publish 6
Web Services 7
Exempel på tjänster Översättning av valutor Bokning av flyg (används t.ex. av resebyrå) Portaler som förmedlar varor och tjänster från flertalet leverantörer 8
Webtjänster innan Web Services HTTP HTML 9
Webtjänster innan Web Services CGI: www.sas.se/reserve?from=arn&to=lax& out=200301201000&return=200301271000& adult=1&children=0 HTML 10
Webtjänster innan Web Services Klient/Server-lösning där tjänsteleverantören kontrollerar både Klient och Server Inga öppna gränsnitt mot tjänster för att konstruera egna klienter 11
Problem med Webtjänster idag CGI tillåter bara platta strängar Hur göra med strukturerad information (t.ex. faktura)? HTTP tillåter MIME, dvs bilagor med grov kategorisering i dokumenttyper, men MIME anger typ på dokumentet ej på innehållet 12
Web Services Web Services är för tjänster vad XML är för data: Plattformsoberoende, standardiserad paketering 13
XML vs HTML HTML: HTML presenterar (data) innehåll. HTML ger liten information om logisk struktur XML: XML definierar (data) innehåll med logisk struktur Med XSLT kan översättning göras, t.ex. en presentation av innehållet (HTML) 14
Web Services vs HTML/HTTP/CGI Webtjänster innan Web Services: HTML presenterar (data) innehåll. Tjänster anropas med strängar via CGI Web Services: definierar tjänster med logisk struktur klienter kan anropa tjänster och t.ex. presentara innehållet (HTML) 15
Web Services Fokus på tjänster ej på klienter och servrar 16
Web Services Web Services är inte en produkt! Vad menar man* med [XML] Web Services: Ett antal standarder för att: beskriva tjänster göra tjänster tillgängliga på ett plattformsoberoende sätt *) IBM, Microsoft, Sun etc. 17
Web Services i perspektiv 18
Web Services i perspektiv Vad är IT-branchens verkliga problem? Vilka är de bra tjänsterna? Hur vill användarna ha det? Vad kostar det? 19
Vad används Web Services till? Web Services beskriver: vad tjänster erbjuder (innehåll) var tjänster finns (var i nätet) hur tjänster anropas (parametrar) hur data packas Dessa beskrivningar är avsedda för maskinmaskin-kommunikation 20
Vad Web Services INTE är I Web Services ingår inte: programmeringsspråk databas användargränssnitt etc. 21
HTML vs Web Services HTML: presenterar och erbjuder tjänster liten information tjänstens maskinella gränssnitt Web Services: beskriver tjänstens maskinella gränssnitt. olika användargränssnitt kan konstrueras (t.ex. HTML) 22
Web Pages Web Services HTML: Hämta websidor Utför tjänster vid klick på websidor Web Services: Tjänster beskrivs ( gula sidor ) [UDDI] Hur tjänster anropas (vilka parametrar etc.) beskrivs (språk för tjänstedefinition) [WSDL] Definierat protokoll för anrop [SOAP] 23
Nyckelkoncept Universal Description, Discovery, and Integration (UDDI) Web Service Description Language (WSDL) Simple Object Access Protocol (SOAP) 24
Nyckelkoncept Registry Find UDDI Publish UDDI Bind WDSL,SOAP Provider 25
UDDI Universal Description, Discovery, and Integration: Gula sidor information om tjänster Sökning på tjänst, företag, plats Kategorisering av tjänster Standard Industrial Classification Vita sidor namn, adress etc. Lila sidor tjänstens gränssnitt (green pages) 26
WSDL Web Service Description Language: XML-dokument som beskriver tjänstens gränssnitt (meddelanden) Definierar var tjänsten finns Definierar vilket kommunikationsprotokoll som skall användas 27
SOAP Simple Object Access Protocol: Specificerar hur XML packas i meddelanden SOAP-RPC Bindning till underliggande protokoll (HTTP) 28
Ex. på integration av tjänster Försäljning av varor från olika leverantörer Prisinformation Order Betalning Distribution 29
Föregångare RPC CORBA COM / DCOM Java RMI EDI HTML-tjänster 30
CORBA + Standard från OMG Få stora leverantörer av middleware (IONA & Visigenic) Interoperabilitet Brandväggar Ändringskänsliga gränssnitt Ej stöd från Microsoft 31
COM / DCOM + Stöd från Microsoft + Interoperabilitet Ingen standard En stor leverantörer av middleware (Microsoft) Brandväggar Ändringskänsliga gränssnitt 32
Web Services + Standard med brett stöd + Många leverantörer av middleware + Brandväggar + Ändringståliga gränssnitt (dokumentfokus) + Bygger på befintlig teknik (HTTP, XML etc.) + Interoperabilitet Ny teknik Flexibel standard 33
Alla är med Support for Web Services: Microsoft (.NET) Sun (SunONE, J2EE) IBM (WebSphere) Etc. 34
Microsofts.NET Mjukvaruintegration med XML Web Services Byggblock för tillämpningar som kommunicerar via internet/intranet 35
.NET - skalet Stöd för Web Services: Enterprise UDDI WSDL SOAP 36
.NET under skalet.net / Windows Server 2003: IIS 6.0 (Drifta Web Services) Lastbalansering etc. ASP.NET (Konstruera Web Services) COM+ Component Service Existing COM+ application -> Web Services Active Directory (användarkonton etc.) [SQL Server] 37
Suns SunONE Stöd för Web Services (UDDI, WSDL, SOAP) Stöd för ebxml Sun ONE Studio (Forte Tools) Sun ONE Infrastructure Software (iplanet) Solaris 38
ebxml Electronic Business using XML Initiativ från OASIS och UN/CEFACT UN/CEFACT: United Nations Centre for Trade Facilitation and Electronic Business EDIFACT EDI OASIS: Organization for the Advancement of Structured Information Standards 39
ebxml ebxml Mission:... open XML-based infrastructure enabling the global use of electronic business information Områden: LegalXML Business Transactions Universal Business Language (inköpsorder, fakturor etc.) etc. 40
Sökning i UDDI I UDDI kan man söka på: Företag Tjänster Geografisk placering 41
UDDI Exempel uddi.org uddi.microsoft.com uddi.ibm.com SAP 42
URLar microsoft.com/webservices (sök-url) sun.com/webservices (sök-url) www.w3.org/2002/ws xml.apache.org/axis ebxml.org www.cognitude.com/webservices 43
Sammanfattning Web Services paketerar tjänster för återanvändning (UDDI, WDSL & SOAP) Standard med brett stöd i industrin Produkter:.NET, SunOne, WebSphere, etc. 44
Anteckningar 45