On the Right Track with SOA
by Tushar K. Hazra, PhD, Senior Consultant, Cutter Consortium
Back in 2002, when I wrote the Executive Report "Transitioning Business Application Components to Web Services" for Cutter Consortium's Enterprise Architecture advisory service, I described service-oriented architecture (SOA) as a next big thing. Little did I know then, like many other practitioners, that we would experience such an industry-wide push to use SOA today. I can report today that SOA is here and it is here to stay.
Despite industry pressure, however, I urge practitioners not to embark upon SOA initiatives just because everyone else in the industry is. It is essential to survey the options carefully and meticulously in order to do SOA right. Otherwise, the consequences in the areas of cost effectiveness and competitive advantage (or the lack thereof) will be insurmountable for our companies tomorrow in their pursuit of enterprise-wide agility. So, how do we make sure that we are on the right track? How much and how far do we need to plan ahead? What are the most common risks companies are experiencing today and what are companies doing to resolve such risks and succeed in their SOA implementations?
I would like to address the first question in this Advisor.
How Do We Make Sure We Are on the Right Track?
To make sure that we are on the right track, we need to check a number of activities and assess how well we have performed them. For most companies that are successfully implementing SOA today, I have observed that the following activities have played significant roles:
-
Recognizing business needs for SOA -- It is obvious today that SOA is a business-driven concept as much as it is a technical evolution. Successful companies have recognized the business needs early in their SOA efforts -- and they have involved business organizations from the beginning. As a result, there have been early buy-ins, adequate collaborations, and effective interactions to resolve relevant issues, challenges, and associated risks. Some senior executives shouldered a great deal of responsibility and accountability to accommodate the most critical success factors. Without active involvement of business, there is very little future for SOA.
-
Understanding the concepts of a service -- As a general rule of thumb, a service must be granular enough to encapsulate a business function and should be capable of conforming to the technology frameworks (J2EE or .Net), design patterns, and standards. Most commonly, a service has one set of interfaces to interact with other services or business applications. Ideally, the granularity and the interface of a service defines its coupling or interdependencies with other services and applications. Companies that are effective in their SOA initiatives usually focus on identifying a small number of services that can be modified or refined over a period of time. More services are added progressively based on their priorities to serve business needs.
-
Readying the organization -- This activity is as important as the previous two. Companies are assessing their existing investments in technology, processes, and people. Then they are evaluating their options for making initial investments. It is important to acknowledge the learning curve for employees and the complexity of adopting a new set of consistent processes and technologies or improving upon existing processes and technologies. It is also clear that picking the right candidates for the potential SOA transition is important. Many companies are choosing one or two major applications for their initial SOA transition and also rolling out an enterprise service bus (a.k.a., ESB) to emphasize the infrastructure support.
While these three activities allow us to step forward in the right direction, we also need to regularly review the progress of our SOA initiatives. The time is now to get started with an SOA initiative.
-- Tushar K. Hazra, PhD, Senior Consultant, Cutter Consortium

