”Ett sätt att distribuera Business Objects via webben” Web Services ”Ett sätt att distribuera Business Objects via webben”
Vad är en Web Service? .NET-komponent över Internet Koden exekveras på webbserver Används som vanlig komponent Parametrar kan skickas in Returvärden skickas tillbaka Här borde det läggas till en bild…
Fördelar med Web Services Enkel att implementera Nyttja tjänster från andra utvecklare En tjänst kan användas av olika användare i olika syften Plattformsoberoende Sprida arbetsbörda på olika servrar Kan användas genom brandväggar Plattformsoberoende via SOAP och XML som är öppna standarder Ex: ASP.NET-sida kan ligga på en server, WebService med databaskoppling på en annan server. Webservern belastas inte av databaskopplingen.
Historia Tre olika utvecklare Problem med bristande standarder DCOM RMI CORBA Problem med bristande standarder Svårimplementerade DCOM – Microsoft RMI – Sun, Javabaserat
Protokoll Tre standardprotokoll för kommunikation: HTTP-Get HTTP-Post SOAP
HTTP-Get och HTTP-Post Gammal beprövad teknik Främst hjälpprotokoll Används vid test av Web Service Säkrar bakåtkompatibilitet Endast enkla datatyper (int, string osv) Get och Post är vad som har använts från tiderna s begynnelse SOAP kommer nog att bli större, men vid enklare tjänster… Gamla ASP-sidor kan använda ASP.NET-Web Services
SOAP Simple Object Access Protocol Bygger på XML Kan använda olika transportprotokoll Kan skicka komplexa datatyper DataSet Struct Enklare objekt Kan använda olika transportprotokoll, ex HTTP, SMTP, MIME XML används för att skicka data, SOAP används när man skickar kommandon eller instruktioner Vad är en Struct??
Så fungerar en Web Service För att hitta och implementera en Web Service används: UDDI DISCO WSDL Universal Discovery, Description and Integration = UDDI DISCOvery Web Service Description Language = WSDL
Så fungerar en Web Service Exempel på kreditskortsservice: 1. Credit card Web Service 2. UDDI 3. Web Service Consumer WebService DISCO 4. DISCO WSDL 5. 6. WSDL Proxy
Så fungerar en Web Service Söka efter kreditkortsservices på UDDI (www.uddi.org) Välja intressant Web Service i resultatlistan Visar länkar till WSDL och DISCO samt information om servicen och företaget Uddi.microsoft.com 3. Det går att ange egen information när man registrerar hos UDDI.
Så fungerar en WebService Följ länken till DISCO-filen för mer information Kontrollera WSDL-dokumentet för test och parameterinformation Skapa proxyobjekt för kommunikation med Web Service
UDDI Universal Discovery, Description and Integration www.uddi.org Samlar alla offentliga Web Services på ett ställe Som att registrera webbsida på sökmotor Uppbyggt i XML Sök på ”gronsakskungarna”
DISCO För att hitta Web Services Tillhandahålls av servicens utvecklare Kan innehålla ett företags samtliga Web Services Dynamisk och manuell information Dynamisk letar på servern Manuell länkar till angivna services Dynamisk: exclude anger mappar som inte ska sökas efter webservices Manuell kan länka till services på fler än en server
WSDL Web Services Description Language Beskriver Web Servicen i XML-format Hur servicen används – Parametrar och returvärden Var servicen finns Alla ingående metoder Information för olika protokoll
WSDL Genererar testgränssnitt automatiskt Alla webbmetoder kan testas Testen sker med HTTP-GET Parametrar anges i webbformulär Returvärden visas som XML Visa grönsakskungarna
Proxyobjektet Skapas på klientdatorn utifrån WSDL Sköter kommunikationen med WebServicen Används som ett lokalt objekt Innehåller referenser till Web Servicens alla webbmetoder
Proxyobjektet Skapas automatiskt i Visual Studio när man adderar en webbreferens Kan skapas manuellt från i kommandoprompten med wsdl.exe Måste först kompileras om det skapas via kommandoprompten Syntax vid kommandoprompt: wsdl /language:VB sökväg\namn.wsdl
Att skapa en Web Service Importera System.Web.Services Ange klassen som <WebService()> Ange metoder som <WebMethod()> Metoder utan <WebMethod()> kan inte anropas utifrån Metoder utan <WebMethod()> kan användas internt i servicen men inte utifrån
Att skapa en Web Service Exempel: grönsakshandeln
Att konsumera en Web Service Skapa ett proxyobjekt Deklarera instans av proxyobjektet Använd proxyobjektets metoder Dim bildwebservice As New localhost.Service1() test = bildwebservice.SearchString(id, sok, _ soktext) Visa: Lägg till webbreferens i Visual Studio
Metoder och attribut Namespace gör det möjligt att skilja på metoder med samma namn som hör till olika Web Services Description beskriver för användaren hur servicen/metoden används Session låter Web Servicen komma ihåg användare Namespace ska vara unik, är ofta företagets webbadress. Syntax: <WebService(Attribut:=”blablabla”)> i VB, <WebService(Attribut=”blablabla”)> i C#