C. ZILLMAN, A . WINTER, A . HERGET, W. TEPPE, M. THEURER, A . FUHR, T.
HORN, V. RIEDIGER, U. ERDMENGER, U. KAISER, D. UHLIG, Y. ZIMMERMANN
The SOAMIG Process Model In Industrial
Applications
ARISTEIDIS MICHAIL - 3940845
Agenda
SOAMIG Overview
SOAMIG’s Process Deliverable Diagram
A Short Example
Literature Related to SOAMIG
SOAMIG OVERVIEW
SOAMIG Facts
Purpose: A generalized, highly iterative, software migration process, heavily based on code transformation.
Motivation: Cumbersomeness of legacy systems coupled with lack of migration processes taking into account forward engineering
issues.
Overview: The SOAMIG consortium.
The SOAMIG Consortium
University of Koblenz
OFFIS Amadeus Pro et con
AuthorsA. Fuhr, T. Horn, V.
RiedigerC. Zillmann,
A.Winter
A. Herget, W. Teppe, M. Theurer
U. Erdmenger, U. Kaiser, D. Uhlig, Y.
Zimmermann
Expertise
Graph based technologies.
Program analysis and transformation
tools. Technical migration rules.
Enterprise and software architecture.
Provider of industry legacy
system.
Software reengineering and migration.
SOAMIG’s Main Phases
• Four main phases• Multiple iterations• Seven core disciplines
Figure is property of the SOAMIG consortium
SOAMIG’s Core Disciplines
Core Discipline PurposeBusiness Modeling
Analysis of business processes handled by the legacy system.
Legacy Analysis Exploration and understanding of legacy system.
Target Architecture
Defining the architecture that best provides the software support of the target system given the limitations of the legacy system.
Strategy Selection Definition of the cut-over strategy. Separation of legacy code into work packages.
RealizationConversion of legacy system’s functionality to target system.
Testing Comparing legacy system’s results to the newly acquired system ones.
Cut OverFinalization of migration. Monitoring of new system.
SOAMIG Process Deliverable Diagram
Main PDD
Core Migration Activities
Deliverables
Perform Business Modelling Activity
• Evaluation and documentation of legacy system’s supported business processes.• Techniques used: UML2 Activity Diagrams and BPMN• Results are later used by the Target Architecture and Legacy Analysis disciplines.
Perform Legacy Analysis Activity
• Exploration and comprehension of legacy system• Mapping of business processes to legacy code• Mapping leads to identification of SERVICE CANDIDATES
Define Target Architecture Activity
• Target architecture is the architecture that the migrated system will adhere to.• It is iteratively approximated, starting from a technically ideal architecture (usually SOA) and taking into account special requirements of the legacy to enable economic migration.• Predetermined by target language structures.
Perform Strategy Selection Activity
• Cut over strategy defines how the legacy system is going to be separated (code packages) in order to be migrated. Also the order of those partial migrations as well as the extend of conversion.• Realization strategy is concerned with the actual conversion of each code package.
Perform Realization Activity
• During this activity the actual code conversion is performed according to the realization strategy proposed in the previous activity.• Although service functionality can be migrated almost completely automatically the orchestration of the services needs to be performed manually.
Perform Testing Activity
• This activity deals with ensuring equivalent behaviour of the legacy and migrated system.• Testing is dependent on system’s environment.
Implement Cut Over Strategy Activity
• During this activity the migrated system is deployed on the customer’s site.• A fallback strategy is determined in case something goes wrong.
SOAMIG EXAMPLE & RELATED
LITERATURE
Example – Some Information
Amadeus’ RAIL system is to be migrated to SOA so as to reduce deployment complexity.
It is a 229.228 Lines of Code (LOC) Java monolithic client.
Papers by the authors report facts up to most of the conceptualization phase.
The functionality of selling a particular product (Ticket with Timetable) was selected during the technical feasibility assessment.
Legacy System Facts Extraction
Legacy Code Analysis & Conversion
Java Facts Extractor (JavaFE)
Java Graph Laboratory (JGralab)
Graph Repository Query Language (GReQL)
Flow Graph Manipulator (FGM)
Example – Tool Chain
Java Model Production Java Code Regeneration
Soamig ExtractorGReTL (Graph
Repository Transformation Language)
System Specific Data Model Generator
Java Generator (JGen)
Java Format (JFormat)
Example – Tool Chain
Example – Core Discipline Deliverables
Core Discipline Deliverable
Business Modeling
Process model of TwT with UML activity diagrams.
Legacy Analysis
Mapping of business processes to legacy code and detection of deeply nested legacy components.
Target Architecture
Three tier target architecture consisting of a view layer, a business process layer and an enterprise service bus layer.
Strategy Selection
Selection of (semi-)automated iterative approach.
Realization
Iterative migration of identified services on the enterprise service bus layer along with manual orchestration.
Related Literature
Two respective fields: System Architecture and Software Migration
The SOAMIG process is influenced by IBM’s Service Oriented Modeling Architecture (Arsanjani, et al., 2008) and can be viewed as an extension of SOMA using “graph-based reverse engineering and transformation techniques to enable model-driven software migration” (Fuhr, Horn, & Winter, 2010).
Related Architecture
SOA migration planning is also dealt with in the SMART approach (Smith, 2007)
Graph based migration: Service Extraction from Legacy Systems (Matos, 2008) Architecture Migration Driven by Code Categorization
(Correia, Matos, Heckel & ElRamly, 2007) Model-Driven Engineering for Software Migration in a
Large Industrial Context (Fleurey, Breton, Baudry, Nicolas & Jézéquel, 2007)
However the aforementioned migration processes differ from SOAMIG in terms of tool support or targeted architecture.
THANK YOU FOR YOUR ATTENTION
Any Questions?