Copyright © M 2VP Inc. 2003, All rights reserved
Implementing Implementing Enterprise Enterprise
Architecture with MDAArchitecture with MDA
Mike RosenCTO, M²VP
Copyright © M 2VP Inc, 2003, All rights reserved
Agenda
§ What is Enterprise Architecture?§ What does it mean to implement it?§ How does MDA help?
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
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
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
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
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
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.
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
Copyright © M 2VP Inc, 2003, All rights reserved
MDA Distilled
Computation IndependentModel
Business Analyst
Platform Independent Model
Architect / Designer
CodeDeveloper / Tester
Platform SpecificModel
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
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
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
Copyright © M 2VP Inc, 2003, All rights reserved
Sample Web Implementation
legacysystems
WebServerWeb
ServerCustomerCustomer
ExistingFunctionsExisting
Functions
ExistingFunctionsExisting
Functions
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
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
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
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)
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
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
Copyright © M 2VP Inc. 2003, All rights reserved
QuestionsQuestions
To learn more: www.omg.org/fast-start