Monday, February 10, 2014

Is SOA Working for your Company?

When SOA became popular in the early 2000s, companies had very high hopes that it would solve many of their integration problems and would deliver a huge ROI given its benefits, which include loose coupling, reusability, greater business agility, lower time to deployment, and more. But after so many years and spending millions of dollars, many companies are yet to fully realize the advertised benefits from the SOA initiatives. In this article, let us take a look at few of the key problems that affected the success of SOA.

1. Lack of Experience/Support in Implementing SOA
The single biggest challenge against the success of SOA, in most cases, is simply the fact that companies still do not have the skillset or experience to take the SOA from vision to a successful implementation. Numerous factors, such as depending on project-based funding for building enterprise services, time and budget constraints, poor planning, lack of focus on data architecture and poorly implemented services, all result in a sub-optimal implementation of SOA.

The right experience/skillset are required across Business, PMO, Architecture, Infrastructure and Development teams for a successful SOA implementation.  Everyone should realize that SOA is not about building a bunch of services. The discipline, support and investment required to build a successful SOA requires a consolidated effort across the various teams.

2. Lack of Service Governance
Many times, companies fail to invest in building a centralized service governance system for managing the services. Service governance is highly essential for enforcing runtime aspects of the services like verifying SLAs, policies, managing endpoints etc and management aspects like cataloging services, tracking services from vision to implementation to sunset, maintaining versions etc. Without an effective service governance system in place, the quality of the services takes a hit. There can also be other problems like lack of visibility of the currently available services, duplication of efforts, services not being flexible enough for client application needs, etc.

This shows that it is extremely important to invest in service governance tools and methodologies as much as in building the services itself.

3. Misunderstanding on Investment Needed for SOA to Make it Successful
There is a prevailing misconception among the senior management that investing in SOA equals investing in a good product for building services. Although investing in a good product is highly essential, expecting the product alone to deliver the benefits cannot be further from the truth. Building a successful SOA involves significant investments in effort and money. In fact, success of SOA has almost as much to do with executive support as much as to do with building the services itself. Sometimes, it takes years to start seeing the real benefits of investing in SOA. Therefore, it is imperative that management understand these realities and stand behind this initiative to make it a success.

A realistic understanding on the effort and cost for implementing SOA can help companies come up with an effective action plan for implementing a successful SOA initiative.

4. Adoption Across Business Units (BU)
It is very common to see business units within the same company acting in silos for its IT needs.  Even though many of the companies keep a dedicated SOA team across the BUs, the services that they end up building become focused on the BU needs and cannot be readily consumed across the enterprise. This hinders service reuse. Project timelines, differences in service contract expectations (too much data / less data / performance considerations, etc), challenges with extending a current service vs ease of building a new service, lack of understanding of the enterprise needs, etc. all contribute to this challenge.

Benefits of SOA can truly be recognized only when synergies across LOBs are fully realized. This has real world challenges and it is extremely important to overcome these challenges to make SOA successful.

5. Challenges with Service Versioning
On the other side of SOA adoption problems, we also have to deal with challenges in enabling services for reuse by multiple client applications.  When an existing service is considered for reuse, minor differences in expectations are to be expected from the new client application. The required enhancements can get tricky to implement at times without impacting the existing client applications. Schema changes, logic changes, security implementations, etc. are some of the more common changes required in the services to cater to a new client application.

Service interface definition and versioning strategy should be carefully approached for effective service reuse.

6. Architecture Complexity
Integrating a complex IT landscape is no easy task. Coupled with fragmented IT approaches (differences in standards, data models, systems, protocols, etc.) across the company, the challenge becomes very daunting to provide the seamless experience expected from SOA. SOA is far from a plug-and-play approach that many people tend to believe it is.

Creating an SOA Reference Architecture and religiously following it is extremely important to get the best out of SOA.

7. Product Complexity
Lastly, we will also need to take into account the complexity introduced by the products used in implementing SOA. These products tend to be pretty complex since they try to abstract complex integration scenarios from the developer. But still, there will be times where it seems like these products fail to deliver. These instances might make it look like the product is not working for the company while the root cause can be the difference in expectations and an inherently complex IT system.

An in-depth understanding of the product's configuration options, standards support, monitoring support, integration options with other systems, product roadmap, etc. can reduce many of the challenges in implementing SOA.

References:
http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html
http://www.cio.com/article/438413/Top_10_Reasons_Why_People_are_Making_SOA_Fail?page=1&taxonomyId=3016

For more information about Prolifics' SOA solutions and recent customer implementations, visit www.prolifics.com.



Emil Thomas is a Technology Manager at Prolifics with more than 12 years of experience in various top tier consulting companies.  He specializes in SOA and BPM related concepts and technologies. He is an expert in providing guidance and implementing end-to-end solutions for clients.  He has worked in a variety of verticals like Travel & Leisure, Health Care, Health and Life insurance, Retail, Energy and Power, Banking, Finance etc.  He has presented at various forums including IBM Impact.  He holds a Bachelor’s Degree in Mechanical Engineering from Calicut University, India.