Presentation on theme: "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."— Presentation transcript:
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 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 OFFISAmadeusPro et con Authors A. Fuhr, T. Horn, V. Riediger C. 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 DisciplinePurpose Business 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. Realization Conversion of legacy system’s functionality to target system. Testing Comparing legacy system’s results to the newly acquired system ones. Cut Over Finalization of migration. Monitoring of new system.
SOAMIG Process Deliverable Diagram Main PDDCore Migration ActivitiesDeliverables
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.
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.
Java Model Production Java Code Regeneration Soamig Extractor GReTL (Graph Repository Transformation Language) System Specific Data Model Generator Java Generator (JGen) Java Format (JFormat) Example – Tool Chain
Example – Core Discipline Deliverables Core DisciplineDeliverable Business ModelingProcess 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 SelectionSelection 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.