by
Richard Soley and the OMG Staff Strategy Group
Object
Management Group
White
Paper
Draft
3.0 � November 20, 2000
It�s
about integration.� It�s about
interoperability.� For eleven years, the
Object Management Group (OMG) has focused on making sure that you can integrate
what you�ve built, with what you�re building, with what you�re going to
build.� As the pace of technology
continues to quicken, and the demands of integrating your existing legacy
systems, your new intranet, and your e-business fall on your shoulders, you
need an architecture that makes interoperability central to your
infrastructure.� The bad news is that
there will never be a single operating system, single programming language, or
single network architecture that replaces all that has passed; the good news is
that you can still manage to build systems economically in this environment.
For eleven years, the OMG has led the way in providing vendor- and
platform-independent interoperability standards to the enterprise. Our mission
started with a focus on CORBA which took final shape in 1999 with the adoption
of the CORBA 3.0 specification. To the 1995 Internet-based architecture of
CORBA/IIOP, CORBA 3.0 added component-model technology that pulled together the
heterogeneous computing platforms of the end of the century: the Internet,
Java, Windows, SQL backends, and a thousand other technologies. While this work
was going on, other additions to CORBA extended it into environments that
require specialized Real-Time, Fault-Tolerant, and Embedded systems. CORBA is a
huge success in these markets, and continues to be expanded down (into
automotive and aerospace embedded, smart transducer markets) and up (into
fault-tolerant, failover, worldwide integrated enterprise customer solutions).
CORBA,
the CORBAservices, and Domain Facilities are an integral part of computing
today, playing a key role in millions of installations everywhere. Nearly all
the application server products on the market are based on OMG standards, and
many of the thousands of OMG success stories are documented on our website at
www.corba.org. CORBA programming skills are in demand; a search of the on-line
job market returns thousands of job listings requesting CORBA knowledge and
experience.
Since
its inception, the goal of the OMG has been�
to enable a global information appliance � that is, to make it
just as easy to plug into information as it is to plug into power. Global
travelers know that, although they may need an adapter or converter to plug
into the mains as they move from country to country, no fundamental difference
will keep them from using the power that passes through the cord. By providing
transparency to operating system, platform, programming language and even
network protocol, CORBA provides the adapter for the information plug, breaking
down barriers to interoperability at enterprises around the world.
But heterogeneity continues to flourish in the information technology
industry. By extending our vision beyond the interoperability infrastructure,
our mission expands to the next frontier. CORBA is a powerful first step, but
we have more steps to take.
In
addition to its technologies, OMG has the world�s best standardization
process. Executing our process, building consensus as they converge on
technical details, OMG members produce each new specification in nine to
seventeen months. Proven in the marketplace with the standardization of CORBA,
the CORBAservices, Domain Facilities, UML, the MOF, and OMG�s other modeling
standards, the process is one of our group�s major assets. OMG�s technology
adoption process will play a major role in the extended standardization work
proposed in this paper.
UML,
the Unified Modeling Language, allows a model to be constructed, viewed,
developed, and manipulated in a standard way at analysis and design time. As
blueprints do for an office building, UML diagrams allow an application design
to be evaluated and critiqued before it is coded, when changes are easier and
less expensive to make. The Meta-Object Facility (MOF) standardizes a model
repository facility and the foundation for a company�s common reference model.
The Common Warehouse Meta-model (CWM) standardizes how to represent a database schema
for data warehouses, improving data mining results by matching up concepts
common to multiple warehouses even where they go by different names. And
finally, XML Metadata Interchange (XMI) is an interchange format for models,
based on the MOF and the popular language XML.
Complementing, but not limited to, CORBA, OMG�s modeling specifications
are being used in virtually every development environment including Java/EJB,
COM/DCOM/.NET and XML/SOAP. Extending the usefulness of OMG�s modeling
standards, forthcoming specifications will lead to automation of design flow
from UML models, through coding, to running applications. Termed the Business
Object Initiative (BOI), this latest OMG effort targets specific middleware
environments including the CORBA Component Model (CCM) and EJB; extension to
proprietary but similar environments such as MTS and .NET will appear
soon.�
It�s
difficult � in fact, next to impossible � for a large enterprise to standardize
on a single middleware platform. Some enterprises found themselves with more
than one because their different departments have different requirements, others
because mergers or acquisitions created a mix. Even the lucky enterprise with a
single middleware choice still has to interoperate with other enterprises or
B2B markets that picked a different approach.
What�s
middleware? Middleware environments typically combine a server architecture
which may be componentized but is almost certainly transactional (CCM, EJB, or
MTS), with an interoperability architecture which may be standard (i.e.,
CORBA), proprietary (e.g., DCOM), or somewhere in the middle (e.g., XML/SOAP).
Essential services beyond transactions � such as directory, persistence, event
handling, and messaging � are usually included. There is a limited number of
middleware environments, including CORBA�s Component Model, Enterprise
JavaBeans, XML/SOAP and .NET.
At
the beginning of the new century, OMG has a middleware solution that works:
CORBA. Today CORBA is widely used to communicate over the Internet, integrating
applications 24 hours a day, seven days a week. OMG�s layered services and
vertical market specifications build on CORBA, and are strongly established through
the OMG community process. �Finally,
OMG�s modeling environment has spawned universally-recognized standards for object
modeling, repositories, data modeling and data warehousing.
Because of the proliferation of middleware technologies, enterprises
have applications on different middleware that simply have to be
integrated even though this process is time-consuming and expensive.
But, there is a way to simplify this situation, and it�s based on the core
modeling standards from OMG. The different middleware products on the market
provide a reasonably consistent set of services. We already listed what�s in
it: a component or component-like server infrastructure, plus transaction
support, persistence, security, event-handling, network distribution, and
messaging.� What we have is the ability
to apply modeling technology to pull the whole picture together.
Figure
1 lays out the Model Driven Architecture (MDA), an architecture built
around an open, middleware-neutral model at its core.� There is immense value across the software lifecycle to planning
and designing your applications but, even if you don�t take the time to do
this, you can gain flexibility in a heterogeneous world by building your
applications on a stable platform with planned, consistent, model-based
components.
The
core of the architecture, at the center of the figure, is based on OMG�s
modeling standards: UML, the MOF, and CWM. These standards, and the tools that
implement them, are used to build and manipulate the core models that embody
the common middleware environment.[1]
There will be multiple models: One will represent Enterprise computing with its
component structure and transactional interaction; another will represent
Real-Time computing with its special needs for resource control; more will be
added to represent other specialized environments but the total number will be
small.�
The
number stays small because each model represents the common features of all
of the platforms in its category.[2]
For example, whether your ultimate target is CCM, EJB, MTS, or some other
component or transaction-based platform, if you are constructing an Enterprise
application you will build it using the core Enterprise Computing model.
Figure 1: OMG�s Model
Driven Architecture
Mappings couple generic elements in
each core model with their specific counterparts in a model of each supported
platform. In Figure 1, these target platforms occupy the thin ring surrounding
the core.� Modelers, working in UML, build
a platform-independent application model that specifies run-time behavior as
well as business rules, and highly automated tools are able to use a mapping to
convert this general application model into one targeted to a specific platform
such as CCM, EJB, or MTS.
When we map a platform-independent model to a
particular platform, we produce not only artifacts native to that platform
(IDL, deployment descriptors, etc.) but also a platform-specific UML model. We
do this because the UML model can express the semantics of the platform-specific
solution much more richly than IDL or XML.
��������������������������������������������������������������� David
Frankel, Chief Scientist, Genesis IONA and
��������������������������������������������������������������� OMG
Architecture Board Member
MOF
and XMI are for metadata management, i.e. for managing models in repositories
and streaming models via XML. UML is for object-oriented analysis & design,
i.e. for producing object and component models. CWM is for data warehousing,
i.e. for database models (schema), schema transformation models, OLAP and data
mining models, etc.� Both UML and CWM
are MOF-based, so UML models and CWM models can be managed by MOF tools.
Maximizing
automation of the mapping step is a goal; however, in most cases some hand
coding will be required, especially in the absence of MDA tools. As users and
tool builders gain experience, and techniques for modeling application
semantics become better developed, the amount of intervention required will
decrease.
The
platform-specific model faithfully represents both the business rules and
run-time semantics of the application. It�s still a UML model, but now realized
(because of the mapping step) in a dialect of UML that precisely mirrors
run-time elements of the target platform. Run-time semantics input into the
platform-independent original model have been carried through mostly automatically.�
We can generate a lot of the code and reduce the need
for hand programming by an order of magnitude, and in some cases we will be
able to generate all of the code.
��������������������������������������������������������������� David
Frankel, Chief Scientist, Genesis IONA and
��������������������������������������������������������������� OMG
Architecture Board Member
The
next step is to generate the application code itself. For component
environments, the system will have to produce many types of code and
configuration files including Interface files, Component definition files,
program code files, Component configuration files, and Assembly configuration
files. The more completely the platform model reflects the actual platform
implementation, the more completely the application semantics and run-time
behavior can be included in the platform-specific application model and the
more complete the generated code will be. In a mature MDA environment, platform
models will be nearly complete and code generation will be substantial or,
perhaps in some cases, even complete. Early versions are unlikely to provide
this level of automation, but even initial implementations will simplify
development projects and represent a significant gain, on balance, for early
adopters.
Modeling as much of the application semantics as
precisely as possible enables a greater degree of code generation.
��������������������������������������������������������������� Sridhar
Iyengar, Fellow, Unisys Corporation and
��������������������������������������������������������������� OMG
Architecture Board Member
As
Figure 1 shows, many of today�s connection technologies will be integrated by
the MDA, with room for tomorrow�s �next best thing.� CORBA provides the best
middleware choice because it is vendor- and language-neutral, and bridges
easily to all of the other middleware environments. But, to accommodate those
enterprises with multiple middleware platforms on their network, many non-CORBA
platforms will be incorporated into the MDA. One of the first will be the
Java-only EJB; in fact, work on this mapping has already started.�
Because
the MDA is based on a platform-independent core model, adding new middleware
platforms to our interoperability environment is straightforward: After
identifying the way a new platform represents and implements common middleware
concepts and functions, OMG members will incorporate this information into the
MDA as a mapping. XML/SOAP and .NET will be integrated in this way; going one
step further, by rationalizing the conflicting XML DTDs that are being proposed
in some industries, the MDA can even help you interoperate across them.
Some of the transformation standards in the CWM can
be used with quite an effect to help solve the DTD transformation problems that
the XML-specified interface standards will inevitably run into.
��������������������������������������������������������������� Jishnu
Mukerji, System Architect, HP Corporation and
��������������������������������������������������������������� OMG Architecture Board Member
As
representations of multiple middleware platforms are added to the MDA and
mature over time, generation of integration tools � bridges, gateways, and
mappings from one platform to another � will become more automated.
Interoperability
will be most transparent within a domain: Enterprise applications with other
Enterprise applications; Real-Time applications with other Real-Time
applications. This follows from our basis on a separate core model for each
domain; differences between domains prevent us from basing all of our
applications on a single core model. By identifying and exploiting concepts
common to two or more domains, even these boundaries can be smoothed somewhat.
Our
discussion so far has assumed that we were building our application � and its
model � from scratch. Legacy applications do not fit this pattern. With many
built before component environments were even conceived, applications in this
category typically will not fit smoothly into any of our core models. However,
legacy applications may be brought into the MDA by wrapping them with a layer
of code consistent with the MDA Enterprise component core model, or another
core model if appropriate. If we build an MDA model of the wrapper first, the
outer portion �� that faces the network
and interoperates with our other applications and services �� may be generated automatically at least in
part, although the other side of the wrapper � that invokes and returns from
the legacy application itself � will typically have to be hand coded.�
Legacy wrappers will have to do all sorts of things
that require programmer intervention and can�t be rolled into a generic mapping
rule, such as making LU 6.2 calls to mainframe transactional systems.
��������������������������������������������������������������� Tom
Rutt, DMTS, Global Strategic Standardization, Lucent,
��������������������������������������������������������������� and
OMG Architecture Board Member
There
is no denying that, over the past decade or more, many companies have endured a
succession of middleware platforms. �Standardizing components at an platform level, through standards
such as CORBA, is certainly a viable solution to the integration and
interoperability problem, but we can do something additional: By standardizing
a platform-independent model at the next layer above middleware, companies are
assured an even easier path to integration. The MDA is OMG�s strategy to deal
effectively not only with the many middleware solutions which may be in use
today, but also with new approaches as they appear on the market.
As
the next generation of OMG standards, the MDA plays the role of the next
generation Internet ORB, integrating across all middleware
platforms � past, present, and future. OMG, the organization that knows ORB�s
better than any other, is the ideal organization to extend this concept beyond middleware
standards to a middleware-neutral model-driven approach. MDA users gain these
specific advantages:
�
Your
legacy applications � that is, the ones that keep your business in business �
will interoperate with your current applications once you wrap them as we
described and incorporate their functions into the MDA. You can leave them on
their established platforms; the MDA will help automate the construction of
bridges from one environment to another.
�
You
will be able to build new MDA-based applications using the middleware of your
company�s choice.� You will have the
security of knowing that interoperability bridges and gateways to other
MDA-based applications within your enterprise can be generated, for the most
part, automatically, as will your interconnections with customers, suppliers,
and business partners,.�
�
Industry
standards � in your industry and others � will be defined in the MDA core
models: Standard facilities performing standard functions, that you can buy
instead of build, with interoperability provided by their MDA roots. We�ll
describe these facilities and their role in the next section of this paper.
�
As
new middleware platforms emerge, the OMG�s rapid consensus-based
standardization process will incorporate them into the MDA by generating mappings.
Because each MDA application�s core model incorporates run-time behavior as
well as business rules, MDA tools will be able to generate applications from it
using this new mapping, as well as bridges between it and each of the other MDA
platforms. This ensures that all MDA applications that share a core model �
wrapped legacy, current, and not-yet-built � will work together, now and into
the future.�
�
Developers gain the ultimate in flexibility, the ability to regenerate
code from a stable, platform-indepedent model as the underlying infrastructure
shifts over time.� ROI flows from the
reuse of application and domain models across the software lifespan�especially
during long-term support and maintenance, the most expensive phase of an application�s
life.
Taking
advantage of our standards and tools that exploit them, OMG members have this
integration task well underway. The most-used middleware platforms are being
mapped to the common middleware model.�
Mappings carry this to the different target environments. Models are
built, viewed, and manipulated in UML; transmitted via XMI; stored in the MOF
which aids in defining the model, whose common elements can be extracted and
manipulated using the CWM.
Up
to this point, we�ve only discussed integration of middleware elements. Now we
need to integrate our application modules themselves and, in order to do this,
we have to identify and define them.
Since
January 1996, OMG members have been meeting as Domain Task Forces, communities
focused on standardizing services and facilities in specific vertical markets.
Until now these specifications have been defined as interfaces written in OMG
IDL with accompanying semantic description in English text. While not programming-language
independent, these efforts did remain specific to CORBA.
A well-conceived service or facility is always based on an underlying
model even if that model is not expressed in UML. OMG�s CORBAservices,
CORBAfacilities, and Domain Facilities specifications fall into this category
because the model for virtually every one is not expressed separately
from its IDL interfaces. Because their models are hidden, these services and
facilities have received neither the recognition nor the widespread
implementation and use that they deserve outside of the CORBA environment,
especially considering the quality of their underlying models. Extending these
implied models outside of CORBA just makes sense. �OMG�s Object Transaction Service, for example, serves with
distinction as the Java Transaction Service, which was generated by mapping its
interfaces from IDL to Java according to the OMG specification. The Healthcare
Resource Access Decision Facility, already implemented in Java and EJB in
addition to CORBA, is another example. There are more.
In
order to maximize the utility and impact of OMG facility specifications in the
MDA, they will be specified as normative platform-independent UML models, usually
(especially in the early years of MDA) augmented with CORBA-specific UML
models, IDL interfaces and XML DTD�s or schema generated via mapping rules
derived from XMI.. This will have a number of very favorable consequences:
�
A
normative UML model will serve to generate nearly all implementation
definitions in all of the middleware platforms supported by the MDA (though
normative interface specifications in IDL and other artifacts will often be
necessary).
�
Because
the common middleware model and the service or facility model are all expressed
in UML, much of the gateway code that enable interoperability from one
middleware environment to any other can be generated automatically.
�
Because
the service or facility can be used with any middleware, as well as
interoperate with implementations in other middleware environments, it will
have maximum impact; used by many enterprises in an industry, each of these
services will become the established tool in its field.
Today
OMG has ten Domain Task Forces with several more �in the chute;� more are added
from time to time. Rather than show them all in a static diagram, we�ve only
included a representative sample in Figure 1 where they appear as rays
emanating from the center.
The
Domain Task Forces produce standard frameworks for standard functions in their
application space. For example, the Manufacturing group could produce standard
MDA UML models for (Figure 2) CAD/CAM interoperability, PDM (Product Data
Management), and a Supply Chain integration facility. Once the MDA models for
these have been completed and adopted, they can be implemented partly automatically
in any middleware platform supported by the MDA.
Figure
2: UML models of frameworks for vertical facilities
The
three facilities that we�re using for this example � CAD/CAM, PDM, and Supply
Chain �demonstrate a benefit that only the MDA can provide: CAD/CAM and PDM
applications are tightly integrated and so will probably be implemented by an
individual enterprise or software vendor in, for example, CORBA or EJB. Supply
Chain Integration, on the other hand, is more of an inter-enterprise facility
so we might expect an XML/SOAP based implementation supported by an industry
market-maker or trade organization to become popular. But, it will be essential
to interoperate among the three: CAD/CAM designs feed into PDM production facilities
which drive the supply chain; in turn, the supply chain will refer back to
CAD/CAM for details on a particular part. By starting all three out as UML
models in the MDA, we may eventually be able to generate an implementation of
each on its preferred platform, as well as the bridges we need to integrate
each of the facilities with the other two.
These
vertical market activities are the beneficiaries of the Model Driven
Architecture and Pervasive Services, which we�ll introduce next. Working
within the OMG process, domain standardization task forces will adopt UML
models of domain-specific facilities as normative standards. The Pervasive
Services and Domain Facilities, included in the modeling environment, will be
called on where needed. From the UML models, automatic and mostly-automatic
tools will generate implementation definitions of these domain facilities in
the various mapped middleware environments, along with bridges, gateways, and mappings
that enable interoperability from one to another.
Mappings
to the various supported target platforms will define implementation models with
high levels of automation, as we�ve described. Every domain facility adopted as
an OMG standard must include, in addition to its normative general UML model, a
complete mapping to at least one target platform and, going further, a set of
programming and modeling artifacts (platform-specific model, interface code,
program code, configuration files) in that target platform. The target-specific
model and the programming artifacts, which have probably been adjusted by hand
to some extent, will be considered normative as well. Nothing prevents the
adoption of normative mappings to more than one target, although only one is
required.
Enterprise,
Internet, and embedded computing rely on a set of essential services. The list
varies somewhat depending on the source but typically includes Directory
services, Event handling, Persistence, Transactions, and Security. In addition,
computing systems or applications may take on specialized attributes in either
their hardware or software � that is, they may be scalable, Real-Time,
Fault-Tolerant, or designed to fit in a confined environment (Embedded).
When
these services are defined and built on a particular platform, they necessarily
take on characteristics that restrict them to that platform, or ensure that
they work best there. To avoid this, OMG will define Pervasive Services at the platform-independent
model level in UML. Only after the services� features and architecture are
fixed will implementation definitions be generated, nearly automatically, for
all of the middleware platforms supported by the MDA.
Hardware
and software attributes � Scalability, Real-Time, Fault Tolerance, or Embedded
characteristics � may be modeled as well. By defining UML representations for
these environments or, in the case of Fault Tolerance, an environment that
combines it with Enterprise computing, OMG will extend the MDA to support and
integrate applications with these desirable characteristics.
A separate UML profile for real time applications is
in the works right now and I think that the mappings from that profile to
platforms will be quite different than what the core Component model will be.
An entity in a model based on the core Component model will map to a
persistent, transactional component, whereas an entity in a real time model may
map to something quite different.
��������������������������������������������������������������� C.
Douglass Locke, VP-Technology, TimeSys Corp. and
��������������������������������������������������������������� OMG
Architecture Board Member
Figure
3: OMG�s MDA, showing the Pervasive Services and specialized computing
environments.
In
Figure 3, we�ve shown the Pervasive Services as a ring around the outside of
the diagram to emphasize that they�re available to all applications, in all
environments. True integration requires a common model for directory services,
events and signals, and security. By extending them to a generalized model,
implementable in the different environments and easily integrated, the Model
Driven Architecture becomes the basis of our goal of universal integration: the
global information appliance.
Although
much of the infrastructure for the MDA is in place or under construction, there
is still a lot to do.
If
your company works at either the modeling or infrastructure level, you can have
a voice in defining the MDA � RFPs have been issued for UML 2.0, and all of the
components of the BOI except the first are still in their formative stages in
the OMG adoption process. Of the mappings to various middleware environments,
only that to CORBA is even in progress � the rest exist only as potential RFPs.
UML models for the Pervasive Services have been neither constructed nor
adopted.
Application
models defined in this environment by OMG�s Domain Task Forces will form the
basis for implementations extending from CORBA to every middleware environment.
Whether your company is a provider or user of domain-level applications, now is
the time to get involved in their standardization if you�re not doing it
already. If you are a provider, this maximizes your impact on the future
standards at the same time as it identifies you as a key player; if you are a user, this lets you put your company�s requirements into the RFP that
defines the new standard. This is your opportunity to have your voice heard in
the models and standards that you will end up using; you will be working with
the best and the brightest in the industry to develop the architecture of
choice, which
�
Integrates what you�ve built, with what you�re
building, with what you will build in the future;
�
Remains flexible in the face of constantly changing
infrastructure; and
�
Lengthens the usable lifetime of your software,
lowering maintenance costs and raising ROI.
We
are continuing our quest to support integration and interoperability across
heterogeneity at all levels.� Our first
mission, to enable integration through the introduction of the distributed
object model, is complete: objects are the way systems are built today, at the
core of every vendor�s enabling architecture and also at the core of all
e-businesses.� But the integration
task is not yet done.� To focus on this,
OMG will extend our focus from a middleware-centric to a modeling-centric
organization.
To support
this effort, the OMG must also concentrate extra effort on conformance testing,
certification of programmers and certification of products (branding).� While OMG has been involved in the past with
various testing & branding efforts for its standards, and is currently
building programmer certification for the CORBA and UML technologies, the
expanded role of the OMG must be built on rock-solid testing, certification and
branding. In many cases these efforts will depend on strong relationships with
outside organizations with relevant expertise.�
Focusing on this problem is critical to the success for OMG�s new role.
The
foundation for the new role of the organization will be the current Analysis
and Design Task Force and its work on UML, the MOF, XMI, and CWM, along with
work in progress on the BOI and UML representation of EAI.
Domain
Task Forces will produce specifications that are, at their heart, normative UML
models. Mappings convert these UML models to implementation definitions on the
various MDA target platforms: OMG CCM, Java EJB, and soon MTS, .NET, XML/SOAP,
and other environments. Mappings and interfaces will also be normative. Mapping
to one target will be required, although many MDA specifications will
standardize mappings to several.
Today,
companies whose submissions are adopted by OMG members as our standard must
agree to market or commercially use an implementation of the specification.
Under MDA, the commercial availability requirement will remain, ensuring that
OMG standards remain relevant to the marketplace: Successful submitting
companies will have to provide a platform-independent UML model of their
specification in the appropriate base, a mapping to one of the supported target
platforms, and the corresponding interfaces whether generated automatically or
supplemented with hand-coded additions.
CORBA
is a foundation of this new architecture. As the only platform- and
language-independent middleware, it is a vital and necessary part of the MDA
superstructure; software bridges would be hard to build without it. Extending
this superstructure, the MDA is expressed completely in terms of modeling
concepts, moving the reuse equation up one level.
The
need for integration remains strong and OMG�s work is not yet complete � we
need to build on the success of UML and CORBA. With our experience, cohesive
membership, established process, and tradition of consensus-based
decision-making, OMG is in the ideal position to provide the model-based
standards that are necessary to extend integration beyond the middleware
approach. We�ve outlined the task, and directions of the solution, in this
paper. Now is the time to put this plan into effect.� Now is the time for the Model Driven Architecture.
[1] In OMG�s terminology, these models are UML Profiles. A number of these profiles are already well along their way to standardization at OMG. For details, see the companion white paper Developing in OMG�s New Model Driven Architecture.
[2] In technical terms, it is a metamodel of the category.