A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities •...

29
A Practical Approach to MDA Paul W. Styles Chief Architect Strategic Planning

Transcript of A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities •...

Page 1: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

A Practical Approach to MDA

Paul W. StylesChief Architect � Strategic Planning

Page 2: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Multi-tier Application Architecture

Data Servers

Application Servers

Web Servers! HTML! JavaScript! Java Applets! JavaBeans

Clients

! JSP! ASP! XML! WML

! EJB! Java Servlets! CORBA! DCOM! ODBC/JDBC

!SQL!Stored Procedures

Page 3: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Java/J2EE Application Development Challenges

� Rapidly respond to business change � Time to market

� Increase developer productivity � Maximize application quality and reliability �

Minimize risk� Maintain currency with new versions of technology� Leverage existing investments� Enforce the use of best practices, standards and

guidelines

Page 4: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Enterprise Application DevelopmentThe reality…

“We try to solve the problem by rushing through the design process so that enough time is left at the end of the project to uncover the errors that were made because we rushed through the design process”

Glenford J. Myers

Page 5: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Closing the Gap The need for Models and Patterns

Complex business process

Complex technology platform (J2EE)

Bus

ines

s –

IT g

ap

Patterns

Reducing technologycomplexity

Models Reducing businesscomplexity

Model

Develop

Test

Deploy

Page 6: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

A New Development ParadigmModel-driven pattern-based

� Companies that want to maintain or increase their future competitive edge will need to begin evaluating, planning for and migrating development staff to at least one of the two alternative and more efficient forms of development, model-driven pattern-based (MDPB) or component assembly and orchestration (CAO).

� Organizations using a model-driven or pattern-based application development framework containing a large inventory of business components have the potential to be five to ten times more productive and responsive than those that do not

Giga Information Group®

John MeyerSr. Industry Analyst

Michael BlecharVP Internet and e-Business Technologies

Gartner Inc.

Page 7: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Object Management GroupModel-Driven Architecture (MDA)

� A new way to specify and build systems� Based on modeling with UML� Modeling instead of

programming� Merging modeling and coding� Based on standards

� UML, MOF, CWM, XMI�.

Finance

E-Commerce

Telecommunication

More...

Transportation

Space

Manufacturing

Health Care

Page 8: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

MDA Qualities

• Portability• Cross-platform

Interoperability• Platform Independence• Domain Specificity• Productivity

Finance

E-Commerce

Telecommunication

More...

Transportation

Space

Manufacturing

Health Care

Page 9: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

MDA Benefits

• Reduced cost• Reduced development

time• Improved application

quality • Increased return on IT

investments • Rapid inclusion of

emerging technologies

Finance

E-Commerce

Telecommunication

More...

Transportation

Space

Manufacturing

Health Care

Page 10: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Classic Modeling and Development

Applications

UsersDesigners &Developers

Classic Tools

Domain Knowledge

Platform Knowledge

Domain XTechnology

Page 11: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

MDA Goal

Applications

UsersDomain Models

Domain Experts

Technology Solutions

Platform Experts

MDATools

Application Developers

Technology Selectionand Tuning

Page 12: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Developmentteam

Developmentteam

Knowledge transferEnsuring the use of best practices, standards & guidelines

Architects

Define• Overall application

architecture• J2EE expertise• Technology standards• Development guidelines• Best practices• Patterns• Code templates• Methodologies• Models

Implement• Application

architecture• Technology

standards• Development

guidelines• Best practices• Patterns• Code templates • Methodologies• Models

Review and correct➻ Architecture not correctly

implemented➻ Technology standards

ignored➻ Deviated from development

guidelines➻ Misinterpreted best

practices➻ Patterns/templates

not used➻ Models duplicated

Page 13: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Model Driven Architecture

Code Model

Platform Specific Model

Platform Independent Model

Page 14: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Platform Independent ModelStep one

� Expressed in the UML Structure Behavior

� Develop at a high abstraction level Undistorted by technical details Business centric Focus on application functionality

� Enrich with Business rules: Constraints Expressions

� Automated reuse of model definitions and business rules

� Change applications rapidly in the model

Page 15: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Platform Specific ModelStep two

� Automatic transformation from PIM to PSM ( Selected target platform)

� Consistency� Quality

� Presentation Model (Web) Data schemas, web components, etc.

� Business Logic Model (EJB) Data schemas, key classes, entity

components, session components, etc.

� Data Model (DBMS)� Relational data schema� Tables, columns, keys, etc.

Page 16: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Code ModelStep three� Automatic transformation from PSM to Code

� Productivity� Quality� Consistency

� Presentation Tier Model View Controller framework

(MVC) Java Server Pages (JSP), servlets

� EJB Tier Remote, bean class, home and primary

key classes etc. According to EJB specification

