modellrepository @ t-mobile umsetzung und...
TRANSCRIPT
13.08.2007
1
Autor / Thema der Präsentation
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
!! Summary
3/9/09 Carsten Sensler, Modelrepository @ T-Mobile 2
13.08.2007
2
Autor / Thema der Präsentation
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
3/9/09 4 Carsten Sensler, Modelrepository @ T-Mobile
Static routing: Who speaks
with whom is configured
statically in the runtime
13.08.2007
3
Autor / Thema der Präsentation
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
!! Summary
3/9/09 Carsten Sensler, Modelrepository @ T-Mobile 6
13.08.2007
4
Autor / Thema der Präsentation
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.
3/9/09 8 Carsten Sensler, Modelrepository @ T-Mobile
13.08.2007
5
Autor / Thema der Präsentation
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 ?
3/9/09 10 Carsten Sensler, Modelrepository @ T-Mobile
13.08.2007
6
Autor / Thema der Präsentation
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
3/9/09 12 Carsten Sensler, Modelrepository @ T-Mobile
13.08.2007
7
Autor / Thema der Präsentation
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 / 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
3/9/09 14 Carsten Sensler, Modelrepository @ T-Mobile
13.08.2007
8
Autor / Thema der Präsentation
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
The Underlying Meta-Model.
3/9/09 16 Carsten Sensler, Modelrepository @ T-Mobile
13.08.2007
9
Autor / Thema der Präsentation
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
!! Various wizards for making the work with CEISeR more efficiently
3/9/09 18 Carsten Sensler, Modelrepository @ T-Mobile
13.08.2007
10
Autor / Thema der Präsentation
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
!! Easy adaptation of hand coded parts to when even necessary
3/9/09 20 Carsten Sensler, Modelrepository @ T-Mobile
13.08.2007
11
Autor / Thema der Präsentation
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, …
!! Service Lifecycle management
3/9/09 Carsten Sensler, Modelrepository @ T-Mobile 22
13.08.2007
12
Autor / Thema der Präsentation
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
!! Contact: [email protected]