Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

SOA Migration, Adoption, and Reuse Technique

This page describes previous research with the SOA Migration, Analysis, and Reuse Technique (SMART). While the SEI is no longer actively working in this area, it does offer the guidelines and artifacts related to SMART for free download. More information is available on the SMART materials page.

Service-oriented architecture (SOA) is a software architectural paradigm that is defined by a collection of independent, self-contained services that can be accessed in a standard way. SOA environments are being adopted in a variety of domains, including finance, communications, health care, government, and military.

A key to successful development of an SOA environment is to make best use of legacy systems by recasting existing capabilities as services. The SOA  Migration, Adoption, and Reuse Technique (SMART) helps organizations analyze legacy systems to determine whether existing functionality, or subsets of it, can be reasonably exposed as services in an SOA environment.

SMART applies a disciplined and repeatable process that considers characteristics of legacy systems components, the target SOA, needs of potential service users, and service construction and software migration practices. SMART produces a list of specific components that can be migrated along with one or more migration strategies for these components.

The SMART Family

A SMART Family

The SMART is actually a family of approaches (as shown in the figure above), not just a "one-size-fits-all" method. Instead, it is a family of related approaches that connects with the organizations that need to plan for migration. The SMART family members are

  • SMART-AF (Adoption Feasibility)
    This family member helps an organization establish whether it can migrate toward an SOA environment and create a high-level strategy for doing so. It answers the questions, 'Should I do it?' and 'How do I do it?'"
  • SMART-ESP (Enterprise System Portfolio)
    SMART guides an organization in selecting and creating services from its systems. Organizations need to find out which parts of their legacy systems can be used, who the users are, and what services they would use.
  • SMART-ENV (Environment)
    If an organization has in mind a target SOA environment, SMART ENV helps get at the details of that environment, digging into the costs and risks of migrating to it.
  • SMART-MP (Migration Pilot)
    SMART MP helps an organization select a pilot project that includes a migration strategy with an understanding of costs and risks involved.
  • SMART-SYS (System)
    This is the SMART approach for an organization that wants to develop and maintain a complete service-oriented system—services, consumers, and environment.

Whichever SMART family member or combination of family members an organization employs, that organization will gain a migration plan. (SMART-AF and SMART-MP are available for use; the other approaches are in development.)

You can learn more about SMART from the following: