The SEI SOA Migration, Adoption, and Reuse Technique (SMART) begins with several meetings between your organization and the SMART team. The team assesses your stakeholders' needs, learns about your service-oriented architecture (SOA) vision, and elicits a high-level description of your legacy system's architecture and features.
During this information gathering, the team uses questions from the Service Migration Interview Guide (SMIG) to directly address the gap between existing and target architecture, design, code, and migration issues, and to assure broad coverage of the factors that influence the cost, effort and risk involved in migration to services.
The team uses the information to perform the activities depicted in the figure (above) and described as follows:
- Establish Migration Context—understand the business and technical context for migration, identify stakeholders, understand the legacy system and target SOA environment at a high level, and identify an initial set of candidate services for migration. After this activity, a decision is made to determine if the migration is initially feasible, has potential but requires additional information to make an informed decision, or is not feasible.
- Define Candidate Services—select a small number of services from the initial list of candidate services and incrementally specify inputs and outputs for these services.
- Describe Existing Capability—obtain data about the legacy system targeted for migration: history, architecture, design patterns, system quality, code quality, etc.
- Describe Target SOA Environment—obtain data about the target SOA environment: state, technologies, standards, Quality of Service (QoS) expectations, execution environment for services, support, etc.
- Analyze the Gap—work with legacy system developers to understand the changes that would have to be made to targeted legacy components to be migrated to the target SOA environment.
- Develop Migration Strategy—develop a migration strategy that may include feasibility, risks, and options for proceeding with the migration effort; identify a pilot project; determine the order in which to create additional services; form guidelines for the identification and creation of services; consider the options for source of service code; and evaluate mechanisms for providing service functionality, specific migration paths to follow, and needs for additional information or training.
SMART also generates outputs that are useful to your organization regardless of whether or not you decide to migrate. Each is listed below with the information it identifies.
- Stakeholder list: stakeholder needs
- Characteristics list: component information relevant to migration feasibility
- Migration Issues list: concerns to be addressed during migration process
- Component table: characteristics of components under consideration
- Service table: potential services that can be derived
- Component service options table: potential mapping of each component to potential service