22
Model Driven Architecture Efficiently react to Changing Architectural and Functional Requirements Stainless Steel Models for Red Rusting Technologies Wim Bast Chief Architect OptimalJ October 18 th , 2006

Wim Bast Chief Architect OptimalJ October 18 th , 2006

  • Upload
    cian

  • View
    25

  • Download
    0

Embed Size (px)

DESCRIPTION

Model Driven Architecture Efficiently react to Changing Architectural and Functional Requirements Stainless Steel Models for Red Rusting Technologies. Wim Bast Chief Architect OptimalJ October 18 th , 2006. Agenda. Software Production: Applying IT Patterns to Domain Requirements - PowerPoint PPT Presentation

Citation preview

Page 1: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

Model Driven ArchitectureEfficiently react to Changing Architectural and Functional RequirementsStainless Steel Models for Red Rusting Technologies

Wim BastChief Architect OptimalJOctober 18th, 2006

Page 2: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 2

Agenda

Software Production: Applying IT Patterns to Domain Requirements

Model Driven Architecture: Separation of Domain and Platform Concern

Model Driven Architecture: Raising the Level of Abstraction

Conclusions

Page 3: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 3

Software Production:

Applying IT Patterns toDomain Requirements

Page 4: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 4

Software = Domain * IT

When we develop software we apply IT patterns to Domain requirements

Many different technologies and IT patterns are used to build one application

– Spring, Hibernate, JSP, Struts, EJB 2.0, EJB 3.0, SOA, POJO’s, data-access components, etc…

Each aspect of the domain is implemented using many technologies and many patterns

Page 5: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 5

What is a Pattern?

A pattern is a solution to a common problem– Capture best practices, good designs and experience

– Transfer knowledge, share experience

A pattern is a matter of discovery and experience– Abstraction of a specific solution

Using, improving and extending patterns– This makes us IT experts

Page 6: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 6

Business Delegate PatternAn Example

Problem– Remote communication between clients and business service

components is too complex

Solution– Use a Business Delegate to encapsulate access to a business

service

CustomerCustomerCustomer

* Core J2EE Patterns, Best Practices and Design Strategies Alur, Crupi, Malks; ISBN 0-13-142246-4

SupplierSupplierSupplier Stock

StockStock SalesOrderSalesOrderSalesOrdr

ProductProductProduct

Page 7: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 7

Small window of opportunity

The number of different technologies used to develop an application is growing

The number of domain aspects to be automated is growing

The frequency of changes to both the Domain and the Technologies is growing

The window of opportunity to deliver a successful application is getting smaller

Page 8: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 8

Model Driven Architecture:

Separation Of Domain and Platform Concern

Page 9: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 9

Classic Modeling and Development

Applications

UsersDesigners &Developers

Classic Tools

Domain Knowledge

Platform Knowledge

Domain XTechnology

Page 10: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 10

MDA Goal

Applications

UsersDomain Models

Domain Experts

Technology Solutions

Platform Experts

MDATools

Application Developers

Technology Selectionand Tuning

Page 11: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 11

Application

TechnologyPatterns

MDA’s PIM, PSM and Refinement

Domain Model PIM

Application

TechnologySolution

refinement

PSM

Page 12: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 12

Model Driven Architecture:

Raising the Level of Abstraction

Page 13: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 13

Coding Language Evolution

Abstraction level increased from 1GL to 4GL but fell back again to 3GL

A 4GL is productive but isn’t addressing standard technologies and lacks fine-grained control

A current 3GL is mainly a set of standard libraries and frameworks, the coding syntax is less important

Page 14: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 14

Abstraction Levels of Modeling

In practice UML models exist on different levels of abstraction– From analyze -via design- to

implementation

Can model refinement be automated or is it a creative process?

Page 15: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 15

The elaborational MDA versus translational MDA ‘battle’

AbstractionLevel PIM

Percentage Automated Refinement

elaborational

translational

incremental refinement

Page 16: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 16

Productivity and Control

Black-box automated refinement and hiding the detailed specification increases productivity but decreases fine-grained control

Creative refinement and exposing the detailed specification increases fine-grained control but decreases productivity

Law of Preservation of Misery?

Page 17: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 17

Incremental Refinement

All models are changeable

High Level Domain Model

Maintainable Technology Solutions

Customizable ApplicationApplication

TechnologyPatterns

Domain Model

Application

TechnologySolutions

refinement

Page 18: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 18

3 Different Abstraction Levels

Applications

Application models

Domain Model

Coding languages

Application Modelling Languages

Business Modelling language

Coding patterns

Technology patterns

Page 19: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 19

Applying OMG Modeling Standards

Applications

Application models

Domain Model

Coding languages

Application Modelling Languages

Business Modelling language

Coding rules

Technology rules

MOF

MOF

QVT

M2T

UML

UML

Page 20: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 20

Conclusions

Page 21: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 21

Conclusions

MDA separates Domain and Technology concerns

MDA Automates the Multiplication of the Domain and Technology aspects

MDA gives you Development Productivity without losing Control

MDA let’s you quickly react to changing domains and technologies

Page 22: Wim Bast Chief Architect  OptimalJ October 18 th , 2006

CompuwareCorporation Page 22