by Steve Bennett
This second article in a three-part series about Service-Oriented Architecture (SOA) offers a concrete plan, along with tips and insights, to help you build an effective SOA roadmap and to help ensure the success of your SOA initiative.
Any great journey starts with a goal or destination, and your organization's decision to implement SOA is no different. But not unlike the pioneers who set off west in their wagons, you may start with only a vague idea of what awaits you, or how you could get to your destination. To be successful, you must assess your strengths and weaknesses, establish clear direction, choose a route, and then consistently reassess that route as you follow it. To put it simply, you must create your own unique map for your journey.
Service-Oriented Architecture is an IT strategy that organizes the discrete functions contained in enterprise applications into interoperable, standards-based services that can be combined and reused quickly to meet business needs. The benefits of SOA will be realized only if the balance between the long-term goals and the shorter-term needs of the business are preserved. This balance can be maintained by instituting a set of organizational, financial, operational, design, and delivery practices from the outset of your SOA initiative. But rather than taking a "big bang" approach, it is important to deploy culture-changing disciplines in an incremental and iterative fashion to allow for an organizational learning curve. In essence, an SOA roadmap provides an iterative and incremental way to capture (and recapture) your organization's unique plan as you progress.
Your SOA roadmap should contain three critical characteristics:
Figure 1. The BEA Domain Model
There are four phases to developing your SOA roadmap: SOA Planning, SOA Maturity Assessment, SOA Future Vision, and SOA Roadmap Definition.
During this phase, your SOA initiative is organized and defined. Stakeholders are brought into the process through communications and briefings, and mutually agreed upon priorities and parameters are set. Because this phase involves employees across your organization, clear and ample communication is critical. During this phase you will:
During the SOA maturity assessment phase, you will establish a metric for where you are today. Here you will define what services and capabilities you currently have that can serve as a starting point for SOA, as well as identify projects that may serve as foundation projects. Through a series of interviews and questionnaires, your teams should examine the various domains—analyzing, base-lining, and validating the "as-is" current situation for each. Use BEA's Domain Model to structure your examination of the following:
In this phase, teams use workshops to determine and define the desired "should-be" state and ensure cross-organizational buy-in.
This phase is where the SOA roadmap is initially defined. A complete gap analysis should be performed for your corporation's SOA goals and appropriate timelines, based on the information gathered in the previous three phases. Near-term events will be more detailed, while later events will be more fluid—so that they may incorporate lessons learned as you move forward.
Your SOA roadmap should be treated as a "living document" that continually captures experiences and lessons learned. As your roadmap matures, your SOA initiative will reach higher levels of sophistication in a controlled manner (see Figure 2).
It has been my goal in this article to give you a framework for creating your own SOA roadmap, and an explanation of why that roadmap is so important for your SOA initiative. Your roadmap is your guide for what to develop, when to develop, and when to deploy what you've developed. It should be your single most powerful tool for a smooth deployment of SOA.
Steve Bennett is BEA's Americas SOA Practice Lead and has been instrumental in developing BEA's SOA technology management consulting service offerings.