mda tool support for soi - omg...• 20 years experience in distributed applications ... when...

29
MDA Tool Support for SOI Mike Rosen CTO, AZORA Technologies, Inc. [email protected]

Upload: others

Post on 04-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

MDA Tool Support for SOI

Mike RosenCTO, AZORA Technologies, Inc.

[email protected]

Page 2: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 2

Mike RosenConsultant• Chief Enterprise Architect for service and component based

systems– Finance, Insurance, Telecom

• SOA, EA, MDA implementation and training• 20 years experience in distributed applications

Author• Cutter Consortium

– “Service Oriented Integration – Aligning SOA with Enterprise Integration”– “Implementing SOA on Common Technologies”

• Implementing SOA Applications, due 2005• Developing e-Business Systems and Architecture: A

Manager’s Guide, 2000, Morgan-Kaufman• Integrating CORBA and COM Applications, 1998, Wiley.

ACCESS TO THE EXPERTS

Page 3: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 3

Agenda

Architecture Driven Development

MBD and Enterprise Architecture

DSL for SOI

Demo

Conclusion

Page 4: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 4

SOI Implementation Example

Bank 1Account System

Bank 1Loan System

Bank 1Credit System

Bank 2Account System

Bank 2Loan System

Bank 2Credit System

ESB Integration Service Bus

AccountService

LoanService

CreditService

OtherServices

ESB Business Service Bus

CustomerManagement

Marketing Pricing

Channels

Page 5: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 5

channels enterprise

packagedapplication

SOR

DataTransform

SemanticData

Object

application resource

BusinessService

BusinessDocument

legacySystemIntegration

Service

application

SOI Application Architecture

Service infrastructure

BusinessProcessModel

Service Clients

ConfigLogging Manage…SLAs

Management /Monitoring

UtilityBAM

Page 6: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 6

channels enterprise

packagedapplication

SOR

DataIntegrationFramework

ODSDataMart

DW

application resource

BusinessService

ProcessSession /

Data

legacySystemIntegration

Service

infrastructure

application

SOI Technical Architecture

Enterprise Service Bus

utility

Portal

B2BBPM /

EnterpriseBus. Process

ResourceAdapter

ApplicationAdapter

SecurityService Registry

BPMService

TransactionService

ProfileService

AuditService

SLAMgmt

xformService

Page 7: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 7

Enterprise Architecture

TechnicalArchitecture

TechnicalRequirements

Application Architecture

ProgramRequirements

Architecture-Driven Design

OperationalArchitectureOperational

Requirements

DeployedService

EnterpriseRequirements

ApplicationRequirements

ApplicationAnalysis and Design

ImplementationArchitecture

ImplementationRequirements

ApplicationImplementation

BusinessArchitecture

BusinessRequirements

InformationArchitecture

InformationRequirements

Page 8: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 8

Architectural Style

Architectural Style• A set of principles, elements, patterns, and constraints designed to

meet a specific set of requirements within a specific scope • A style can be thought of as a set of constraints on an architecture –

constraints on the component types and their patterns of interaction – and these constraints define a set or family of architectures that satisfy them.”

Architectural style provides the “rules of engagement”when building an architecture. It is a set of patterns that provide guidance on the proper use of the different types of components that exist within your architecture. • The best way to convey an architectural style is via a formal model

of it, referred to as a metamodel.

*Len Bass, Paul Clements, Rick Kazman, Software Architecture in Practice, Addision Wesley. (1998)

Page 9: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 9

Provides scope which definesseparation of concerns,

responsibilities, stakeholders

TechnicalArchitecture

Application Architecture

BusinessArchitecture

Architectural Views Architectural Styles

SOA /SOI

Product, ServiceEnterprise Application,

Product Line

Stand-alone,Client-Server,3-Tier, N-TierMessage Bus

Provides a common solution toa common set of requirementswithin a specific scope

Provides a specific solution toa specific set of requirementsfor a specific enterprise

ACMEN-Tier

Architecture

ACMEProduct LineArchitecture

ACMESOA

‘ACME, Inc’ Architectureprovides

