Implementing Enterprise Architecture with MDA

Size: px
Start display at page:

Download "Implementing Enterprise Architecture with MDA"

Transcription

1 Implementing Enterprise with MDA Mike Rosen CTO, M²VP Copyright M 2 VP Inc. 2003, All rights reserved

2 Agenda What is Enterprise? What does it mean to implement it? How does MDA help?

3 Enterprise Enterprise A set of architectures, which taken together, provide a complete view of an organization must achieve three primary goals: 1.Describe a solution to a specific set of problems and requirements 2.Effectively communicate the solution to all stakeholders 3.Enable the construction of systems that conform to the architecture

4 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

5 Driven Design Enterprise Business Requirements Business Enterprise Requirements Integration Application Requirements Program Requirements Application Application Analysis and Design Technical Requirements Technical Application Implementation Implementation Requirements Operational Requirements Implementation Operational Deployed Service

6 Architectural Relationships Application Operations describes how applications use a capability Enterprise Infrastructure Capability describes how the capability is used to support operations describes how the infrastructure implements the capability Technical

7 Scope Enterprise : Describes concerns and guidelines for integration of process and data across the entire enterprise. Applied to many application domains. A N Application : Describes abstract concepts, things and relationships within the application domain. Applies to many products or applications. A1 N1 Nn Design: Describes specific items and relationships, Applies to a single product or application.

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

9 Architectural Styles Architectural Types provides scope Architectural Styles provides patterns ACME, Inc Integration EAI, SOA ACME SOA Application Product, Enterprise Application, Product Line ACME Product Line Technical Stand-alone, Client-Server, 3-Tier, N-Tier Message Bus ACME N-Tier Provides scope which defines separation of concerns, responsibilities, stakeholders Provides a common solution to a common set of requirements within a specific scope Provides a specific solution to a specific set of requirements for a specific enterprise

10 MDA Distilled Business Analyst Computation Independent Platform Independent Architect / Designer Platform Specific Developer / Tester Code

11 MDA Mappings Computation Independent PIM PIM Mapping Platform Independent PIM PSM Mapping PSM PSM Mapping Platform Specific PSM Code Mapping Code

12 MDA Under the Hood Computation Independent Architectural Standards and Guidelines Enforced in Profiles Platform Independent Enterprise QOS and non-functional requirements implemented in transformations Platform Specific Code

13 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

14 Sample Web Implementation Web Web Server Existing Functions Customer legacy systems Existing Functions

15 Sample Web user workspace enterprise resource Domain Service Application Adapter legacy System Presentation Client Present. Controller Appl. Service Business Service application. Appl. Session User Profile System Entity Resource Adapter packaged application services Authorization Service Profile Service BPM Service Persistence Service Configuration Service Logging Service infrastructure Application Platform

16 Metamodel Stereotypes Standard UML Stereotypes boundary control Behavior {state & composition control} Usage Class Diagram: Metamodel / Metaclass Interactions data session context service session {transient} state {long lived} process {persistent} presentation client business service application service presentation controller application session entity domain service IT service Location and purpose business entity ER controller Scope and visibility Courtesy Courtesy Terry Terry Merriman, Merriman 2003

17 Web Architectural Style Metamodel Rules of Engagement Metaclass Interactions Enterprise Tier External Systems preferred ER controller Control the state and relationships among entities() Presentation Tier Application Tier send data to user presentation controller Format data for presentation() Control local navigation() forward user interactions application session Control the flow of the user session() Massage data for viewing or processing() request processing business service Expose business functionality() Call domain services to do the processing() Aggregate results of Domain Services() requests of other domains domain service requests state/relationship verification/propagation post updates send user input discouraged domain service Process domain specific algorithms() Control resouces of the domain() Visible only within the domain() information retrieval/update presentation client Display information() Receive user's input() application service Access back end services() Performed shared application logic() Expose application logic() discouraged domain service requests system entity Persists data beyond a session() Has behavior specific only to its internal state() composition control technology requests IT Services IT service technology requests IT service requests Security Logging Profiling Persistence Transactions etc. Control access to technology() interaction with technology products Resource Tier Technology Resource RDBMS Rules Engine Transaction Monitor etc. Courtesy Terry Merriman, 2002

18 MDA Profiles Computational Independent Business-oriented non-uml representation. Simplified UML subset appropriate for business analysts. Platform Independent Custom profiles for enterprise architecture and standards Standard based profiles (EDOC, EAI) Platform Specific Standards based profiles (CORBA, EJB,.NET)

19 MDA Process Revisited Business Analyst Computation Independent MDA Architect Platform Independent Architect / Designer Platform Specific Developer / Tester Code

20 APSL Enterprise Process Define the Approach 1. Define the approach Integrate enterprise architecture into the development process. Iterative Development Define the Problem Define the Solution Continuous Feedback Create meta-models and profiles 2. Define the problem Create Business s (Domain, CIM, System) 3. Define the solution Refine into PIMs and PSMs 4. Leverage the results Integrate assets into a reuse repository Leverage the Solution and design accommodates: reuse, customization, enhancements, versioning

21 Questions To learn more: Copyright M 2 VP Inc. 2003, All rights reserved