Tuesday, November 21, 2006

Introduction to SOA - Shaun Connolly

Service Oriented Architecture (SOA) is considered to be the current trend in software development. SOA aims to address the difficulties caused by businesses expanding their inventory of systems over time. The problem is considered to be the existance of independent systems, with independent storage, infrastructure, operational tools, and most importantly data. SOA presents the opportunity for systems to be brought together through the amalgamation of services ontop of the data repositories. It is believed that this is becoming an increasing concern with CIO's who are looking for flexible, innovative solutions with lower costs.

SOA is an underpinning feature of the JBoss Application Server, but is not a product in itself. The presentation extolled the virtues of the approach and appeared to be a leader into other presentations around, jBPM, SEAM and ESB, all part of the JBoss suite.

The following quotes provide a useful insite:

"If you don't like change, you're going to like irrelevance even less", General Eric Shinseki, Chief of Staff, US Army.

"The entire history of software engineering is one of rising levels of abstraction", Grady Booch.

It is believed that SOA offers greater flexibility and agility, that it creates more loosely coupled systems which are more process oriented, and that it helps to avoid the bing-bang approach to development as well as analysis paralysis. The presentation was not able to support these claims unfortunately, so I felt quite wary of the hype.

The presenter believed that perhaps as many as 40% to 50% of JBoss customers he has had dealings with are either pursuing or are planning to pursue an SOA strategy. One brief point to note is that the subject was tackled independently of web services; as he put it, the trick seems to be in choosing a suitable level of granularity at which to work.

I did feel that an excellent point was raised by another delegate at the end: how will businesses manage the rising tide of services they build? The implication here being that businesses are currently managing a large number of applications, so what is the killer case for SOA? This whole approach does feel intertwined with some of the later sessions around web services, business process management, etc, we shall see. However, in direct answer to the question he did say that JBoss were considering governance of services as an avenue of work for them to pursue in the next couple of years.

I wont comment further on this presentation except to say that the message here was really to put across a design style for systems. It all made a great deal of sense, which is no real shock given this is the approach we are taking on the LASER project. What we have yet to do though is to look at implementing services within other applications so that we can plug systems together. To date the best we have managed to do on this are the webservices that FMI has, but we have not benefited from re-use on this.

The ongoing review of systems for the purposes of defining the information map and capturing factual data about the architecture of those systems will ultimately need to consider where data items belong and whether they can be centralised. At this point we will be able to consider where services belong within the Ufi estate.

I've written quite a lot for what was quite an abstract discussion. This is probably because this, for me, is something that we will have to consider within the Ufi Technical Strategy.

No comments: