Abstract—Service-Oriented Enterprise Architecture requires the efficient development of loosely-coupled and interoperable sets of services. Existing design approaches do not always take full advantage of the value and importance of the engineering invested in existing legacy systems. This paper proposes an approach to define the key services from such legacy systems effectively. The approach focuses on defining these services based on a Model-Driven Architecture (MDA) approach supported by guidelines over a wide range of possible service types.
Keywords - SOEA, Enterprise Engineering, Service-Oriented Enterprise Architectures, Legacy systems, Architecture modelling, Model-Driven Architecture
Service-Oriented Enterprise Architecture (SOEA) is a modern approach to implementing (and re-implementing) software systems as a set of robust and interoperable services. A complete architecture will be based on a structure of resources (e.g. business strategy, business processes, information, software applications and so on) together with their interdependencies. One of the most vital resources is the existing software (i.e. the legacy systems), representing a considerable investment by an underlying business which will frequently rely on the legacy software for many day-to-day business activities. In this paper, legacy systems refer to any none service-based computer programs inherited from previous software systems.
Research in academia and industry has mostly concentrated on developing service wrappers for existing business logic or an incremental migration process consolidating the business logic or (as an alternative) integrating via adapters. The service identification is the first phase of SOA project lifec...
... middle of paper ...
... creating APIs to query candidate services.
By analyzing all of this related work, it is found that none of the previous approaches has enabled accurate service identification, in terms of when services should be coarse-grained and when they should be fine-grained, in effect ignoring the interdependencies between different service types. Although the approaches studied usually conclude with various service design principles, these do not provide well-defined and effective mechanisms to accomplish these principles. However, the references all agree on the complexity of considering every applicable factors to fulfill the business, the technical, and enterprise aspects. We believe that service granularity is a key component of service design which has a significant impact on other design aspects such as reusability, maintainability, performance and flexibility.