web services i nd7 publiser dine service på en standardiseret protokol
DESCRIPTION
Web services i ND7 Publiser dine service på en standardiseret protokol. Præsenteret af: Ronni Kahalani, Semaphor Udviklingschef / Systemarkitekt mail: [email protected] web: www.semaphor.dk. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/1.jpg)
Trekronergade 147B, 2500 Valby, telefon: 35 300 700, fax: 35 300 701, web:www.semaphor.dk, email: [email protected]
Web services i ND7Publiser dine service på en standardiseret protokol
Præsenteret af:Ronni Kahalani, SemaphorUdviklingschef / Systemarkitektmail: [email protected]: www.semaphor.dk
![Page 2: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/2.jpg)
Agenda
• Hvad er en web service?• Hvad er WSDL, SOAP & UDDI• Håndtering af retur datatyper• Hvorfor bruge web services• Hvor bruges web services?• Demos• Afslutning
![Page 3: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/3.jpg)
Hvad er en web service?
• Et interface som beskriver en samling af operationer der er tilgængelige over nettet via standard XML baseret data udveksling.
• En service er beskrevet via en standard XML notation kaldet WSDL, og kommunikeres med via SOAP.
• Teknologien brugt ifm. IT arkitektur stilen SOA (Service Oriented Architecture)
![Page 4: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/4.jpg)
Hvad er WSDL?
• WSDL står for Web Services Description Language • WSDL er et XML dokument • WSDL bruges til at beskrive Web services • WSDL bruges også til at lokalisere Web services • WSDL er endnu ikke en W3C standard
Kort sagt:WSDL en XML-baseret service beskrivelse af hvordan man kommunikerer med servicen/interfacet.
![Page 5: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/5.jpg)
Hvad er WSDL?
SIMPLIFICERET WSDL EKSEMPEL
<message name="getTermRequest"> <part name="term" type="xs:string"/></message>
<message name="getTermResponse"> <part name="value" type="xs:string"/></message>
<portType name="glossaryTerms"><operation name="getTerm">
<input message="getTermRequest"/><output message="getTermResponse"/>
</operation></portType>
![Page 6: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/6.jpg)
Hvad er SOAP?
• SOAP står for Simple Object Access Protocol • SOAP er en kommunikations protokol • SOAP er et format til at sende beskeder • SOAP er til kommunikation mellem applikationer• SOAP er designet til kommunikation via Internettet • SOAP er platform uafhængigt• SOAP er programmeringssprog uafhængigt • SOAP er baseret på XML • SOAP er simpelt og åben for udvidelser • SOAP muliggør det at komme uden om firewall udfordringer • SOAP vil være en W3C standard.
Kort sagt:SOAP bruges til at kalde service funktioner defineret i WSDL’en.
![Page 7: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/7.jpg)
Hvad er SOAP?
REQUEST<?xml version="1.0"?><soap:Envelope xmlns:soap="http://…” soap:encodingStyle="http://…"><soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice><m:StockName>IBM</m:StockName>
</m:GetStockPrice></soap:Body></soap:Envelope>
RESPONSE<?xml version="1.0"?><soap:Envelope xmlns:soap=”http://…” soap:encodingStyle="http://…"><soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPriceResponse><m:Price>34.5</m:Price>
</m:GetStockPriceResponse></soap:Body></soap:Envelope>
![Page 8: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/8.jpg)
Hvad er UDDI?
• UDDI står for Universal Description, Discovery and Integration
• UDDI = directory af web service interfaces beskrevet i WSDL • UDDI kommunikerer via SOAP • UDDI er indbygget i Microsoft .NET platformen
Kort sagt:UDDI er en directory service hvor virksomheder kan registrere og søge på Web services.
![Page 9: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/9.jpg)
Håndtering af retur datatyper
• Simple datatyper, som:– LotusScript: String, Integer, Double….– Java: String, double, int, long….
Mappes typisk implicit / indirekte
• Komplekse datatyper som:– Klasser og andre former for strukturer (Employee, Manager,
Customer)
Kræver provider WSDL og explicit generering og brug af stub klasser, hos consumer. (via Apache Axis eller DD v7.0.2)
![Page 10: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/10.jpg)
Hvorfor bruge web services?
• En simpel mekanisme til at sammenkoble løsninger uafhænigt af teknologi, enheder og lokationer
• Baseret på standard protokoller med universal support
• Billigere kommunikation over Internettet, ift. private og specialiserede netværk og produkter EDI o.lign.
• Fleksibilitet mht. transport mekanismer
• Løst koblede afhængigheder
• Selv beskrivende, en udvikler kan nemt forstå de beskrevne interfaces
• Automatiseret Discovery. Løsninger kan selv finde ønskede services
• Muliggør forretnings orienteret service arkitektur.
![Page 11: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/11.jpg)
Services
Hvor bruges web services?
• Eksempler fra internettet– Google API– Yahoo MAPS– Amazon– DR – playlister og meget andet– Stock quotes
• Internt i virksomheder– Indkapsling af forrentnings entiteter
CRM System
Financial System
HR System
Inte
gra
tion
sPla
tfrom
CRM
Financial
HR
Class CRM {Customer getCustomerByName(String name);Customer getCustomerById(String id);
}
Class HR {Employee getEmployeeByName(String name);Employee getEmployeeById(String id);
}
Class Employee extends Person {Double getSalery();Projects[] getProjects();
}
Projekt SystemProject
![Page 12: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/12.jpg)
Navn- & AdressebogNames.nsf
Javascript & Web service Demojsws.nsf
Demos
• Eksempel 1: Javascript der kalder ND7 web service.
NABManager Web service
String getPersonsByName(String name)
JS kalder WS via SOAP kald og får XML-baseret søgeresultat, som f.eks.
<items><item>
<docid>XXXXXXXXX</docid><fullname>Mickey Mouse</fullname>
</item><item>
<docid>YYYYYYYYYY</docid><fullname>Minnie Mouse</fullname>
</item></items>
![Page 13: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/13.jpg)
Demos
• Eksempel 2: Notes klient der kalder ND7 web service.
My Web serviceMyWebservice.nsf
Web service ConsumerWebserviceConsumer.nsf
MyWebservice Web service
String getGreeting();String getGreeting(String theName); MyComplexClass getMyComplexClass();
![Page 14: Web services i ND7 Publiser dine service på en standardiseret protokol](https://reader035.vdocuments.pub/reader035/viewer/2022070405/56814020550346895dab7c3e/html5/thumbnails/14.jpg)
Afslutning
• Ressourcer– W3schools om wsdl– W3schools om soap
• Tutorials & artikler– Call SOAP Web services with Ajax, Part 1: Build the Web services
client– Lotus Notes/Domino 7 Web Services– Quickly create Domino Web services: New Web services function
in Domino 7 speeds development – Consuming Web services from a Lotus Domino Java agent
TAK FOR JERES INTERESSE