SOA implementations can be combined to
implement ICT systems. For example Web services
technology could be used with peer to peer and
agents technologies to provide new capabilities.
MDA allows the separation of concerns between the
logical solutions and the technology used avoiding
organisations to reinvent the wheel when there are
changes at conceptual or technical layer.
This paper presents a framework to bridge the
gap between enterprise layer and technical layer
from a Model Driven Architecture (MDA)
viewpoint, and the specific mechanisms that uses to
represent service architectures and to transform
those representations into a platform independent
model for service oriented architectures.
This paper is structured in three main sections.
Firstly a brief state of the art on this area is provided
emphasising the motivation and the start point of our
work and approach. The second part describes the
mechanisms to architect service oriented
architectures solutions taking into account several
important enterprise aspects to be modelled. In
addition, this section sets up the relationships
between business layer and technical layer from a
model driven point of view using model
transformations. The last section sums up our work
and outlines future directions.
2 CONTEXT AND STATE OF THE
ART
Enterprise models (EM) allow stakeholders to model
their organisations and dimensions (Vernadat, 1996)
described in terms of enterprise architectures in a
coherent and consistent way. Most of these
enterprise models are related to EM tools (GRAI
tools, Metis, MO2GO, e-MAGIM, etc) (ATHENA
DA1.1,2005)( UEML D1.1,2002). Interoperability
problems arise when those organisations aim to
achieve enterprise interoperability at a conceptual
level. Much effort is spent in European projects
(ATHENA, 2005), (INTEROP,2005) to alleviate
interoperability issues. Most of these problems are
related to the technologies and languages used.
The definition of a well defined metamodels
allows a common understanding of the elements
described. The standardisation of these metamodels
allows tools to interoperate amongst these tools. One
of these metamodels is Unified Modelling Language
(UML) (UML 2.0, 2003) and its metamodel Meta
Object Facility (MOF) (Meta Object Facility,2004).
These metamodels are standardised by the Object
Management Group (OMG). MOF allows the
specification of well defined languages like UML.
UML is a de-facto industry standard to specify and
to design software systems. UML2.0 is the major
revision of this language increasing considerably its
capabilities. One of these extended capabilities is the
specialisation of UML for specific domains through
UML profiles.
The Eclipse platform (Eclipse Modelling
Framework,2005) is an open initiative based on
plug-ins implementing an essential subset of MOF
called essential MOF (EMOF). This platform is also
used as a java development platform but our main
interest is on its capabilities to define metamodels
and to model with respect to a metamodel. For
example using the UML2.0 plug-in for the eclipse
platform, we are able to specify models that are
compliant with UML. However, this open initiative
does not provide the graphical implementation of
UML and its diagrams. Rational Software Modeller
(RSM) and Omondo are UML tools based on the
eclipse platform implementing the graphical side of
these models. RSM provides facilities to represent
profiles.
Models transformations are key pieces within
MDA allowing traceability and checking
consistency between models. The OMG MOF
Query, View and Transformation (QVT) (QVT,
2002) initiative is a language to transform and to
query models represented according to MOF
metamodels. QVT is still under standardisation
process but in the near future it will become an
OMG standard. There are two first implementations:
Atlas Transformation Language (ATL) (ATL, 2005)
and Model Transformation Framework (MTF)
(MTF,2005). Both implementations are based on
rules and they are used to transform and to query
models. MTF as well as ATL is compatible with
eclipse platform.
3 A MODEL DRIVEN
FRAMEWORK FOR
ENTERPRISE MODELS
ATHENA project has developed a metamodel and a
UML (Unified Modelling Language) profile called
POP* to represent in a common way enterprise
models. The Unified Enterprise Modelling Language
(UEML,2001) is a POP* predecessor. The main
intention of this paper is not to provide a huge
description of both metamodels and their differences
but to outline that the main difference between them
is that POP* is able to represent in its metamodel
and profile the following dimensions: process,
ICEIS 2006 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
552