model-driven software migration towards service- oriented...
TRANSCRIPT
Model-Driven Software Migration towards Service-
Oriented Architectures
Volker RiedigerInstitute for Software Technology
University of Koblenz-Landau, Germany
Grant No. 01IS09017A-D
Coworkers:U. Erdmenger, U. Kaiser, D. Uhlig, Y. Zimmermann
A. Herget, W. Teppe, M. TheurerA. Fuhr, T. Horn
A. Winter, C. Zillmann
SOAMIG Consortiumpro et con GmbH, ChemnitzSMB (small to medium sized business)Software Reengineering and Migration➠ Language front ends, COBOL-to-Java transformations, code generators, analysis tools, service implementation
Amadeus Germany, Bad HomburgGlobal provider of IT solutions for tourism & travel industryExperience in large scale migration project➠ RailClient system developers, domain experts, evaluation of process and tools
Institute for Software Technology, University of KoblenzResearch on Software Engineering, Reverse/Re-Engineering,➠ TGraph repository technology, transformation and analysis tools, process development
OFFIS Institute for Information Technology, Univ. of OldenburgResearch on Software Engineering,Knowledge transfer from research to economy,➠ Target architecture, implementation, and process development
2
Project Goals
• Define a reference process for migration into SOA - the SOAMIG Process
• Achieve a high degree of automatic code migration
• Provide prototypic tools and technologies for legacy analysis and transformation based migration
• Explore different migration scenarios
• Language Migration
• Architecture Migration
3
Industrial Case Studies
• LCOBOL
• Language migration
• COBOL to Java
• RailClient
• Architecture migration
• Monolithic Java to Java SOA
4
LCOBOL Case Study
5
Translator chain
Cobol2Java
Cobol Code
Java Code
CobolFE JGen JFormat
Java model
Transformation rules
Cobol model
• Language Migration from COBOL server to Java Web Services
• Main challenges:
• Semantics-preserving automatic language migration
• Quality and maintainability of target code
• Technology mappingTuxedo transaction monitor to JAX-WS
RailClient Case Study
6
Java, Cobol, UMLand DSL Metamodels
SOAMIG Repository
Monolithic legacy system
Message repository
Business processes
State machines
Java code
Extractor tools
JavaFE DSL parsers
Analysis tools
GReQL
FGM
Dynamic Analysis Toolset
Code generation tools
Transformation tools
JGenJFormat
DataModelGenerator
Isolated service code
SOAMIGExtractor
GReTLJava model
• Architecure migration
• Java fat client to SOA based Web Application
Ihre Vorteile mit Amadeus Bahn
> Gezielte Unterstützung für Ihren Bahn-
verkauf. Durch individuelle Amadeus Bahn
Vorbelegungen (Customizing) für Ihren
PC, Ihre Betriebsstelle oder Ihre Kette
werden Ihre manuellen Angaben auf ein
Minimum reduziert, z.B. jeweils bis zu 50
Abgangsorte/Zielorte speicherbar.
> Angebote einfach finden und schnell
buchen. Mit der Amadeus Bahn
Buchungshilfe (Guided Mode) gelangen
Sie über einen Suchbaum schnell zum
gewünschten Bahn-Angebot. Alle für die
Buchung relevanten Daten werden auto-
matisch in die RAIL-Maske übernommen.
> Weniger Eingaben durch Übernahme
von Kundendaten wie BahnCard-Nr,
GKR-Nr und Reisepräferenzen aus KDP
oder Amadeus Customer Profile.
> Unterstützung bei der Reservierung. Sie
erhalten gezielte Informationen aus aus
Reservierungsübersicht, Wagenreihung
und ICE-Wagengrafik (siehe Abbildung).
> Schneller Bearbeitungsprozess über DB
Auftragsverwaltung. Z.B. bei einer Grup-
penreise die schon geleistete Anzahlung
mit einem einzigen Mausklick in die erfor-
derliche Restzahlung umwandeln.
> Reduzierung Zustellungsaufwand für
Bahn-Tickets und verbesserter Kunden-
service durch DB Online Ticket.
Voraussetzungen
Sie können Amadeus Bahn mit allen
Produktlinien der Amadeus Selling Platform
wie folgt nutzen:
> Mit der DB-Voll-Lizenz (DB-Lizenzvertrag
erforderlich) bei Amadeus Selling Platform
Leisure Pack oder Professional Pack.
Sie umfasst alle Bahnfunktionen (Ange-
botsübersicht mit Fahrplanauskunft und
Preisinfo, Buchung und Ticketdruck sowie
DB-Auftragsverwaltung).
> Mit der DB Auskunfts-Lizenz
(kein DB-Lizenzvertrag erforderlich)
bei allen Produktlinien der Amadeus
Selling Platform. Sie umfasst nur die
Infoanzeige und den Druck der Reisever-
bindung.
Preis
Amadeus Bahn ist Bestandteil aller
Amadeus Selling Platform Produktlinien
– die Nutzung ist kostenfrei.
Amadeus Germany GmbH Tel.: +49 (0) 61 72-91 32 80 E-Mail: [email protected] www.de.amadeus.com
Amadeus Bahn – Buchung im Reiter „Verkauf“
> Eingaben in RAIL-Grundmaske und
bei Bedarf in Teilmasken, Aufruf der
Angebotsübersicht
> Auswahl von Hin- und Rückfahrt mit
Fahrplan- und Preis-Information
> Buchung bzw. Ausdruck aller Bahn-Belege
(Reservierungen, Fahrscheine, sonstige
Tickets) sowie Reiseverbindungen
Detaillierte Informationen
aus Reservierungsübersicht
und Wagenreihung mit
ICE-Wagengrafik
04
/20
10
© Am
adeu
s Germ
any G
mb
H
RailClient Case Study
• DB Ticketsolution fortravel agents
• Schedules,reservation,booking,ticketing
• Additional services, hotels,cars, public transportation...
7
RailClient numbers
• Java code: ~450 files~266,000 LOC
• ~7,000 messages~30,300 attributes
• Model size: 2.5 million elements
• Flat data model, ~1,900 MVC variables
• Traces for use case „TMF“Request: 276,708 callsBooking: 1,548,891 calls
8
5125
1796
1968
3965
Non-Java Model Elements (12,854)
Workflow DFAs (53 major UI states)Source file information11 BP modelsTraceability links for 1 use case
Dynamic Analysis
!"#$%&'()#$*"+&+,(-.//�
!
!!
9
• Static analysis alone not sufficient
• Dynamic analysis used for...
• Mapping of business processes to code
• Identifying service candidates
• Narrowing down static over-estimates
• Detecting relevant data model parts for service interfaces
Tools & Technologies
Tools & Technologies
11
Java, Cobol, UMLand DSL Metamodels
SOAMIG Repository
Analysis tools
GReQL
FGM
Dynamic Analysis Toolset
Legacy system
Message repository
Business processes
State machines
Cobol code
Java Code
Extractor tools
JavaFE DSL parsers
CobolFE
Code generation tools
Transformation tools
JGenJFormat
DataModelGenerator
Migrated system
SOAMIGExtractor
GReTL
Java model
Cobol2Java
SOAMIG Repository
• Initial programunderstanding supportdby FGM (Flow Graph Manipulator)
• explorative program analysis
• metrics
• redocumentation
• repository grows as you analyze more
12
SOAMIG Repository• Analysis and transformation repository based on JGraLab
• High performance TGraph API
• Graph UML (grUML) modeling
• Querying
• Transformations
• In SOAMIG: Integrated model for
• Source code
• Other legacy systemdescriptions
• Business processes
• Target architecture
• Traceability
13
Tools & Technologies
14
Java, Cobol, UMLand DSL Metamodels
SOAMIG Repository
Analysis tools
GReQL
FGM
Dynamic Analysis Toolset
Legacy system
Message repository
Business processes
State machines
Cobol code
Java Code
Extractor tools
JavaFE DSL parsers
CobolFE
Code generation tools
Transformation tools
JGenJFormat
DataModelGenerator
Migrated system
SOAMIGExtractor
GReTL
Java model
Cobol2Java
Ready to use „industrial strength“ toolsEasily Reusable (minor project specific extensions)Completely project specific
SOAMIG @ CSMR
• This Talk☺• People: J. Ebert, A. Fuhr, A. Winter, V.
Riediger, W. Teppe, C. Zillmann,
• Poster Session (stands are two-sided!)
• EU Track (Thursday)The SOAMIG Process Model in Industrial Applications
15
Model Driven Migration ??
16
Models
Metamodels
Transformations
CIM PIM
PSM
Evolution
Views/Viewpoints
ReverseEngineering
Redocumentation
Testing
Renovation
Architecture
Services
Business Processes
Querying
TechnologySelection
Tool integrationHumancommunication
ROI