Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Marcos Almeida
SOFTEAM
PMDE – ECMFA 2013
The REMICS model-driven
process for migrating legacy
applications to the cloud
Softeam
 Specialist in OO technologies, new architectures, new
methodologies
 Banking, Defense, Telecom
 20 years of ex...
REMICS: Reuse and Migration of
legacy applications to interoperable
Cloud Services
 A FP7 EU Project
 9/2010  8/2013
 ...
In short: How to migrate legacy
applications to the cloud?
 Cloud
 Cloud computing
 Virtual Machines, Platforms, Servic...
Cloud computing: cheap
infrastructure, platforms and
services, but…
 Infrastructure as a Service (IaaS):
 Virtualizing h...
… but one needs to deal with legacy
applications.
 Client-server based or Desktop based
 Different frameworks & Platform...
Deal with legacy = Migration =
Refactoring
 In order to refactor, we need to….
 Understand the old architecture
 Define...
Starting points: Models and Services
 Model Driven Engineering
 Language independent approach
 Automated transformation...
State of the Art: Cloud mostly
unsupported
 No cloud-ready standards
 There are no standards for platform independent mo...
In REMICS: Cloud based migration
 A cloud-ready standard : PIM4Cloud
 There are no standards for platform independent mo...
Approach: a process covering
everything from the legacy code to
the deployed migrated code
11
Not only a process, but a set of tools!
 Recover
 BlueAge (Netfective)
 ReDSeeDS (WUT)
 Migrate
 Modelio (SOFTEAM)
 ...
The focus of this presentation is the
Migration process.
13
Migration Process
The DOME Case Study: Managing
Travel Providers
 DOME Consulting
 Solutions for effective management of multiple kinds of...
In the end we want to go to the
Cloud…
 AmazonEC2 IaaS
 On the UI: JEE+JSF
 On the Server: JBoss + Derby database
