Archive for April, 2009

muSOAing for 4/21/09

April 22, 2009

Belushi still filling up. Is an ESB at the heart of every SOA implementation. Actually no. Coming to think of it you may be able to get by with your own light-weight services invocation framework or you could also do with a heavy weight process engine such as WLI or BizTalk. A lot of the features of an ESB such as content based routing, mediation, data transformation, process/service orchestration and security can be handled by these process engine. May required some coding though which is the only downside. With an ESB everything is thru configuration.

If you have complex orchestration needs at the service level or process level then you are better off using these process engines. In my opinion an ESB is a nice to have. They also cost a lot of money to do a Cost/Benefit analysis before taking the next step and signing on the dotted line.


muSOAing for 4/19/08

April 19, 2009

Another small segway (like John Belushi in 1941). A couple of weeks back I had talked about this ability to create the request object manually. Though this gives a lot of control to the developer, question is should it be used often. Remember that marshalling/serialization is a very expensive operation especially when it comes to large objects. It may have an adverse affect on performance if your system is highly transactional and concurrent. So use this with caution or better still try to avoid it altogether if you system falls in either of the two categories.

Though the example cited was for Axis2/XmlBeans, the same applies to JAX-WS/JAXB which also allows you to perform the same type of operations.

muSOAing for 4/18/09

April 18, 2009

A top down SOA implementation effort is a very strategic one. The key stakeholders here are executive management and Business. There are several key decisions that have to be made at this phase a few of them being, setting up a separate SOA champion within the company. This individual will head what is called the SOA competency center. He will be the main dedicated resource for SOA. The competency center will also have to be staffed with other people who will not be fulltime but will have to devote a percentage of their time for the effective implementation and functioning of this center and it’s goals.

What will be the Goals for such a center?

muSOAing for 4/12/09

April 12, 2009

A top down approach will require a lot of planning. At this stage, involvement and buy in of Top Management is very essential. To give you an analogy, a top down approach is like doing the traditional VC dance. You have to wow them with a very good pitch using a lot of the information gleaned from the Discovery phase so use that wisely, you are trying to get Series A funding for your effort. Au Contraire, a bottom-up/tactical approach is like approaching your Angel Investor buddies or if you play it right can also be self funded (now how many times have you heard that phrase).

Next we will talk about exciting things like Competency Center, SOA Champion etc.

muSOAing for 4/7/09

April 7, 2009

A small segway. I want to talk a little about the flexibility offered by the combination of Axis2 with Xmlbeans. Folks who are used to Xmlbeans will find this to be a boon. Often during services invocation if becomes necessary to manually serialize the request object. Using the inbuilt factory this object can be very easily marshalled.

Take a case where you receive your input Xml in the form of DOM Objects and you have to construct your Xmlbeans type. Here is a small example,

public RequestDoc constructReq(Document header, Document body, Document content) {

String headerString = documentToString(headereader);
String bodyString = documentToString(body);
String contentString = documentToString(content);
StringBuffer sb = new StringBuffer();

String finalString = “

finalString = finalString + headerString
finalString = finalString + “

finalString = finalString + bodyString;
finalString = finalString + “

finalString = finalString + contentString;
finalString = finalString + “


RequestDoc requestDoc = RequestDocument.Factory.parse(finalString);
return requestDoc;

muSOAing for 4/3/09

April 4, 2009

Winning is not everything, it is the only thing.
Have your cake and eat it too.
Will all the battles and the war.

Sounds like cliche dropping time? No, these are the words you will live by and form part of your core strategy for implementation. Here is another one, there is no one size fits all and that I must say that this particular one is very much true. To demystify this thing called SOA and actually get the rubber to meet the road, a hybrid strategy will be best suited. The idea is to have all the players engaged and make them participate in the process and this is very much possible. A top down/strategic and bottom up/tactical tracks should be established with very clear cut goals. This is a key component for laying out the role map and making sure that you do not bite off more than you can chew.

Stay tuned.

muSOAing for 4/1/09

April 1, 2009

This initial due diligence/discovery phase should result in a concrete deliverable. This deliverable really a taking stock document and should not have a lot of information on the future roadmap though it will play a very important role in the forumation of one. The said document should be tailored for the audiences in these three domains. Preferably, it should be divided into these sections and contain information relevant to that audience.

This document should be summarized and condensed in the form of presentations. One of the very important aspects of this document is to lay the ground for the next phases. What you do or propose next is very important. At this point you have kindled enough interest that every stakeholder is raring to go. Each of them wants the items in their wishlist realized as quickly as possible. There is a danger that you could spread yourself too thin. Another critical component to consider is to formulate your implementation team. The implementation team will comprise of members from the host organization as well as folks from your own consulting organization. This is a huge task in itself. You have to lay down very clearly what roles you want fulfilled and then choosing the right people with the right skillsets for these roles.

Next, we will answer the question of how you would go about kicking off the next phases of this SOA implementation.