scopeprovidespatterns

Example Architectural Styles

Page 10: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 10

MetamodelsProvide rules for how to build a correct model for a particular purpose, e.g. “business integration metamodel”

UML Profile• Provides a targeted subset of UML• Standard mechanism for extending UML

Refinement and Constraint• Metamodels refine the definition of modeling elements by placing

constraints on their behavior through the use of stereotypes

Stereotypes• Standard UML Stereotypes

– <<boundary>>, <<control>>, <<entity>>

• Extending the UML Stereotypes– Inheritance used to extend and refine the meaning of stereotypes– Tagged Values use to apply specific properties

Page 11: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 11

SOI Architectural Style Metamodel“Rules of Engagement”

Metaclass Interactions

Page 12: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 12

SOI Metamodel Stereotypes

Usage

Location and purpose

Scope and visibility

Standard UMLAnalysis Stereotypes

Page 13: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 13

MDA Overview

BusinessModel

Business Analyst

Application Model

Architect / Designer

CodeDeveloper / Tester

ImplementationModel

Page 14: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 14

MDA Under the Hood

Computation IndependentModel

Platform Independent Model

Code

Platform SpecificModel

Enterprise QOS andnon-functional requirements

implemented in transformations

Architectural Standards and

Guidelines Enforced in Model Profiles

Page 15: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 15

Computation IndependentModel

Platform Independent Model

Code

Platform SpecificModel

TechnicalArchitecture

Application Architecture

BusinessArchitecture

Each Profile formally specifies a particular

architecture

SOI Business Model<<UML Profile>>

SOI Application Model<<UML Profile>>

Platform Model<<UML Profile>>

SOI Architecture Profiles

Page 16: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 16

MDA

MDA and Architecture-Driven DesignEnterprise Architecture

TechnicalArchitectureTechnical

Requirements

Application ArchitectureProgram

Requirements

OperationalArchitecture

OperationalRequirements

DeployedService

ImplementationArchitecture

ImplementationRequirements

ApplicationImplementation

IntegrationArchitectureEnterprise

Requirements

BusinessArchitecture

BusinessRequirements

InformationArchitectureInformation

RequirementsApplication

Requirements

ApplicationAnalysis and Design

Page 17: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 17

Parallel Paths of Application and Platform

Application Architect

Technology Architect

Application Design tomeet Business Functionality

Infrastructure Design tomeet QOS Requirements

Implementation

Deployment

Page 18: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 18

MBD Approaches

Elaboration• Start with CIM or PIM• (Incorporate customizable architecture)• Perform gradual refinement, with human input to PSM• Generate structure and glue code

Translation• Define detailed PIM using xUML profile• Add algorithmic logic with ALS (computationally complete)• Generate fully functional (non-modifiable) code

Both are reasonable, useful approaches at using MDA standards, but are aimed at solving different problems

Page 19: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 19

Domain Specific LanguagesDefine the construction abstractions for building solutions in a particular domain, using the concepts, terminology and notation of that domain.

Can be focused on higher level ‘business’ abstractions

Must support common tasks and patterns

Must have a well defined set of rules, called a grammar, governing the way the concepts can be combined to form expressions

The meaning of well formed expression must be well defined• Users can build models that other users understand• Tools can validate and generate implementations from models• Metadata captured by models supports tasks like configuration

Described in a formal metamodel

Might be built with a DSL

Page 20: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 20

ADD, MBD, DSL“An architectural style is a coarse grained pattern for a family of systems. It defines the kinds of components and relationships that can be used in their assembly, constraints on the way they are assembled, and assumptions about the meaning of an assembly.

Architecture Driven Design uses architectural styles as a framework for guiding design decisions

Model Based Development uses models as first class source artifacts in the development process. The models are higher level input to‘machines’ that generate other implementation artifacts.

Domain Specific Languages provide ‘easy to use’ modeling abstractions and tools, targeted at a specific domain, which conform to an architectural style, for use during MBD.

ADD, MBD, DSL…a winning combination!

Page 21: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 21

Benefits of MBD

Improves tracing between business and technology models

