Top Banner
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
28

Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

Feb 10, 2019

Download

Documents

dotu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 2: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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.

Page 3: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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.

Page 4: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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.

Page 5: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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.

Page 6: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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;

Page 7: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 8: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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)

Page 9: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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;

Page 10: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 11: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

The Architecture

Page 12: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 13: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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..*

Page 14: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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)

Page 15: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 16: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 17: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 18: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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>

Page 19: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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.

Page 20: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 21: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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.

Page 22: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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.

Page 23: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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;

Page 24: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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;

Page 25: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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.

Page 26: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 27: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Page 28: Cephas Consulting Corp An Early MDA Project … in Hindsight · 9/20/2002 Copyright © 2002, Cephas Consulting Corp, all rights reserved. Business Domain Definition XML Representation

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

Questions?