Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

Model Driven

Inside
Architecture and
Governance
2 Introduction
In the current economic climate it is even
more important that IT projects demonstrate a A quiet revolution in development technique
return on investment, either through lowering
operational costs or by increased market 3 Business Benefits of MDA
share. The keywords agility and flexibility
are becoming the watchwords of IT How does MDA deliver lower cost applications with
development as businesses prepare accelerated development while ensuring a more
themselves for changing markets; but agility maintainable, flexible, reusable architecture?
and flexibility can be achieved only by
MDA Explained
investing in application architecture.
4 Governance
Model Driven Architecture (MDA) is a quiet Issues with conventional software development
revolution in the technique of application Benefits of Model and Code Integrity
development, which has important
consequences for information-driven 5 Service Oriented Architecture
enterprises. Like most stages in the evolution
of development tools, MDA sets new 6 IT Management Overview Of
expectations for development productivity, but OptimalJ
unlike previous improvements, MDA brings
with it a benefit, which was lacking in other Domain Model, Application Model and Code Model
paradigm shifts. We shall call it governance: Pattern-based Generation and Pattern Customization
control over implementation of requirements Business Rules
and system architecture. Active Synchronization
Integrated Development
Author: Service Oriented Architecture

Jonathan Stephenson 9 Customer Experience


Some early adopters and their comments

10 Roadmap for OptimalJ


Future directions for OptimalJ product development

11 Conclusions

Insight for Web Service Based and Software Component Practice


Introduction
In the current economic climate it is even more important that IT projects demonstrate a
return on investment, either through lowering operational costs or by increased market
share. The keywords agility and flexibility are becoming the watchwords of IT
development as businesses prepare themselves for changing markets; but agility and
flexibility can be achieved only if the software architecture supports it. Business drivers
such as national and international regulation, global competition and the expanding markets
of Europe, China and Russia all contribute to the challenge and uncertainty.

To engineer IT to meet these requirements, organizations must adopt an architectural


strategy which supports tactical initiatives and then make business the driver for application
development. Without a properly designed architecture, projects will either fail or be
delivered late and over budget. A well-aligned software architecture is one that supports the
business and rapidly responds to change.

Model Driven Architecture (MDA) is a quiet revolution in the technique of application


development, which has important consequences for information-driven enterprises. Like
most stages in the evolution of development paradigms, MDA sets new expectations for
development productivity, but unlike previous improvements, MDA brings with it a benefit
that was lacking in other paradigm shifts; we shall call it governance. Governance ensures
software architecture is never compromised and guarantees implementation of the business
requirement according to the architectural design.

Todays de facto environment is typified by separation of responsibilities, disparate tool


sets, constant reinvention of commonly used components, huge complexity and lack of
traceability. We suggest that there is a need to break out of the current cycle of developer-
led projects and move to business-led projects, which are characterized by higher levels of
abstraction for reuse and speed of delivery. MDA provides a standardized framework that
can be harnessed by businesses to deliver applications needed to respond to opportunities in
the market, within an architecture that ensures long-term sustainability and reuse of
software assets. It allows software development to move from being considered an
overhead to becoming an exercise in asset building. The key characteristics that allow MDA
to deliver these benefits are:

The business model is the driver for all development activity


The application architecture is defined by the application generator not the code
developer
Governance ensures that the business model and code remain consistent
Development is rapid and all activities, such as analysis, design and build, are
coordinated by the development environment
Skills needed to develop an application are more focused on business benefit and
less on system code and deployment issues

There are many benefits in having a well-structured architecture across a portfolio of


applications and a consistent business model that is guaranteed to reflect the

CBDI Report CBDI Forum Limited 2003 MDA and Governance 2


implementation; reliability, lower maintenance costs and reuse of both models and code are
all examples of the long-term benefits of governance.

Business benefits of MDA


MDA explained
MDA is an approach to application development that generates most of the code
automatically from a high-level business model. MDA makes a clear separation between
functional requirements and implementation details so that your investment in the business
model is protected, even when implementation platforms or architectures change. The
development process is completely driven by the business model from which, first, an
application model is generated and from that the working code. This technique is led by
Object Management Group (OMG), which developed standards for the models and the
mechanisms for mapping one model to the next.