Separates business and technical modeling roles

Leverages the knowledge of experts to make all developers more productive

Promotes abstraction leading to better, more comprehensible designs

Improves portability to other platforms

Eases modifications to either the business or technology

Page 22: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 22

But, How do you get there?

Requirements

Platform

Tools

Methodology

Architect/AnalystDesigner

HimawariAccount System

HimawariLoan System

HimawariCredit SystemData

PBJAccount System

PBJLoan System

PBJCredit SystemData

ESB Integration Service Bus

AccountService

LoanService

CreditService

OtherServices

ESB Business Service Bus

CustomerManagement

Marketing Pricing

Channels

X

Page 23: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 23

Let’s see…Generation of Artifacts• Starting with the Application Design Model…• Validate the correctness of the model• Generate the necessary platform code to support the design• Understand how the reference architecture supports the design and code

generation

Implementation Guidance• What if you don’t know how to create a design model?• Step by step instructions for specifying design model• Overall support for development process and architecture

Page 24: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 24

Application Design Model

HimawariAccount System

HimawariLoan System

HimawariCredit System

PBJAccount System

PBJLoan System

PBJCredit System

ESB Integration Service Bus

AccountService

LoanService

CreditService

OtherServices

ESB Business Service Bus

CustomerManagementMarketing Pricing

Channels

Architecture Profiles Influence design

Page 25: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 25

Generating to an ESB Platform

HimawariAccount System

HimawariLoan System

HimawariCredit System

PBJAccount System

PBJLoan System

PBJCredit System

ESB Integration Service Bus

AccountService

LoanService

CreditService

OtherServices

ESB Business Service Bus

CustomerManagement

Marketing Pricing

Channels

Page 26: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 26

Code Generation

AZORA Reference Architecture

BusinessArchitecture Application

Architecture PlatformArchitecture

Graphical ModelingEnvironment

ProvidesReferencearchitecture

Design modelspecifies businessservices, not ESBconstructs

create SOI analysisand design models

Modelverificationensurescompliance

/**

private String servicename = null;

private com.sonicsw.xq.XQEnvelopeFactoryenvFactory = null;

private com.sonicsw.xq.XQAddressFactoryaddFactory = null;

private com.sonicsw.xq.XQMessageFactorymessageFactory = null;

public void init(com.sonicsw.xq.XQInitContextinitialContext) throws com.sonicsw.xq.XQServiceException

b2bc770a00000156 */

Generatecode

Add businesslogic in“protectedsections”

ESB Platform

‘Glue’ code

Business Logic

COTS

100%generated

Structuregenerated

Application Software Layers

Page 27: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 27

Process Workbench

Step-by-step process instructions

Guidance

Phases

Roles

Activities

Steps

WorkProducts

have

have

produce

perform

describe

template

AZORA Reference Architecture

BusinessArchitecture Application

Architecture PlatformArchitecture

Architecture Details

Browser BasedKnowledgeManagement

AZORA Methodology

Page 28: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

© Michael Rosen 2005 Slide 28

SOI Development Suite

2. Architecture

Phase

1. Business AnalysisPhase

6. Accept and DeployPhase

Deployer

Architect

AZORAReference

Architecture

Developer

4. Implementation

Phase

Tester

5. Quality Assurance

Phase

BusinessArchitecture

System Analyst

ApplicationModel

Application Architecture

PlatformArchitecture

private com.sonicsw.xq.XQEnvelopeFactoryenvFactory = null;

private com.sonicsw.xq.XQAddressFactoryaddFactory = null;

private com.sonicsw.xq.XQMessageFactorymessageFactory = null;

public void init(com.sonicsw.xq.XQInitContextinitialContext) throws com.sonicsw.xq.XQServiceException

{

/* START OF PROTECTED AREA <<Initialization Parameter>> */

GenerateCode from

Model

Designer

3. Analysis and Design

Phase

AZORA Methodology

Page 29: MDA Tool Support for SOI - OMG...• 20 years experience in distributed applications ... when building an architecture. It is a set of patterns that provide guidance on the proper

Questions