Modellrepository @ T-Mobile Konzeption und...
Transcript of Modellrepository @ T-Mobile Konzeption und...
Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
Modellrepository @ T-Mobile
Konzeption und Umsetzung
SET 2009, Zürich
Carsten Sensler, T-Mobile Deutschland GmbH
Andre Karalus, Freelancer
4/26/09 1
Table of Contents
!! SOA Backplane overview
!! Model repository @ T-Mobile
!! Domain specific example: SOA
!! Common Enterprise Integration Service Repository
!! Experiences
!! Summary
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 2
Table of Contents
!! SOA Backplane overview
!! Model repository @ T-Mobile
!! Domain specific example: SOA
!! Common Enterprise Integration Service Repository
!! Experiences
!! Summary
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 3
SOA Backplane – overview (simplified).
Business System(s)
Msgs.
SOAP
–
JMS
Logs/
Status
WS/
others
Design time
Runtime
EMS
(Messaging)
Adapter(s) Common Access
Layer (CAL)
Logs
Service
Repository
(CEISeR)
e.g. Corba, Tuxedo,
JMS, …
Message-
/ Log-Store
(LMS)
Xplor
Provisioning time
Routing
Config
4/26/09 4 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
Static routing: Who speaks with
whom is configured statically in
the runtime
SOA Backplane – overview (international view).
. . . . . .
TMCZ TMUK
Adapter Adapter
. .
TMD
.
International System
Adapter Service
Repository
(CEISeR)
Central view
on
BAM, Logs &
Monitoring
4/26/09 5 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
Table of Contents
!! SOA Backplane overview
!! Model repository @ T-Mobile
!! Domain specific example: SOA
!! Common Enterprise Integration Service Repository
!! Experiences
!! Summary
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 6
Model repository in general.
!! Model repository stores Metadata where the context (domain) is defined in a formal model.
!! The concepts of the model repository are defined in a meta meta model
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 7
Versioning/ revisioning of content
and branching/ static view defintions
Change history and audit
Distributed modelling
Concurrent modifications
Access control
Bulk interface
Lightweight and agile development,
thus adaptions will not consume much effort
Model repository
UML 2
eiCommon.uml2 eiCommon.mmgen
ecore.mmgen
eiCommon.jar (Core)
Verschiedene Artefakte
(xml Dokumente)
Instanz Instanz M2M
M2C
M2T
M2M: Model - to - Model Transformation
M2C: Model - to - Code Transformation
M2T: Model - to - Text Transformation
EMF (ecore)
Instanz
Transformation view for generating the sources for the model
repository and the export interface.
4/26/09 8 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
oAW-based MDSD generator chain for generating the sources/
artefacts for the model repository.
generate ecore
metamodel eiCommon.mmgen
Generate
CEISeR.xmetamodel
CEISeR.xmetamodel Import data into CEISeR
Generate
eiCommon eiCommon.jar
generate artefacts
Importer Modul Exporter Modul gmf generator
mdumltrafo mmgen.generator
M2M M2C
M2M
M2M: Model - to - Model Transformation
M2C: Model - to - Code Transformation
M2T: Model - to - Text Transformation
Artefacts Artefacts
Artefacts
M2T
Dateien
4/26/09 9 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
What is generated from the meta model ?
4/26/09 10 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
What is generated from the meta model ?
Metaclasses (Java beans)
Hibernate persistence mapping (XML)
Oracle
DB schema
Simple constraint checks
Generated by
openArchitectureWare
Generated by Hibernate
Schema Builder
4/26/09 11 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
What is generated from the meta model (independent from the
specific domain)?
Metaclasses (Java beans)
Hibernate persistence mapping (XML)
Oracle
DB schema
Simple constraint checks
Generated by
openArchitectureWare
Generated by Hibernate
Schema Builder
Generated model management code
Data storage in Oracle DB
Java beans (instances of generated
meta classes) represent the
modelled entities
Persistence and instantiation of Java
beans is done by Hibernate
4/26/09 12 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
Table of Contents
!! SOA Backplane overview
!! Model repository @ T-Mobile
!! Domain specific example: SOA
!! Common Enterprise Integration Service Repository
!! Experiences
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 13
SOA Backplane – Service Repository Interfaces.
Imports
Authorisation &
contact information
Technical
environment
definitions
Provider / consumer
relations & SLA
Exports
Reports
SOA BP
Service-Repository
Tibco EMS
(JMS) configuration
Common Access
Layer artefacts
Deployment &
security
configuration
WSDLs *,
XSDs
Round trip is supported
* T-Mobile specific subset of WSI basic
profile 1.1
WSDLs *,
XSDs & metadata
Xplor
(DSL editor)
internal external
4/26/09 14 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
The Service Repository in a nutshell.
!! Provide all information needed by service participants for consistent service implementation and
utilisation (architecture)
!! Store definition of different SOA backplane environments and binding of service participants to
these environments (binding)
!! Support fully automated configuration of SOA backplane environments (dev, test, prod, …) (service
provisioning)
!! Support SOA governance (service discovery, reuse) and impact analysis (change / incident contact
information) (management)
!! Support change and configuration management by the revisioning concept and the auditing facility
of CEISeR
4/26/09 15 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
The Underlying Meta-Model.
4/26/09 16 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
eXploring Modells – CEISeRs frontend.
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 17
Xplor Eclipse based client.
!! Eclipse plug-in or Eclipse-based RCP
!! DSL editor for CEISeR
!! Generic GUI based on CEISeR meta model, Import DSL meta model and local configuration
!! Partially generated from the CEISeR met model
!! Supports
!! Editing of job definition files (manifest, architecture, binding, infrastructure;
search, edit, delete, insert, change, …)
!! Analysis of job results (model diff, constraint violations)
!! Analysis of model dumps (offline snapshot of partial or full model)
!! Analysis of a diff between two model revisions (diff of two snapshots)
!! Check-in and Check-out of model fragments
!! Various wizards for making the work with CEISeR more efficiently
4/26/09 18 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
Table of Contents
!! SOA Backplane overview
!! Model repository @ T-Mobile
!! Domain specific example: SOA
!! Common Enterprise Integration Service Repository
!! Experiences
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 19
Benefits of MDSD based Approach.
!! MDSD allows changes and enhancements of logical model and general enhancements of
functionality to be executed without the need to rewrite mayor parts of code or recurring implementation efforts
!! Model to model transformations allow efficient implementation of complex transformations needed
for
!! Import of definitions form various sources and formats
!! Export of definitions to various formats
!! Data migration due to model changes / enhancements and harmonisation activities
!! oAWs generator framework and powerful template language allow easy generation of all kinds of
artefacts
!! Application architecture supports clear separation of generated and hand coded parts
!! Easy adaptation of hand coded parts to when even necessary
4/26/09 20 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile
Flexibility/ Extendibility without manual code changes.
!! Many changes of the domain model will be propagated directly into the Xplor
!! Example: Adding of attributes/references to already existing entities
!! A full rebuild/regeneration ends in
!!New DB schema
!!New access methods
!!DB migration script
!!Xplor UI enhancements
!! Note: Of course, the export has to be adapted manually by utilising the generated export- API
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 21
In a very agile domain (like SOA) I recommend to use MDSD to be very flexible
without extra effort
Future Prospects – CEISeR Evolution.
!! With our strategic partner we will shift CEISeR to a standard product to decrease/ avoid
internal development effort and therefore to safe budget (in the long run). But we will try to place our concepts into the product.
!! We will realize human-oriented workflows with the use of bpm technologie regarding the
processes working with CEISeR to formalize the processes
!! Defining a contract (service interface definition)
!! Defining an architecture, binding, …
!! Service Lifecycle management
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 22
Additional Informations
!! oAW – openArchitectureWare : http://www.openarchitectureware.org
!! C. Sensler, A. Karalus, SOA@T-Mobile – Vollautomatische Service Provisionierung auf dem ESB – Teil 1-3 in:
JavaMagazin, 10.2008 – 12.2008, http://www.sensler.de/public.html
!! C. Sensler, A. Karalus, M. Märtens, Ein Blick hinter die Kulissen - Modellrepository@T-Mobile, in
JavaSPEKTRUM 1/2009
4/26/09 Carsten Sensler & Andre Karalus, SET 2009, Modelrepository @ T-Mobile 23
!! Dipl.-Ing. Carsten Sensler
!! Employee of T-Mobile Deutschland GmbH since April 2007
(but since December 2005 working in the SOA Backplane program )
!! Department of Enterprise Integration
!! System & Solution Designer
!! Functional leader of the international Service Provisioning
Team
!! Contact: [email protected]