21
Copyright © M 2 VP Inc. 2003, All rights reserved Implementing Implementing Enterprise Enterprise Architecture with MDA Architecture with MDA Mike Rosen CTO, M²VP [email protected]

Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc. 2003, All rights reserved

Implementing Implementing Enterprise Enterprise

Architecture with MDAArchitecture with MDA

Mike RosenCTO, M²VP

[email protected]

Page 2: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Agenda

§ What is Enterprise Architecture?§ What does it mean to implement it?§ How does MDA help?

Page 3: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Enterprise Architecture

§ Enterprise Architecture – A set of architectures, which taken together, provide a complete view of an organization

§ Architecture must achieve three primary goals:1.Describe a solution to a specific set of problems and

requirements2.Effectively communicate the solution to all

stakeholders3.Enable the construction of systems that conform to

the architecture

Page 4: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Architecture Principles

§ Separation of Concerns - The architecture should separate the requirements and concerns of different constituents.– Business– Enterprise Integration– Technical Infrastructure– Applications and Products– Operations– Implementation

Page 5: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Enterprise Architecture

TechnicalArchitecture

TechnicalRequirements

Application Architecture

ProgramRequirements

BusinessModel

BusinessRequirements

EnterpriseRequirements Integration

Architecture

ApplicationRequirements

ApplicationAnalysis and Design

ImplementationArchitecture

ImplementationRequirements

ApplicationImplementation

OperationalArchitecture

OperationalRequirements

DeployedService

Architecture Driven Design

Page 6: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

EnterpriseInfrastructure

Capability

ApplicationArchitecture

describes howapplications

use a capability

TechnicalArchitecture

describes howthe infrastructure

implements the capability

OperationsArchitecture

describes how thecapability is used tosupport operations

Architectural Relationships

Page 7: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Design: Describes specific items and relationships,

Applies to a single product or application.

A N

Enterprise Architecture:Describes concerns and guidelinesfor integration of process and data

across the entire enterprise.Applied to many application domains.

Application Architecture:Describes abstract concepts,

things and relationships within the application domain.

Applies to many productsor applications.

A1 N1 Nn

Architecture Scope

Page 8: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Architectural Style

§ Architectural Style – A set of principles, elements, patterns, and constraints designed to meet a specific set of requirements within a specific scope.§ Typical Styles:

– Client / Server, 3-tier, n-tier– Product Line– EAI

§ Two companies in the same line of business using the same development and deployment platforms will have different architectures conforming to the same architectural style.

Page 9: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

TechnicalArchitecture

Application Architecture

IntegrationArchitecture

Architectural Types Architectural Styles

EAI,SOA

Product,Enterprise Application,

Product Line

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

Provides scope which definesseparation of concerns,responsibilities, stakeholders

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

Architectural Styles

Page 10: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

MDA Distilled

Computation IndependentModel

Business Analyst

Platform Independent Model

Architect / Designer

CodeDeveloper / Tester

Platform SpecificModel

Page 11: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

MDA Mappings

Computation IndependentModel

Platform Independent Model

Code

Platform SpecificModel

PIM PIM Mapping

PIM PSM Mapping

PSM PSM Mapping

PSM Code Mapping

Page 12: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

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 13: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Metamodels§ Provide 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 14: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Sample Web Implementation

legacysystems

WebServerWeb

ServerCustomerCustomer

ExistingFunctionsExisting

Functions

ExistingFunctionsExisting

Functions

Page 15: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

.

.

.

user enterpriseworkspace resource

AuthorizationService

ConfigurationService

BPMService

LoggingService

ProfileService

PersistenceService

Sample Web Architecture

application

services

infrastructureApplication Platform

ResourceAdapter

SystemEntity

packagedapplication

DomainService

Appl.Service

Present.Controller

PresentationClient

legacySystem

ApplicationAdapter

BusinessService

UserProfile

Appl.Session

Page 16: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Metamodel Stereotypes

service

application service<<stereotype>>

domain service<<stereotype>>

business service<<stereotype>>

presentation controller<<stereotype>>

application session<<stereotype>>

business entity<<stereotype>>

boundary<<stereotype>>

ER controller<<stereotype>>

IT service<<stereotype>>

presentation client<<stereotype>>

Class Diagram: Metamodel / Metaclass Interactions

session contextdata

session process

control<<stereotype>>

state{transient} {long lived}

Behavior

entity<<stereotype>>

{persistent}

{state & composition

control}

Usage

Scope and visibility

Location and purpose

Standard UML Stereotypes

Courtesy Terry MerrimanCourtesy Terry Merriman, ©2003

Page 17: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

Presentation Tier Application Tier

Enterprise Tier

IT Services

Resource Tier

Metaclass InteractionsER controller

Control the state and relationships among entities()

business service

Expose business functionality()Call domain services to do the processing()Aggregate results of Domain Services()

system entityPersists data beyond a session()Has behavior specific only to its internal state()

state/relationship verification/propagation

composition control

Technology ResourceRDBMSRules EngineTransaction Monitoretc.

presentation clientDisplay information()Receive user's input()

External Systems preferred

domain service

Process domain specific algorithms()Control resouces of the domain()Visible only within the domain()

discouraged

requests of other domains

domain service requests

information retrieval/update

IT serviceSecurityLoggingProfilingPersistenceTransactionsetc.

Control access to technology()

technology requests

technology requests

interaction with technology

products

presentation controllerFormat data for presentation()Control local navigation()

send user input

post updates

application service

Access back end services()Performed shared application logic()Expose application logic()

discouraged

domain service requests

IT service requests

application sessionControl the flow of the user session()Massage data for viewing or processing()forward user

interactions

send data to user

request processing

Web Architectural Style Metamodel“Rules of Engagement”

Courtesy Terry Merriman, ©2002

Page 18: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

MDA Profiles

§ Computational Independent Model– Business-oriented non-UML representation. Simplified

UML subset appropriate for business analysts.

§ Platform Independent Model– Custom profiles for enterprise architecture and

standards– Standard based profiles (EDOC, EAI)

§ Platform Specific Model– Standards based profiles (CORBA, EJB, .NET)

Page 19: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

MDA Process Revisited

Computation IndependentModel

Business Analyst

Platform Independent Model

Architect / Designer

CodeDeveloper / Tester

Platform SpecificModel

MDA Architect

Page 20: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc, 2003, All rights reserved

APSL Enterprise Process

1. Define the approach– Integrate enterprise architecture

into the development process.

Ø Create meta-models and profiles

2. Define the problemØ Create Business Models (Domain,

CIM, System)

3. Define the solutionØ Refine into PIMs and PSMs

4. Leverage the results– Integrate assets into a reuse

repository

– Architecture and design accommodates: reuse, customization, enhancements, versioning…

Define the Approach

Define the Problem

Define the Solution

Leverage the Solution

Con

tinuo

us F

eedb

ack

Iterative Developm

ent

Page 21: Enterprise Architecture with MDA v01 - OMG · Architecture Application Architecture Integration Architecture Architectural Types Architectural Styles EAI, SOA Product, Enterprise

Copyright © M 2VP Inc. 2003, All rights reserved

QuestionsQuestions

To learn more: www.omg.org/fast-start