Service oriented architecture: How SOA is evolving and what organizations can do to prepare
Given all the media attention and myriad of marketing messages surrounding service oriented architecture (SOA), there is a fair amount of hype regarding this approach. This issue of CGI's Technology Viewpoints delves into CGI's perspective of what SOA can and will achieve. It discusses where organizations are in their adoption of this approach and touches upon such trends as planning SOA strategies and implementations within a governance framework. Lastly, the issue provides advice on how organizations should guide the adoption of SOA.
This issue takes a look at the SOA topic from four key viewpoints:
It's part of an evolution
Despite the current hype surrounding SOA, the concept behind it is not new. The industry has seen a number of evolutions during the past 15-20 years, whereby software developers have been working to find the best manner in which to structure applications, facilitate integration and increase reusability.
SOA, an architectural approach built on a technology foundation that packages reusable business activity components as well-defined services, is part of a natural evolution. This evolution has moved us from a tightly coupled to loosely coupled approach; an application to business process focus; and from silos and stovepipes to an enterprise view.
And it's here to stay
Of the evolutions discussed above, SOA ranks among the top as far as providing for a turning point in our way of thinking. It also will have lasting repercussions on how we think about our IT systems, bridging the once separate distinctions between technology and business perspectives.
With SOA, we now look at services that are business services and services that are IT infrastructure services as a duo focus. This is a positive perspective that SOA is bringing us, one that is catching on within both the technology and business sides of organizations.
Three trends within the SOA journey
For CGI clients, there is quite a bit of diversity as far as where they are in the adoption of SOA and how CGI is helping them. Typically, the adoption of SOA for CGI clients models those found within the global marketplace, which has organizations falling into the following three SOA stages.
- Preparing for SOA. Many organizations are still preparing for SOA. Remember, SOA is not a project but an evolutionary journey, which will mature both the enterprise and those that interact with the enterprise. In this way, organizations have to prepare culturally for what's ahead. These preparations can vary from introducing identity management at the enterprise level to creating a new budget environment that rewards service owners who create and share common services. If SOA is forced on an organization that is not ready-or worse, that is unwilling-success is unlikely.
- Launching SOA. The next type of client CGI encounters are those that are ready to move forward but are working to cost justify their investment. Defining SOA's return on investment (ROI) is a tough obstacle for many clients. Traditional ROI models have to be adapted to look beyond cost savings to understand the dramatic business improvements that will come as a result of building agility into the environment. This agility must be understood and explained from a business benefit perspective.
- Implementing SOA. The final group of clients has overcome the ROI hurdle and is now in the SOA implementation phase, which brings its own challenges. These challenges relate to interacting between enterprises and different levels of service and application levels. Development and testing are more difficult in these types of situations.
Remember, it's an iterative process
In conjunction with these steps, the typical evolution for an organization working toward SOA includes the following: initiating a SOA strategy, preparing for SOA, building a business case, undergoing development and deployment, and moving toward operations and governance. With each of these steps, which will be repeated for additional services, it's important to learn from the experiences of the previous ones.
Establish a governance framework
We help clients move along these SOA evolutionary steps by working with them to establish a framework for ongoing SOA governance.
A growing topic within the SOA community, governance provides a decision framework for the ongoing management of SOA and its projects. It covers numerous operation issues, such as the versioning, lifecycle management and SLAs that surround services. Organizations are familiar with establishing and managing through a governance framework for their server rooms and applications, for example. The objective is to apply the same principles to the services within SOA.
The two biggest pitfalls we see organizations encounter with regards to a governance framework is having no framework at all or establishing too large of a framework that bogs down their ability to achieve agility. CGI focuses on helping clients pragmatically achieve the right balance.
Decoupling and reuse
SOA enables organizations to decouple systems into a logical structure on the services side. This decoupling-taking place within both technology and business functionality-allows organizations to better integrate their systems internally and externally outside of traditional boundaries.
Another benefit is that SOA allows organizations to get more reuse internally. This benefit will take more time and investment to realize, but the structure is there. SOA is an enabler that allows a different view of our systems and how we build, deploy and run them.
Breaking down silos has its rewards
Through SOA, organizations can break down silos within and between enterprises and create new business processes on the fly, though inexpensive, timely and multiple use development. This business transformation results in lower development costs and faster time-to-market and response times, which helps commercial and government organizations better meet the growing service demands of their customers and constituents.
Look at SOA from the inside and outside
The best way to look at SOA is both from the inside-Are you building your systems from a SOA perspective?-and from the outside-Are you exposing systems with SOA interfaces? In looking at this as an evolutionary journey, organizations can get "big bang" for their investment by exposing systems through an SOA interface without them necessarily being "SOA inside." Organizations then can look at those systems to determine which parts can be reengineered to be built differently or determine-from an ROI perspective-to leave them in a legacy manner.
Strike a balance
When planning for SOA, consider and compare two views of your ideal and current state. Look at SOA from a top-down enterprise architecture perspective. How should the business be organized? How should we build our IT systems? This blank-sheet approach helps organizations look at things with a fresh view on an incremental basis. In tandem, couple this with an inventory of substantial IT investments and systems and of readily and easily exposable services. These two views can then be brought together and balanced through an evolutionary approach without having to necessarily redo systems.
Keep agility and the big picture "top of mind"
SOA is about creating agility at the business level. Organizations need to understand what that agility should be used for within their business context. That is why it is necessary to have key business people at the table in all SOA discussions. SOA planning always should be conducted through a combination of business and technology working hand-in-hand.
Combining these focuses will allow for alignment of SOA principles with business strategy. With our clients, CGI stresses an incremental rather than "big-bang" approach, which helps SOA evolve into the culture while building credibility and keeping focus on the "big picture" of SOA's end state.
The only wrong thing to do: Do nothing at all
CGI believes that SOA will become the way we do business. Just as e-business has moved from a distinct operation to the way organizations operate, SOA will mature to the point where it's known as business as usual. If you haven't already, take a step forward-even if it's starting on a very small project. If you've already begun, remember this is a journey. Learn from previous steps and evolve as you move forward, keeping executive involvement and adapting the culture each step of the way.