web services i nd7 publiser dine service på en standardiseret protokol

14
Trekronergade 147B, 2500 Valby, telefon: 35 300 700, fax: 35 300 701, web:www.semaphor.dk, email: [email protected] 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

Upload: fausto

Post on 09-Jan-2016

29 views

Category:

Documents


0 download

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 Presentation

TRANSCRIPT

Page 1: Web services i ND7 Publiser dine service på en standardiseret protokol

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

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

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

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

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

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

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

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

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

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

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

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

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

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