muSOAing for 9/3/09

So let us tackle the three principal constituents of Client Side services. Let us start with the services invocation framework. Why is a framework important, well there are several reasons,

– The client (ex. Portal/UI) should be hidden from the implementation details of the services.
All that the client would need are three pieces of information, a. The type of service being
invoked b. The input that the service needs (typically a Request Document XML) and c.
The response that the client can expect
– As new services are being developed, you need a standard mechanism for maintaining and
invoking them. What I mean by this is, as services become available, the client side will
typically consist of these main invocation objects. a. The compiled stubs (using Axis, JAX-
WS etc) b. Your own framework classes that will wrap around these stubs and provide all
the abstractions mentioned in the previous bullet.
– Typically, these packages will be compiled into a shippable unit and be co-located with the
client or it can also be remoted using RMI, EJB or HTTP/S depending on the needs.

Now going into the details of the framework itself. If you expect to keep adding services then it is better to go with a heavyweight pre-build framework like Spring or Struts. If you have a finite list of services say under 50 then you can build your own framework.

Keeping the needs of the Abstraction components in mind, you can follow the standard OO Pattern of Interface and Implementing classes which is quite a standard pattern. When packaged as a jar or war and is colocated, the classes by themselves can be invoked by the client as long as they know the interface. All the other service details are hidden.

In the next post we will discuss Simulation which is a very important component of Services Development and Usage.

Advertisements

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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: