cephas consulting corp an early mda project … in hindsight · 9/20/2002 copyright © 2002, cephas...

28
Copyright © 2002, Cephas Consulting Corp, all rights reserved Cephas Consulting Corp The Cornerstone of your Enterprise An Early MDA Project … in Hindsight Ernest Stambouly, Frank Truyen Cephas Consulting Corp 635 E. 1 st Street, Suite 317 Tustin, CA 92780 www.cephas.cc

Upload: dotu

Post on 10-Feb-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Copyright © 2002, Cephas Consulting Corp, all rights reserved

Cephas Consulting CorpThe Cornerstone of your Enterprise

An Early MDA Project … in Hindsight

Ernest Stambouly, Frank TruyenCephas Consulting Corp

635 E. 1st Street, Suite 317Tustin, CA 92780www.cephas.cc

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Preview

! eCRM Enterprise Application Case Study.! A Model-driven Approach.! The architecture and UML models.! The Approach.! Approach Benefits.! Lessons Learned.! Conclusion.

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Context

! Timeframe (1997-2001)" Pre-MDA; Middleware Battles; Young Java;

Young UML™.! Industry

" eCRM! Application

" Management of communication channels for contact management.

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Environment

! Small Software Development Team.! Existing successful 2-tier Application.! Greenfield Development

" No Legacy integration upfront;" No Reverse Engineering;" No Harvesting of Design or Code.

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Enterprise Requirements

! Large-Scale, distributed & heterogeneous targets.

! Standard-based.! Ease of adding business functionality.! Capture intellectual assets separate from

application.! Data interchange with external entities.! Independence of underlying technologies.! Development in Internet Time.

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Enterprise Decisions

! Invest in Enterprise Architecture" Distributed, scalable, platform independent;" Separates Business and Technical concerns;" Uses formal specification language (UML);

! Restructure Development Organization" Architecture/Infrastructure Developer;" Business Application Developer;" UI & General Developer;

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Separation of ConcernsBusiness! Standalone specification of Business

Functionality" Formal Business Model;" Platform Independent;" Business code evolves independently of

infrastructure;

Business Application Developer

Platform Independent UML Business Model

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Separation of Concerns Technology! Standalone UML specification of Abstract

Architecture (dubbed ICA)" Defines a formal computing model;" Abstract service-based architecture;" Independent of underlying technologies;" Can be projected to different underlying

technologies;

Architecture/Infrastructure Developer

Abstract Architecture UML Model

(ICA)

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Formal Specification

! Uses formal specification language: UML.! Everything is Model-Driven.! Standard/Popular OOA&D Methods.! Development Environment

" Integrates suite of development and model transformation tools;

" Promotes model-driven as the “natural” approach to development;

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Development Organization

! Reflects development approach

Architecture/Infrastructure Developer

Abstract Architecture UML Model

(ICA)

Business Application Developer

Platform Independent UML Business Model

Requirements

Capabilities

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

The Architecture

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

UML Abstract Core Metamodel

Reference Implementation

Binding

4refers to

invoked against4 5connects6manages6realized

by

3maintains

6targets IDENTITY REALIZATION

BEHAVIOR

6installs

Type

Operation

Request

0..*

0..*

0..*

0..*

0..*0..* FBC

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Refined Core Metamodel

SOALifecyle<<Interface>>

COAMessage

COAIdentity COAAny1 1

real izes

1 1

IOAProxy

1refers to client

1

COA Ty peMgr

COAClientBinding

produces

1

0..n

0..*

1

manages

0..* delega tes to

1

COAOperation

1

0..*

ta rgets1

0..*

COAReference

1

0..*

refe rence s

1

0..*

2 0..*references2 0..*

1

0..*

refers to target

1

0..*0..*s uperTypes

0..* 0.. *

subTypes

0.. *

COAImplementationrepresent s0..n0..n

COAServerBinding

1

1

m aps down to1

1

10..*

targets 10..*

0..*

1

invokes0..*

1

COAType0..*

1

0..*

1

<< mana ges>>

0.. *

1

com m is s ions

0.. *

binds clients to 1

1..*1..*

0..*

1

manages

0..*

1

0..*

1

real ized by

0..*

1

0..*

1

delegates to

0..*

provides binding for1

0..* subTypes0..*

0..*superTypes0..*

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Model Transformation Stages

UML Business Model

(PIM)

UML Canonical Architecture Model

! Build Business Model;! Designate Business

Components using UML stereotypes & property sheets;

! Transform;

UML Technology Projection Model

! Refined Business Model;! Augmented with

instances of the Core metamodel;

! Independent of underlying technology;

! Generate canonical model repository (XML);

! Platform-specific, e.g., CORBA, COM, J2EE, …

