While I'm at it...Happy Birthday Bill...thanks for working on your birthday...things don't change do they?
JMP206 Web Services Bootcamp
Speaker: Bill Buchan
SW 7-10 - Sunday 1:30pm - 3:30pm
My Notes...
What's Web Services?
App to App protocol for exchanging structured data
Usually using http protocol
Usually using XML
They are
Language Independent
Platform independent
Data format representation independent
Players
Server - answer questions, accept requests, repond to requests
Client or consumer - knows where the web service server is located
Client drives the conversation, server cannot initiate a conversation with the client
Testing a Web Service
SoapUI is recommende - http://www.soapui.org
Allows you to interrogate a web service
and build test case with real data
Using Domino to provide Web Services
Using LotusScript as a Web Service
Coding a Java Servlet
Using an agent
Simplest is to use a LotusScript Web Service
Web Service agent profiling - very nice item to use
Don't want to change a web service, once it's out...instead, rollout a new web service
Don't asume the consumer can perform a lot of data manipulation
i.e. Blackberry smartphones/ Windows Mobile?
Best to put complex code in a script library, and surface it via a web service
put a normal test harness agent around it and debug it
Bill shows a Contacts database
Architecture question - Do we:
Pass all fields back as web service items?
Pass back an array of fields?
CAUTION: Web services built or compiled in Notes 8 designer won't run on ND7 anymore
So be careful about what web services you hos on which servers, and which version of designer you use
ND8 now supports code in Java Libraries
WSDL - Web Services Description Language
It's an XML document
You can query the LS webservice for it's WSDL
Why construct a Web Service in a Servlet?
Persistence
Performance
Downsides?
Very old servlet engine in Domino
Old Versions of Java
Complex
More difficult to support
REST - Representational State Transition
It's an architectural proposal - not a standard
The query part of the web service is respresented using a URL
Why consume web services?
To gain access to info in other systems
To prevent the sync and replication of external data sources to Notes
Real time, up to date data lookup
Where?
Could use a sched. Java agent in Domino to interrogate external services
No UI means you have to monitor and shck
Could use client-driven code on the client workstation
Easy to consume in Notes8
What if we don't have ND8?
COM - using MSSoap Toolkit - a dll for each workstation
COM - using MS XMLHTTP
Stubby on 7
Project on OpenNTF.org
Generates the relevant java stub files to allow you to consume java web services
Runs on the Notes Client - and only in 7
Use the helper form to create the necessary stub files...
So much stuff in the slides, can't do it justice...so..go get them...