15
Modelio Orchestrated Migration
Process
Recovery Recovered
Model
Component
Recovery
Model
Migration Architecture
Model
Impl...
Modelio Orchestrated Migration
Process
Recovery Recovered
Model
Component
Recovery
Model
Migration Architecture
Model
Impl...
The Recovered Model: Entities,
Services and Business Processes
18
Entities
Services
Behavior
Modelio Orchestrated Migration
Process
Recovery Recovered
Model
Component
Recovery
Model
Migration Architecture
Model
Impl...
From Services to Components
20
Objective:
1. Identifying components by
grouping Entities and Services
2. Classifying compo...
Output: The Component Model
21
Behavioral components Data components
Presentation
component
Modelio Orchestrated Migration
Process
Recovery Recovered
Model
Migration Implementation
Model
Test Model
Deployment Deplo...
Thinking about the Architecture with
SoaML, …
23
Participants
Services
Interfaces
then the User Interface using MVC, …
24
User Interface Modelling
Behavior Modelling
… finally a detailed description of the
Entities and Relationships
25
Entities
Relationships
Modelio Orchestrated Migration
Process
Recovery Recovered
Model
Component
Recovery
Model
Migration
Deployment Deployment
M...
Now we start thinking about the
implementation details
27
Implementation level
details
Modelio Orchestrated Migration
Process
Recovery Recovered
Model
Component
Recovery
Model
Migration
Deployment
Deployed
Imp...
How to package the new system into
meaningful packages?
29
Implementation
Packages
Deployment
Packages
Modelio Orchestrated Migration
Process
Recovery Recovered
Model
Component
Recovery
Model
Migration Implementation
Model
Te...
Deploying the application with
PIM4Cloud
31
Cloud Resources
Installed Packages
Current State
 Experimenting with Migration
 Actually supports JEE based IaaS
 Working on CloudML standardization (base...
Lessons Learned
 Model based web design may not be a good idea…
 But model based refactoring is!
 Process may need to b...
Thank you for your attention!
Marcos Almeida
SOFTEAM | ModelioSoft
marcos.almeida@softeam.fr
SOFTEAM R&D Web Site:
http://...
Upcoming SlideShare
Loading in …5
×

The REMICS model-driven process for migrating legacy applications to the cloud

930 views

Published on

With the advent of cloud computing platforms, many companies are studying the migration of legacy applications to the cloud. The main difficulty in dealing with such system is the obsolescence, either due to the dependency on an obsolete platform, incomplete/incorrect documentation or using an inappropriate architecture for the cloud. The FP7 project REMICS (Reuse and Migration of legacy applications to Interoperable Cloud Services) intends to provide a model-driven approach to extract valuable information from existing code and automating the refactoring of old code into cloud enabled architectures. In order to do so, REMICS proposes a process based on three steps: Recovery, Migration and Deployment. The work to be performed during each step is partially automated by the tools developed in the project. This presentation is going to focus on the description of the process and its associated tools and on our experience in applying the process in an industrial case study.

Published in: Technology, Business
  • Be the first to comment

The REMICS model-driven process for migrating legacy applications to the cloud

  1. 1. Marcos Almeida SOFTEAM PMDE – ECMFA 2013 The REMICS model-driven process for migrating legacy applications to the cloud
  2. 2. Softeam  Specialist in OO technologies, new architectures, new methodologies  Banking, Defense, Telecom  20 years of experience  700 experts  UML Editor: Modelio  CloudML, SysML, MARTE, Code Generation, Documentation, Teamwork
  3. 3. REMICS: Reuse and Migration of legacy applications to interoperable Cloud Services  A FP7 EU Project  9/2010  8/2013  Partners Stiftelsen Sintef (NO) Research Fraunhofer-FOCUS (DE) Research Tecnalia Research & Innovation (ES) Research Institute of Information and Communication Technologies – Bulgarian Academy of Sciences (BG) Research University of Tartu (EE) Research Warsaw University of Technology (PL) Research DI Systemer AS (NO) End-user, SME DOME Consulting & Solutions, S.L. (ES) End-user, SME Netfective Technology SA (FR) Tool and consultancy provider, SME Softeam (FR) Tool and consultancy provider, SME
  4. 4. In short: How to migrate legacy applications to the cloud?  Cloud  Cloud computing  Virtual Machines, Platforms, Services  “Cheap” scalability  Legacy applications  Client-server based or Desktop based  Better performance?  Better hardware!  “Expensive” scalability  Migration  Retrieve  Refactoring: frameworks x Architectures  Deploy  How  Ad-hoc x Process
  5. 5. Cloud computing: cheap infrastructure, platforms and services, but…  Infrastructure as a Service (IaaS):  Virtualizing hardware platform  Operating System as a Service  Cheap “out and up” scalability  Platform as a Service (PaaS):  Virtualizing software platform  Software framework as a Service  Software as a Service (SaaS):  Virtualizing software services  Software as a Service 5 Infrastructure as a Service Platform as a Service Software as a Service
  6. 6. … but one needs to deal with legacy applications.  Client-server based or Desktop based  Different frameworks & Platforms  PaaS specific APIs  Desktop UI x Web UI  Different habits  Dependency on specific operating systems  Dependency on specific hardware configurations  Dependency on specific support software (e.g. databases, registry…)  Dependency on writing/reading to/from the file system  Multi-tenancy x Multi-instances  Better performance? Better hardware!  Buy, configure, maintain new hardware…  “Expensive” scalability 6
  7. 7. Deal with legacy = Migration = Refactoring  In order to refactor, we need to….  Understand the old architecture  Define the requirements of the new version  Find a cloud provider  Take a look at the supported API’s, platforms, architectures…  Define the new architecture  Refactor the old code. Can we automate any of these? 7
  8. 8. Starting points: Models and Services  Model Driven Engineering  Language independent approach  Automated transformations  OMG ADM = Architecture Driven Modernization  Start with knowledge discovery!  Then follow the MDA approach  CIM  PIM  PSM  OMG SoaML = Services Oriented Architecture Modelling Language  Break applications into services! 8
  9. 9. State of the Art: Cloud mostly unsupported  No cloud-ready standards  There are no standards for platform independent modelling combining SOA and cloud computing for SaaS design.  Extend the SOA models with peculiarities of cloud computing paradigm.  Nothing more than reversing code  The knowledge discovery is often limited to reverse engineering of legacy code. The business process and rules recovery is poorly addressed.  There is a lack of methods for service interoperability on model level.  Efficiently adapt existing services and increase their interoperability to cope with the migration requirements.  Only Ad-hoc processes  The Service Clouds architecture migration methods are mostly ad-hoc and lack a comprehensive methodology addressing dedicated design patterns and transformations.  Automate the architecture migration with model transformation.  Don’t even think about validating what you’ve done…  There are no dedicated testing technologies for Service Clouds migration validation.  Reuse the legacy application in automated testing of the new migrated SaaS application 9
  10. 10. In REMICS: Cloud based migration  A cloud-ready standard : PIM4Cloud  There are no standards for platform independent modelling combining SOA and cloud computing for SaaS design.  Extend the SOA models with peculiarities of cloud computing paradigm.  Reversing business processes too  The knowledge discovery is often limited to reverse engineering of legacy code. The business process and rules recovery is poorly addressed.  There is a lack of methods for service interoperability on model level.  Efficiently adapt existing services and increase their interoperability to cope with the migration requirements.  A migration process  The Service Clouds architecture migration methods are mostly ad-hoc and lack a comprehensive methodology addressing dedicated design patterns and transformations.  Automate the architecture migration with model transformation.  Validation and test tools  There are no dedicated testing technologies for Service Clouds migration validation.  Reuse the legacy application in automated testing of the new migrated SaaS application 10
  11. 11. Approach: a process covering everything from the legacy code to the deployed migrated code 11
  12. 12. Not only a process, but a set of tools!  Recover  BlueAge (Netfective)  ReDSeeDS (WUT)  Migrate  Modelio (SOFTEAM)  Deploy  Cloudscript (SINTEF)  Manage  Desktop2Cloud (Uni. Tartu) 12
  13. 13. The focus of this presentation is the Migration process. 13 Migration Process
  14. 14. The DOME Case Study: Managing Travel Providers  DOME Consulting  Solutions for effective management of multiple kinds of travel related providers  DOME Software  Delphi + PL/SQL 14
  15. 15. In the end we want to go to the Cloud…  AmazonEC2 IaaS  On the UI: JEE+JSF  On the Server: JBoss + Derby database 15
  16. 16. Modelio Orchestrated Migration Process Recovery Recovered Model Component Recovery Model Migration Architecture Model Implementation Model Test Model Deployment Deployment Model Deployed Implementation Model Deployed Test Model 16
  17. 17. Modelio Orchestrated Migration Process Recovery Recovered Model Component Recovery Model Migration Architecture Model Implementation Model Test Model Deployment Deployment Model Deployed Implementation Model Deployed Test Model 17
  18. 18. The Recovered Model: Entities, Services and Business Processes 18 Entities Services Behavior
  19. 19. Modelio Orchestrated Migration Process Recovery Recovered Model Component Recovery Model Migration Architecture Model Implementation Model Test Model Deployment Deployment Model Deployed Implementation Model Deployed Test Model 19
  20. 20. From Services to Components 20 Objective: 1. Identifying components by grouping Entities and Services 2. Classifying components into: • Behavior • Presentation • Data
  21. 21. Output: The Component Model 21 Behavioral components Data components Presentation component
  22. 22. Modelio Orchestrated Migration Process Recovery Recovered Model Migration Implementation Model Test Model Deployment Deployment Model Deployed Implementation Model Deployed Test Model 22
  23. 23. Thinking about the Architecture with SoaML, … 23 Participants Services Interfaces
  24. 24. then the User Interface using MVC, … 24 User Interface Modelling Behavior Modelling
  25. 25. … finally a detailed description of the Entities and Relationships 25 Entities Relationships
  26. 26. Modelio Orchestrated Migration Process Recovery Recovered Model Component Recovery Model Migration Deployment Deployment Model Deployed Implementation Model Deployed Test Model 26
  27. 27. Now we start thinking about the implementation details 27 Implementation level details
  28. 28. Modelio Orchestrated Migration Process Recovery Recovered Model Component Recovery Model Migration Deployment Deployed Implementation Model Deployed Test Model 28 Implementation Model Test Model
  29. 29. How to package the new system into meaningful packages? 29 Implementation Packages Deployment Packages
  30. 30. Modelio Orchestrated Migration Process Recovery Recovered Model Component Recovery Model Migration Implementation Model Test Model Deployment Deployed Test Model 30
  31. 31. Deploying the application with PIM4Cloud 31 Cloud Resources Installed Packages
  32. 32. Current State  Experimenting with Migration  Actually supports JEE based IaaS  Working on CloudML standardization (based on PIM4Cloud) 32
  33. 33. Lessons Learned  Model based web design may not be a good idea…  But model based refactoring is!  Process may need to be improved  Maybe consider deployment as early as possible  Cloud providers constraints need to be considered when defining the architecture of the application. 33
  34. 34. Thank you for your attention! Marcos Almeida SOFTEAM | ModelioSoft marcos.almeida@softeam.fr SOFTEAM R&D Web Site: http://rd.softeam.com ModelioSoft Web Site: http://www.modeliosoft.com www.modelio34

×