« Nieuw draft redpaper: "Notes & Domino 7 Enterprise Upgrade Best Practices" | Main| De Notes client en Lotus Workplace Client Technology »

Webservices & ND7

QuickImage Category
Bookmark : del.icio.us  Technorati  Digg This  Add To Furl  Add To YahooMyWeb  Add To Reddit  Add To NewsVine 

Binnenkort brengt IBM/Lotus Release 7 van Notes/Domino uit. Voor het eerst zit hier ook standaard ondersteuning in voor webservices. Webservices is een van de "buzzwords" op het internet tegenwoordig, en met een goede reden: een webservice biedt ontwikkelaars de mogelijkheid om informatie die elders op het internet aanwezig is op een betrekkelijk eenvoudige manier te gebruiken.

Wat zijn webservices?
Webservices is een door het W3C gedefinieerde standaard die het mogelijk maakt om verschillende systemen met elkaar te laten communiceren via standaard webprotocollen, zoals HTTP. Een webservice maakt het mogelijk om op afstand (meestal via het internet) vanaf een client-computer een dienst op te vragen aan een server, bijvoorbeeld voor het maken van een berekening. (http://nl.wikipedia.org/wiki/Webservice)

Een voorbeeld
Het bekendste voorbeeld van een webservice is de mogelijkheid om een straatnaam en woonplaats bij een postcode en huisnummer te zoeken. Bijvoorbeeld: bedrijf A heeft een database met daarin de adresgegevens van heel Nederland. Ze besluiten om een webservice te bouwen om deze data toegankelijk te maken voor andere bedrijven.

Bedrijf B heeft een webapplicatie waarin adresgegevens worden bijgehouden van hun klanten. Ze besluiten om bedrijf A te benaderen om hun webservice te gebruiken. Bedrijf A geeft Bedrijf B een zogenaamde WSDL-document (Webservice Definition Language Document-formaat). Hierin staat in XML-formaat wat de webservice doet, op welke manier(en) de service aangeroepen kan worden, en welke informatie de service teruggeeft. Alle informatie die de webservice verstuurt en ontvangt, is in het SOAP (Simple Object Access Protocol)-formaat. Dit is ook een voorgedefinieerde XML-standaard.

Tenslotte is het mogelijk om de webservice op te nemen in een overzicht van webservices, zodat potentiele gebruikers ook weten dat de service er is. Hiervoor wordt gebruik gemaakt van nog een standaard: een database in het UDDI (Universal Description, Discovery and Integration) formaat. Deze database kan gezien worden als een telefoonboek voor webservices. Hierin worden de WSDL-documenten en eventuele aanvullende informatie opgeslagen.

Welke rol speelt ND7 in dit proces?
ND7 biedt de mogelijkheid om webservices te maken die informatie uit de Notes-database ontsluit voor andere systemen. In ND7 wordt een webservice gekoppeld aan een agent-achtig design element dat in LotusScript of Java geschreven kan worden. De database met de webservice moet op een server staan die de HTTP-taak draait.

Een simpel voorbeeld van een webservice in Notes is het ophalen van het veld "Onderwerp" uit document n uit een view in een database. Als parameters voor de webservice worden dan de database naam, de view naam en de positie van het gewenste document in de view meegegeven. Als resultaat wordt dan de waarde van het veld "Onderwerp" teruggegeven in een SOAP-bericht.

Hoe maak je in ND7 een webservice?
Het maken van deze webservice kan op verscheidene manieren. Ten eerste kan de webservice volledig in LotusScript of Java geschreven worden, waarna de WSDL door Notes gegenereerd wordt. Het is ook mogelijk om een WSDL-document te importeren. Notes zal dan een raamwerk gebaseerd op deze WSDL klaarzetten. De ontwikkelaar hoeft dan alleen de code te schrijven om de input te verwerken en de gewenste output te leveren. Als de ontwikkelaar iets veranderd in het raamwerk, zal de WSDL automatisch aangepast worden om deze wijziging te tonen.

Security
Qua security biedt een webservice in Notes vergelijkbare opties als een server agent voor het web. Het is dus mogelijk om de webservice te draaien op naam van het id waarmee de service gesigned is, of op naam van degene die de webservice aanroept. Verder is het mogelijk om te specificeren wie de webservice mogen gebruiken.

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

OpenNTF random projects

PlanetLotus