We spend a considerable amount of time flying around the
country for various SOA-based projects, and weŐve had the opportunity to learn
about not only the recurring client pain points and value propositions around
SOA, but also a tiny bit about flying. Pilots are given landing patterns when
they approach an airport; air-traffic control gives them these directions,
approaches, and coordinates in order to accommodate the complexity of moment to
moment changes in events that are occurring around the airport: other planes,
wind direction, air pressure, and a host of other factors.
In a similar way, the path to SOA must consider several typical approaches, which we address here.
SOA adoption is a gradual process. While some organizations dabble with Web services by wrapping applications as a means of exploring the world of SOA and deciding how to proceed, others engage in enterprise-wide business transformation. Others are in between, and have defined their roadmaps, vision, strategy, and criteria for assessment and governance. They embark on this journey by integrating applications using service-orientation. This latter is called service-oriented integration (SOI) and is the intermediate stage in which many people find their projects.
The seven stages of maturity
At IBM, we have been working on a maturity model and process for achieving desirable stages of maturity, a model called the Service Integration Maturity Model (SIMM). The level of de-coupling and amount of flexibility achievable at each stage of maturity are what make up the following seven levels of maturity:
- Silo (data integration)
- Integrated (application integration)
- Componentized (functional integration)
- Simple services (process integration)
- Composite services (supply-chain integration)
- Virtualized services ( virtual infrastructure)
- Dynamically reconfigurable services (eco-system integration)
Each level has a detailed set of characteristics and criteria for assessment, and what follows is a brief description of the highlights of each level:
Level One: The organization starts from proprietary and quite ad-hoc integration, rendering the architecture brittle in the face of change.
Level Two: The organization moves toward some form of EAI (Enterprise Application Integration), albeit with proprietary connections and integration points. The approaches it uses are tailored to use legacy systems and attempt to dissect and re-factor through data integration.
1