Carsten Sensler, Modelrepository @ T-Mobile
Modellrepository @ T-Mobile
Umsetzung und Einsatz
iX CeBIT Forum 2009
Carsten Sensler, T-Mobile Deutschland GmbH
3/9/09 1
Table of Contents
!!SOA Backplane overview
!!Model repository @ T-Mobile
!!Domain specific example: SOA
!!Common Enterprise Integration Service Repository !!Experiences
Table of Contents
!!SOA Backplane overview
!!Model repository @ T-Mobile
!!Domain specific example: SOA
!!Common Enterprise Integration Service Repository !!Experiences
!!Summary
3/9/09 Carsten Sensler, 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
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
3/9/09 5 Carsten Sensler, Modelrepository @ T-Mobile
Table of Contents
!!SOA Backplane overview
!!Model repository @ T-Mobile
!!Domain specific example: SOA
!!Common Enterprise Integration Service Repository !!Experiences
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
3/9/09 Carsten Sensler, 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.
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
3/9/09 9 Carsten Sensler, 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
3/9/09 11 Carsten Sensler, 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
Table of Contents
!!SOA Backplane overview
!!Model repository @ T-Mobile
!!Domain specific example: SOA
!!Common Enterprise Integration Service Repository !!Experiences
3/9/09 Carsten Sensler, Modelrepository @ T-Mobile 13
SOA Backplane – Service Repository Interfaces.
Imports Authorisation & contact information Technical environment definitions Provider / consumerrelations & 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
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
3/9/09 15 Carsten Sensler, Modelrepository @ T-Mobile
eXploring Modells – CEISeRs frontend.
3/9/09 Carsten Sensler, 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
Table of Contents
!!SOA Backplane overview
!!Model repository @ T-Mobile
!!Domain specific example: SOA
!!Common Enterprise Integration Service Repository !!Experiences
3/9/09 Carsten Sensler, 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
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
3/9/09 Carsten Sensler, 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, …
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
3/9/09 Carsten Sensler, 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