! Generate code from this model;

! Implement business code in dedicated “Impl” generated classes.

(PIM) (PSM)

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Sample ModelsUML Business Model

Customer

<<Formal Business Object>>

Account

<<Formal Business Object>>

1..n

1

Apply

FBO Wizard

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Sample ModelsRefined Business Model

Account

<<Interface>>

AccountImpl AccountProxy

Implements Is proxy for

ICAProxyICAPersistentAny

AccountFactorycreates

ICAFactory

Implements

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Sample ModelsCORBA® Specific Model

CORBAType

(from CoreDistributionIDL)

<<Interface>> _CORBATypeOperations

(from CoreDistribution)

<<Interface>>

_CORBATypeStub

(from CoreDistribution)

CORBATypeSmartProxy

CORBATypeFactory

CORBATypeFactory()

New(corbaDelegate : org.omg.CORBA.portable.Delegate) : org.omg.CORBA.Object

_CORBATypeImplBase

(from CoreDistribution)

COAType

(from Type)

COATypeInterface

(from Type)

<<Interface>> 0..n

-superTypes

0..n

0..n-subTypes

0..n

CORBATypeImpl

1-myRef 1

AccountImpl

Instantiates

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Business Domain DefinitionXML Representation

<Class> Customer<Operation> approvePurchase

<Returns Type="boolean"/><Parameter Name="purchase" Type="Long" Mode="In"/><Parameter Name="creditLeft" Type="LongHolder" Mode="Out"/>

</Operation><Operation> getStatus<Returns Type="void"/><Parameter Name="nameHold" Type="StringHolder" Mode="Out"/><Parameter Name="creditHold" Type="LongHolder" Mode="Out"/><Parameter Name="totOrdHold" Type="DoubleHolder" Mode="Out"/><Parameter Name="discHold" Type="FloatHolder" Mode="Out"/>

</Operation>…<ClientBinding Name="Acme.BusinessTypes.CustomerProxy"/><Implementation Name="Acme.BusinessTypes.CustomerImpl" Concurrency="Full"

Transaction="NotSupported" FactoryImplicit="False" FactoryActivate="Update"NodeId="SunServer"/>

<PersistentDataImpl Name="Acme.BusinessTypes.CustomerData"/><PersistentStateImpl Name="Acme.BusinessTypes.CustomerState"/><Persistent Name="OracleDB1"/>…

</Class>

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Deployment Model

! UML Deployment View to model logical topography.

! Generate Deployment Descriptors.! Mapping tools to physical network.

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Deployment Transformation

AppAdmin <<Admin Server>>

ConfigClient <<Thin Client>> EnterpriseServer <<Thin Server>>

AgentClient <<Fat Client>>

Application-level Deployment Specification

Logical Node Topography

Defines

Maps to

Network Topography

Host A

Host BHost C

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

The Reality

! Project is a success and in production today.! Most of the effort was spent on building tools

and the infrastructure.! Crude homegrown automation and

transformation tools.! Need for more powerful modeling

expressiveness of non-functional features.

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

What This Means

! Key to MDA realization:" Tools! Tools! Tools!" Upgraded Skill set;

! As an early adopter, experiment with MDA.

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Benefits

! High returns from reuse.! Application developers focus on business

development.! Ease of migration to other underlying

technologies.! Seamless addition of ancillary services

" Remote Debugging; Instrumentation; Logging;

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Lessons Learned

! Invest in tools – don’t build from scratch.! Effort requires management buy-in.! Performance Overhead of infrastructure layer

is negligible.! Mentoring and Training technical staff

" Architecture philosophy, approach & patterns;" Design by Contract;

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

More Lessons Learned

! Appropriate Development Environment." Tools! Tools! Tools!" Well-integrated tools suite that supports the

full development lifecycle;" Automation and optimization of software

development tasks upfront;! A “natural” tool environment for MDA.

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Closing Point

! To MDA or not to MDA?" Does it work?" Measurable improvements?" …

! Reusable enterprise infrastructure across projects

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Impact on SD Productivity

Productivity Factors

15% 28% 35%60%

350%

0%

50%

100%

150%

200%

250%

300%

350%

400%

Goo

d O

ffice

Ergo

nom

ics

Effe

ctiv

eD

evel

opm

ent T

ool

Envi

ronm

ent

Effe

ctiv

eM

etho

ds/P

roce

sses

Hig

hM

anag

emen

t/St

aff

Expe

rienc

e

Reus

e of

Hig

hQ

ualit

y D

eliv

erab

les

Factors

Impact on Productivity (PositiveFactors)

Source: Capers Jones, Software Assessments, Benchmarks, and Best Practices. ISBN: 0-201-48542-7

9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved.

Questions?