4.2 SOA Adoption Roadmap
An SOA strategy should not be a big-bang replacement of an existing IT environment; rather, it should be a progressive and evolutionary roadmap. Often an overall replacement is impossible when the majority of people in the IT organization are busy maintaining the running systems. Therefore, the roadmap should reflect an iterative process.
An enterprise has several options for entry points into a service-oriented architecture. These options identify how much the SOA model penetrates into the business and defines levels of adoption. The options are as follows:
-
Initial adoption: Enterprises that want to reduce risks initially go through a technology validation and a readiness assessment that analyze the technical and business impact in a defined scope. Eventually, the business and technical value realized from this scope can be extrapolated to actual implications for the organization; this usually translates into a deeper commitment to move to SOA. It involves early pilot tests consisting of creating and exposing services from business operations contained in new or existing applications. These tests are used for an early validation of several decision points such as the following:
- The capability to transform existing legacy systems. This might include technical solutions such as messaging, adapters, and connectors, or it might lead to partnership with vendors that can provide products for a service-oriented integration.
- The non-functional requirements capabilities such as performance, security, manageability, and the availability of tooling.
- The organizational structure required to support an evolution of the enterprise, especially one that addresses skills gaps and institutes governance structures.
- Line-of-business adoption: At this level, the enterprise will identify a line of business and prioritize processes where the agility and flexibility that SOA offers will increase business value. Of course, the enterprise might have already defined these priorities or have a critical business issue to resolve. In these cases, you still need to assess the SOA applicability to solve the important issue. This involves a broader initial assessment phase and the identification of key metrics and critical success factors.
- Enterprise adoption: This level of adoption involves the construction of a business view of a service-oriented enterprise, with a complete prioritization of projects based on business value followed by the architecture and implementation phases. You need to categorize enterprise activities into separate business domains and components that constitute the enterprise. This categorization might already exist within an enterprise or an industry model (for example, the telecommunication eTom model from the TeleManagement forum) that has already-established categories. At this stage, you should establish an SOA governance council with the required empowerment to monitor, define, and authorize changes to services within the enterprise.
- Enterprise-and-partner-network adoption: At this level, there is a broad transformation of existing business models or the deployment of new business models involving not only the enterprise, but also its business partners, suppliers, or customers. The enterprise can then select the roles that are appropriate for delivering its value, becoming a service provider, consumer, broker, aggregator, matchmaker, or any combination of those roles.
For each of the prioritized business services and components, the roadmap follows the typical phases of IT project development, with inception, elaboration, implementation, and test and production phases, as typified in the Rational Unified Process™. However, each of these phases includes new activities that relate to the service component identification and realization. Figure 4.1 depicts an overall view of a roadmap, looking at the adoption stages and corresponding activities. This diagram is not exhaustive but gives an indication of potential steps you can follow.
Figure 4.1 A typical service-oriented architecture roadmap.