"We didn't start the fire ... it was always burning since the world's been turning ..." [Billy Joel 1989]. Is SOA the "Same Old Architecture?" or is it "Simply Over Ambitious?" Let's apply SOA's arsenal:: XML, BPM, Services, SOAP, Web Services - to the real world and find out. Let's put out some fires.

« The SOA Architectural Challenges in Practice | Main | SOA wishlist for Santa Claus...(and food for thought for rest of us) »

IBM SOA Stack – Scope for Simplification

by Rajat Bhatla

I had attended a workshop on understanding IBM SOA technologies at IBM South Bank London a few months ago.  At the time I was also on a project where we were defining an enterprise SOA based landscape.  So it was quite a good timing with live practical experience on one side and IBM on the other. It proved a rich learning experience, combined with interactions with SOA practitioners from different streams, hands on labs and highly experienced IBM staff. In this post I’ll just focus on the Websphere stack of tools that we were exposed to, and my takeaway feelings about the set of products that we did hands on with.

 

More or less accurately, the IBM SOA stack comprises of the following,
Stack comprises of

  • Rational Application Developer
  • Integration developer (Eclipse)
  • Service Registry and Repository
  • Process Server
  • Business Process Fabric
  • Business Monitor
  • Business Space
  • ESB
  • Business Rule engine (inbuilt)
  • Business Integration Server

 

There was a guiding case study that took us through implementation aspects of each of these tools in building an SOA enabled enterprise stack.  There was little coding, mostly configuration around these tools. It was a 3 day workshop, but even then with the number of tools to go through quite packed.

Some of my key observations from the experience,

 

  • As you might see from the outset, for someone unaccustomed to working with the IBM stack, it has a rather “elaborate” feel to it. At a high level it seems that modularity offered by providing layer-wise components is useful, but the associated complexity is a bit harder to digest.  IBM likely has a sound basis for configuring stack in this way. Possibly better suited to problems and projects of huge scale, where you can afford to dedicate teams to a particular application layer.  But, far more often development happens with small teams, and individual developers spanning the all layers of a development. Burdening then with 7 tools to manage their end to end isn’t a Project Manager’s productivity tip.

  • The core Process server, ESB and App server is basically a Russian doll configuration of one tool built over the other.  But if you have to acquire BPM and ESB capability it seems that you have to buy each one separately.  Is it not possible for Websphere to be sold as a Core + Plugin configuration?  e.g.  1) Websphere standalone, 2) Websphere with ESB plug-in and 3) Websphere with ESB and Process Server plugins. Is it, that if it is done this way, clients will not need to buy all the three and then not need to buy some more hardware to stack them on top of each other? May be I am being too harsh, but my argument is that if I need a car with a sat-nav I don’t go a buy a new car; I buy a sat-nav. My feel of looking at the 3 products was that they all share a common framework and can possibly be bundled up as one.
In fact a question had been asked that Process server and ESB appear to be very similar products to the point of BPM looking like a rebadged version of ESB, so what is the distinction? One of the main answers was that Process Server should be used for Stateful orchestrations and ESB for stateless orchestrations. Well, is it then left to the user to define a distinction for himself while having paid extra licensing costs for each layer of the stack?

  • Thirdly, is it not possible for business fabric, business monitor and business space functions to be woven into the business process server itself? Not just tool integration but inclusive in process server license as well.



Depending upon initial build requirements of a project one may may need a variable set of tools to start with from this list, chances are as requirements grow in complexity remaining ones will be needed as well.

In enterprise architecture, tools are enablers of implementation. When tools become too complex, the effort in adapting to the tools distracts from the core architecture itself and increases cost to business.

In meeting this premise better, I feel IBM  SOA stack needs to be configured or packaged in a way that makes it feel light, more integrated, easy to adapt to and cost effective.

 

 

TrackBack

TrackBack URL for this entry:
http://www.infosysblogs.com/soa-mt/mt-tb.fcgi/112

Comments

This is an excellent article with some great insights. I got good return for my time. This was my first time in Infy SOA blog and for sure i'll visit it more often now.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Please key in the two words you see in the box to validate your identity as an authentic user and reduce spam.