Professional Documents
Culture Documents
Inside : Model Driven Architecture and Governance
Inside : Model Driven Architecture and Governance
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
11 Conclusions
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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
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)