� DBMS Tier SQL scripts

� Application deployment descriptors� For target application server

Page 17: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

� How to transform model within the MDA and realize the benefits of:

"Productivity"Portability"Interoperability

Pattern Automation!

Implementing a Model Driven Architecture

Page 18: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Why Patterns?

� Software Architects usually have clear ideas on how to implement a given model, based on:� Internal standards, guidelines and best practices� Coding and architectural standards� Past experience� Existing libraries of code

Page 19: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Benefits of Patterns

� Make best use of experienced developers

� Reduces learning curve� Reusable, application-independent

components� Shields developers from most of the

low-level coding details� Patterns generate consistent and high

quality code across multiple developers and applications

� Generated code is pre-tested and is therefore more reliable

� Standards and enforcement of standards

Page 20: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Technology ChangeKeeping up with the pace of J2EE

JDBC2.0

JDBC2.0

JDBC2.0

JDBC2.0

EJB1.1

EJB1.1

EJB1.1

EJB1.1

Servlet2.2

Servlet2.2

Servlet2.2

Servlet2.2

JSP1.0

JSP1.0

JSP1.0

JSP1.0

Version 1 of the application

Page 21: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

JMS1.1

Technology ChangeKeeping up with the pace of J2EE

JMS1.1

JMS1.1

JDBC2.0

JDBC2.0

JDBC2.0

JCA1.0

EJB1.1

EJB2.0

Servlet2.2

Servlet2.2

JSP2.0

JSP1.0

JSP1.0

EJB1.1

EJB1.1

JCA1.0

Servlet2.3

Servlet2.2

JSP1.0

JSP1.0

JSP2.0

JSP2.0

Version 2.3 of the application

Page 22: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

JNDI1.2.1

JMS1.1

Technology ChangeKeeping up with the pace of J2EE

JMS1.1

JMS1.1

JDBC2.0

JTS1.0

JDBC2.0

JCA1.0

EJB1.1

Servlet2.2

JSP1.0

EJB2.0

JSP3.x

EJB1.1

EJB2.0

EJB1.1

EJB2.0

JCA1.0

EJB2.0

Servlet2.2

JSP2.0

JSP1.0

JSP1.0

Servlet2.3

JSP1.0

JSP2.0

JSP2.0

Servlet2.3

Servlet2.4

Servlet2.4

JSP2.0

JSP3.x

Version 3.6 of the application

Page 23: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Pattern Driven GenerationModel & Patterns

Platform Independent

Model

CodeModel

Platform SpecificModel

TransformationPatterns

FunctionalPatterns

Implementation PatternsImplementation

Patterns

Technology PatternsTechnology

Patterns

PatternsPatterns

PatternsPatterns

PatternsPatterns

Gen

erat

e

Page 24: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Customizing and maintaining patterns

� Allow organizations toimplement their internal coding standards

� Automatically transfers expert knowledge to designers and developers

� Ensures designers/developers implement the standards

� Full control over generated code

� Experienced J2EE architects can add, update and delete the Patterns

Platform Independent

Model

Code Model

Platform SpecificModel

TransformationPatterns

ImplementationPatternsImplementation

Patterns

TechnologyPatternsTechnology

Patterns

Page 25: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

1. Determine requirements for the pattern

2. Determine which of the MDA models provide a suitable basis for the pattern

3. Relate requirements to the model4. Implement the pattern using a

pattern language5. Deploy the pattern as a module

Pattern development process

Page 26: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Pattern extension tools� Pattern authoring workbench� Pluggable pattern architecture � Platform independent pattern language

� Pattern language to implement logic and apply the correct patterns� Access to the Meta Object Facility (MOF) repository� Small language compiled into target platform code

Page 27: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Extension of patterns

� Provide pattern sources!Customer has all flexibility"Customer doesn�t benefit from

upgrades� Provide hooks (Joinpoints)

that allow customers to override and extend the default pattern functionality!Customer has sufficient

flexibility!Customer benefits from

upgrades

Baseline Pattern

Joinpoint A

Joinpoint B

My 1st Pattern

My 2nd Pattern

Page 28: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

Are you writing code or buildingan application?

“Building an application”!Focus on functionality and behavior (�what�), not on

implementation details (�how�)!Pattern based generation

� Quality derived from repeatability� Industrial approach to software development� Enforcing of standards and best practices

!Easy maintenance: model-centric synchronization and pattern based re-generation

Focus on Business instead of Technology

Page 29: A Practical Approach to MDA › news › meetings › workshops › MDA... · MDA Qualities • Portability • ... Data schemas, web components, etc. ... Ł Automatically transfers

MDA Essentials� Embracement and appreciation of

existing IT technologies� Separation between, and reusability

of, domain and platform expertise� Quick adaptability of domain and

technology changes � Generation of working high-quality

applications and integrations