MDA promotes application development to a higher level of abstraction, which focuses


on business requirements rather than technological details.

The MDA standards allow for different application architectures to be generated and this
aspect of MDA makes it a more viable approach than earlier CASE tools, which were too
rigid to meet the changing demands of business. Compuwares implementation of MDA
supports a Service Oriented Architecture, which is described in more detail later. MDA
ensures that the business model, the application architecture and the code are always
consistent; this feature was introduced earlier as governance and this is also discussed in
more depth later.

From the business point of view MDA has clear advantages:

The top-down modeling approach ensures that applications meet the business
requirements.
Driving the process from a business model makes it easier for analysts and business
managers to refine the model and improve communication and collaboration in the
vital analysis and design phase.
MDA ensures that the business model, application architecture and implementation
are consistent.
Application architecture is generated by the development environment at no extra
development cost; benefits in quality, reuse and flexibility all flow from this.
Rapid delivery of solutions allows the business to capitalize on market
opportunities.

Because business managers need to see functional and cost benefits and rarely appreciate
the long-term goals of good system architecture, we believe it is important to choose a
development tool that delivers the architecture for free, while allowing developers to
concentrate of business functionality. MDA is the way to achieve this today.

CBDI Report CBDI Forum Limited 2003 MDA and Governance 3


Governance
In our introduction we discussed the idea of governance, i.e., the feature of MDA that
ensures that the application architecture is never compromised by the development process.
From the business perspective this means that you are not paying extra for architectural
elegance, either in time or cost. Compuware OptimalJs implementation of MDA goes
further than the automatic generation of a well-architected solution by enforcing the
integrity of the model even when the source code in the application is customized.

Governance ensures that your investment in the business model becomes an important
software asset, which forms the basis for future business development.

To fully appreciate the concept of governance, we first explain the difficulties of the
traditional development process.

Issues with conventional software development


Conventional software development breaks down the task into distinct stages such as
analysis, design and build. Each has its own methodology, software tools and skill sets.
Unified Modeling Language (UML) has been adopted as a structured way to communicate
the business model to the developers and many projects start with a top-down modeling
approach. A good model is essential if the resulting application components are to be
maintained, understood and reused.
At the next stage in the development process, the business model has to be transformed into
a system architecture leading to the creation of another set of models. Finally, developers
implement and refine the code. However, a problem arises when the code is built and
refined, because the business model, application model and implemented code can easily
drift apart. Without consistent models the costs of maintenance increase, changes to the
functionality are fraught with difficulty and delay, and reuse is impossible because no high-
level model exists that accurately describes the implemented system.

Benefits of model and code integrity


Accurate models are important at many levels. In the business analysis phase they promote
full participation of business managers and encourage refinement of the business models so
that the implemented system brings maximum benefit to the organization. With an accurate
overview of the application, reuse of business components is made possible, which leads to
further benefits of lower-cost development and accelerated delivery. At the technical level,
quality is improved by ensuring that the generated code conforms to tried and tested
blueprints. Applications are easier to maintain and improve and more development
resources can be targeted at new functionality; less at maintenance.

CBDI Report CBDI Forum Limited 2003 MDA and Governance 4


Service Oriented Architecture (SOA)
SOA is important for enterprise IT because it provides the framework that unites the
business model with the applications that provide the functionality required for efficient
business. Without SOA, IT systems become a disjointed collection of packages, functions
and screens that consume ever-increasing resources to maintain and evolve. SOA imposes a
direct correlation between business operations and software services, making it a simple
task to maintain and re-factor new systems from existing services.

Web services are the parts of the SOA vision that provide easy connections across the
Internet and self-describing service interfaces. This is the important enabler for business
integration and distributed commerce models.

MDAs contribution to a business with the strategy to adopt SOA is to make it easier and
faster to achieve the goal.

The model-driven approach ensures that the services on which applications are based are
consistent and business focused. Governance ensures that the models and architectures are
not compromised in the implementation.

OptimalJ supports integration of technologies such as Web services, CORBA, CICS and
IMS COBOL into its model so that it can form the basis of an enterprise-wide migration to
SOA.

CBDI Report CBDI Forum Limited 2003 MDA and Governance 5


IT management overview of OptimalJ
In the previous section we focused on the business benefits of MDA. Next we take a closer
look at OptimalJ and how it implements MDA.
OptimalJ: Domain Model, Application Model and Code
Model
OMGs approach describes separate models; the Platform Independent Model (PIM) and
the Platform Specific Model (PSM), which maps to code to create a viable application.
OptimalJ implements these two models as the Domain Model and the Application Model,
and maps the code to a Code Model. OptimalJ uses a set of rules known as transformation
patterns to carry out transformations from one model to the next automatically.

MDAs models force a separation of concerns as follows:

Platform Independent Models (PIMs) provide formal specification of the structure and
function of the system and are independent of the computing platform. In OptimalJ this
model contains the business objects and services. OptimalJ provides a subset of the full
UML capability, allowing analysts to specify business objects and services. Models can also
be imported from other UML tools.

Platform Specific Models (PSMs) are generated automatically from the PIM and contain
components that apply to the target platform and architecture. The target platform that
OptimalJ adopts is J2EE. In this model the technical architecture is now visible at the level
of components, web pages, DBMS and services.

OptimalJ generates a Code Model from the PSM and includes all the source code, Java
deployment descriptors, web pages, SQL scripts and so on to run the application.

The following figure illustrates how the business model is transformed via the application
model into working code:

Business
Business Model Application
Analysis
Model

Solution
Automatic Generation

Add logic

CBDI Report CBDI Forum Limited 2003 MDA and Governance 6


MDA describes the mappings needed to transform one model to the next and also describes
the refinement and reuse of components in both the PIM and PSM. MDA builds on existing
XML standards; for example, UML uses the XML Metadata Interchange (XMI) standard to
communicate structure of objects and interfaces and Meta Object Facility (MOF) is used to
describe objects.
Pattern-based generation and pattern customization
OptimalJ transforms the Business Model into an Application Model and maps this to code
by applying transformation patterns. Patterns are general solutions to recurring software
design problems that automatically generate application code. OptimalJ uses one set of
patterns to generate the Application Model from the business Domain Model called
technology patterns -- and another set to map the Application Model to the final code
called implementation patterns. Pattern-based development accelerates development and
improves quality because each pattern has been tried and tested in many similar scenarios.
By applying a consistent set of patterns across your software portfolio, you lower
maintenance costs and improve software quality. Testing becomes particularly effective
when applications are all built to the same standards.

Compuware has created additional features not described by MDA in its ability to express
the transformation process in a format that can be customized by the user. This means that
organizations can implement their own coding standards and software engineering
approaches. This gives OptimalJ a level of flexibility that will appeal to system architects
and lead developers who need to have direct control over the code generation process.
Business rules
OptimalJ is designed for enterprise software development and includes a range of business-
friendly modules such as support for business rules. These can be static (compiled as
components in the application) or dynamic. Dynamic rules are used to support simple
calculations and rules that are read from a configuration file at runtime. Tax rates and
calculations, credit limits and area codes are typical examples of rules that can change at
any time.

Active synchronization
Unlike CASE tools and code generators of yesteryear, OptimalJ integrates with standard
code development environments such as NetBeans and JBuilder and fully supports the code
customization required to implement the logic of business operations. The developer is
directed to certain places in the code called free blocks and locked out of guarded
blocks that should be changed only through the model.

Active synchronization ensures that changes made in the model are accurately reflected in
code and changes made to the code in the free blocks are preserved each time the
application is generated. There is no re-engineering process because the model and the code
are always kept in step by the development environment.

CBDI Report CBDI Forum Limited 2003 MDA and Governance 7


Integrated deployment
When OptimalJ generates an application, it doesnt stop at the Java code, web pages and
SQL scripts but includes all the deployment descriptors and files needed to deploy the
application to the selected server. With support for all the industry standard J2EE servers
built in, an application can be moved to a new platform by selecting the target and re-
generating the deployment files.
Service Oriented Architecture
OptimalJ creates applications that are based on Service Oriented Architecture (SOA). This
provides a flexible, layered structure to the generated solution. Web service protocols such
as SOAP and the interface description language WSDL are fully supported, so that selected
services can be made available over Internet connections. Web services can be called from
the OptimalJ application code and also imported into the model.

Enterprise development projects usually involve integration with existing software assets
based on established platforms such as CORBA, CICS and IMS COBOL. OptimalJ
provides the capability to model and integrate functions written on these platforms and to
create service wrappers for legacy platforms.

In our white paper i Service Oriented Architecture and OptimalJ, SOA and Web services
are discussed in depth.

Customer experience
OptimalJ customers focus on the speed of application delivery and the importance of having
best-practice J2EE code. For some users less experienced in J2EE development, the appeal
of OptimalJ is that they benefit from the expertise stored in its patterns. These users can
focus on the business functionality and leave system architecture and coding standards to
the generator. For others with experience of the J2EE platform, the advantages of being able
to develop code using patterns customized to their requirements means cheaper and faster
application development. When markets are changing, businesses demand a faster
turnaround from IT and an MDA-based tool is the way they chose to deliver it.

Here are some experiences of early adopters of OptimalJ:-


Geodis
Geodis, based in France, has a worldwide network of offices and provides supply chain
management solutions. Jean-Louis Leserteur, director of information services for Geodis
Overseas, a subsidiary of the Geodis Group, explains the concerns of his IT organization in
developing the new corporate intranet. When dealing with projects this vital for our
company, any outsourcing of production means splitting control of the application, he
says. The challenge we faced was to find an appropriate and easy-to-learn tool that would
allow us to maintain our control over project execution and monitor the enhancements
requested by our clients.

CBDI Report CBDI Forum Limited 2003 MDA and Governance 8


Leserteurs experience demonstrates one of the principal benefits of OptimalJ. With its
model-driven, pattern-based approach, OptimalJ makes it possible to increase developer
productivity dramatically. In this case OptimalJ proved to be about 40 percent more
efficient than its closest competitor and it allowed Geodis Overseas in-house team to
complete the project without outsourcing and, therefore, to maintain control.
Intercontainer
ICF (a merger between Intercontainer and Interfrigo) is quickly rebuilding 150 man-years
of proprietary applications in J2EE.

Jean-Michel Varoqui, IT Development and Maintenance Manager at ICF, found that the
huge advantage of OptimalJ was its simple, fast generation of J2EE code, driven by
patterns. Overall, OptimalJ results in significant productivity improvements both at
development and maintenance time.

And again the productivity increases are significant. Varoqui states Depending on the
complexity of the application, ICF saves between 30 and 40 percent of the development
time.
E-SoftSys
When E-SoftSys decided to rework a portion of an internal workflow application in Java,
company executives planned for the task to be completed easily by two experienced Java
developers. The job, initially estimated to take 400 hours, was quickly approaching that
number and was not even half completed. The executives were about to abandon the project
until they were introduced to OptimalJ.

"We didnt have to worry that skill shortages and productivity would adversely impact our
J2EE development," said Krishnayya Shenoy, general manager for E-SoftSys. Basically,
OptimalJ increases development productivity and frees Java programmers to handle the
more complex issues. And thats probably one of the nicest features of OptimalJ.
Sun Microsystems
Suns consulting team recognized that OptimalJ was applying their own blueprints faster
then they could do it themselves. CBDI NewsWire reported in March 2003:

Compuware has entered into an agreement to provide Suns 280 J2EE architects
worldwide with copies of the OptimalJ model-driven pattern-based development
environment. Suns J2EE architects are the consultants that advise Suns customers on
architectural reviews, pattern usage, etc. As part of the agreement Compuware committed to
complete the implementation of the Sun patterns (which it has now done), and to train Suns
software architects in use of the product.

CBDI Report CBDI Forum Limited 2003 MDA and Governance 9


Roadmap for OptimalJ
We understand future releases of OptimalJ will address four priorities for development:

Business Process Management (BPM) support


Extending application life-cycle support
Further increase developer productivity
Continued and improved J2EE platform support.

These enhancements are designed to extend the benefits realized through the current use of
models and patterns to a broader range of activities. Starting with workflow, integration
with workflow capabilities will allow modeling to start at an even higher level of
abstraction and to describe multi-step business processes. The business model, which is the
starting point in OptimalJ, could in the future be based on a process model.

The application life-cycle support in the current release will be extended so that the unit
testing of the service layer will be more fully supported and test harnesses generated. This
will accelerate testing and improve the reliability of the delivered solution.

Developer tool support will be further extended as required. Currently OptimalJ integrates
with NetBeans, JBuilder, WSAD and Sun ONE.

Conclusions
MDA brings to enterprise development levels of productivity more characteristic of the
proprietary 4GLs of yesteryear. But unlike the monolithic development architectures that
were necessary in the past, we now have the opportunity to capitalize on the openness of
Java and above all the architectural governance that MDA brings.

The development process is driven by the business model, which can be refined and reused
to ensure that the delivered solution fully meets the business requirements. SOA is used to
create applications that are flexible, scalable, cheaper to build and maintain. Businesses will
enjoy quicker development and lower costs without compromising their ability to re-factor
and adapt solutions to meet new market requirements.

OptimalJ fully implements the OMG standard and integrates this capability with the leading
development tools and deployment platforms. OptimalJs code generation together with its
intelligent approach to code customization allows companies to extract more from their
investment in the J2EE platform.

We introduced this report with the phrase a quiet revolution in application development;
we hope our explanation of MDA is enough to make you look more closely at it.

CBDI Report CBDI Forum Limited 2003 MDA and Governance 10


Links and Footnotes
Footnote 1 White paper, Service Oriented Architecture and OptimalJ, CBDI Forum
Ltd: http://www.compuware.com/products/optimalj/1794_ENG_HTML.htm

MDA Model Driven Architecture MDA Document ormsc/2001-07-01,


http://www.omg.org/

Compuware http:///www.compuware.com/

JavaCentral http://javacentral.compuware.com/

CBDI http://www.cbdiforum.com/

The Author

The author welcomes any questions or comments on this report. He can be contacted at:

jonathan.stephenson@cbdiforum.com

CBDI Report CBDI Forum Limited 2003 MDA and Governance 11


Insight for Web Service &
Software Component Practice

CBDI Raison detre

We aim to provide unique insight on component and web service technologies and
processes for the software industry and its customers. To provide high quality analysis
and other information resources on best practice in business software creation, reuse
and management. To maintain the highest level of independence.

Modus Operandi

CBDI has three channels:

Subscription services - provision of continuous commentary and information.

Workshops and seminars - providing in-depth briefing and guidance on


advanced architectures, processes and practices.

Consulting - including related product management and marketing advice,


application audit and guidance, technical and business evaluation for
Subscribe to the investment

CBDI Journal How we compare with others

The CBDI Journal is We are not a mass market, media oriented organization. All material published by the
forum is unique. The majority of material is published by our own analysts, or
published monthly. In commissioned from others, and under strict editorial control to ensure accuracy. We
addition to the CBDI rigorously exclude spurious marketing.
Journal, subscription
We aim to provide depth insight that covers a narrow topic footprint in a deeper way
includes electronic than the other analysts, and in particular cover not just the technology, but also the
access to all back architectures, usage, practices and processes.
numbers that now
Also we are unusual as analysts we do not simply echo what the vendors say, we are a
represent a significant think tank, identifying new ideas, opportunities and providing stimulus for thinking.
resource library. There
are individual and We try to be thought leaders providing ideas generation and a rich source of
conceptual thinking based on practical, real world feedback.
corporate subscriptions
schemes. Who reads CBDI Journal?

Corporate subscription Technical and Application Architects, Business analysts, Consultants, CTOs,
includes access to our
Designers, Product strategists, Senior Developers, Project Managers etc.
workshop materials.
Subscription is split 40% USA, 50% Europe.
For more details and to
subscribe see: Contact us:
www.cbdiforum.com For further information on any of our services contact us at: info@cbdiforum.com or
+353 2838073 (Ireland)

CBDI Report CBDI Forum Limited 2003

You might also like