muSOAing for 8/26/09

Services Design, now before you know it things will get a lot more interesting. Rubber meets the road and all that sort of thing. Let me do a very Quick and Dirty scenario where you want to build out the server side components of one of your services. Remember that the server side is serving a client request, which means it receives a request and returns a response. This means that you will need a Request schema and a Response Schema. For now we will assume that all the calls will be Document style calls.

A quick lowdown on Document style APIs. All request and response objects are sent as SOAP requests and responses. You should all be familiar with SOAP so will not go into the details, suffice to say that in a Document style API, the payload which can be the request of the response XML will be sent in the SOAP Body. The general convention is to suffix this schema with Req such as InvoiceInfoReq. On the server side, when you get a request (via HTTP) you will know the type of request (which function call) thru an important parameter called the SOAP Action. Using this you will determine what you will do to service the request. Using the SOAP Action and some input parameters contained within the SOAP Body payload, you will have to fetch all the required EIS data, map it to the canonical response schema, encapsulate it in the SOAP Body and sent the response back. The convention is to suffix it with Rsp such as InvoiceInfoRsp.

Here is your quick and dirty description of a service interaction. Now how will you actually implement all this. What is the actual service infrastructure you will deploy on the server side (and on the client side) to enable such an infrastructure. Remember that you are now bringing together the work you have done earlier being the Canonical schemas and probably some legwork related to your service APIs such as SOAP Actions, service styles (Document or RPC) and later on the WSDLS to glue all this stuff together.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: