Model Runway: Design Best Practices at BlueCross BlueShield

38
© 2012 IBM Corporation IBM Rational software Good Design is Good Business Series (developerWorks) “Model Runway:” Design Best Practices at BlueCross BlueShield Guest Speaker: Arman Atashi Senior Application Architect BlueCross BlueShield of North Carolina [email protected] Host: Roger Snook IBM, Rational software WorldWide Enablement Leader, Offering, Strategy, Delivery Team, +1.703.943.1170, [email protected] 2012 September 14

description

From the developerWorks series, Good Design is Good Business: https://www.ibm.com/developerworks/mydeveloperworks/blogs/669242b1-dd91-4d63-a08f-231314c793bb/entry/model_runway_see_the_latest_design_best_practices_at_bluecross_blueshield24?lang=en

Transcript of Model Runway: Design Best Practices at BlueCross BlueShield

Page 1: Model Runway: Design Best Practices at BlueCross BlueShield

© 2012 IBM Corporation

IBM Rational software

Good Design is Good Business Series (developerWorks)

“Model Runway:” Design Best Practices at BlueCross BlueShield Guest Speaker: Arman AtashiSenior Application ArchitectBlueCross BlueShield of North [email protected]

Host: Roger Snook IBM, Rational softwareWorldWide Enablement Leader, Offering, Strategy, Delivery Team, +1.703.943.1170, [email protected] September 14

Page 2: Model Runway: Design Best Practices at BlueCross BlueShield

© 2012 IBM Corporation

IBM Rational software

Agenda

Good Design is Good Business

– Value of M3:

• Consistency in communication, standards

• Simplified collaboration

• Minimizes unproductive ‘noise’

• Productivity increase approximately 25%

• Helps address compliance needs

Today is Part 1 of 3

– Part 2: Was 5 October now rescheduled for 28 September 2012

– Part 3: 26 October

Page 3: Model Runway: Design Best Practices at BlueCross BlueShield

3

Agenda

• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture

System Modeling with M3 - Session 1: Overview

Page 4: Model Runway: Design Best Practices at BlueCross BlueShield

4

What is M3 ?• This session provides an insight into M3 (Modeling at 3 levels), a disciplined

agile system modeling framework and workflow based on Object Management Group model driven architecture guidelines and unified modeling language notation and utilizing IBM Rational Software Architect, IBM Rational Team Concert, and IBM Rational Software Architect Design Manager

M3 modeling methodology has been created around three broad strategies: Apply fundamentals of model driven service-oriented architecture and unified

modeling language to modeling enterprise software architecture

Address the increasing complexity in enterprise integration architecture and business capabilities

Support both top-down and bottom-up approaches and manage and reuse architectural models and assets throughout their lifecycle

Page 5: Model Runway: Design Best Practices at BlueCross BlueShield

5

M3 Methodology :: Modeling Challenge

Effectively describe, specify, and reflect the target Software Architecture!

Architecture

Requirements

Implementation

Page 6: Model Runway: Design Best Practices at BlueCross BlueShield

6

Us

e

Ca

se

D

riv

en

Software Development Methodology

Requirements Analysis and Design

RSAUML/MDA Model Templates

FIPER Web I/F (WebTop)

(HTML/XML)Service Oriented

FIPER Events / Messages (FIPER Topics)

(JMS)Component Based

Object Oriented

Mo

de

l D

riv

en

Arc

hit

ec

ture

Use Case Driven:

• Capture functional (user perspective) and non-functional product requirements as well as business/process rules.

• A form of requirements modeling that involves defining the target system boundary by finding actors and use cases and their relationships.

Model Driven Architecture:

• A model -based business-focused software architecture that calls for the development of a number of architectural models in order to effectively describe the architecture.

• Enables the modeling, planning, and development of enterprise software systems in a way that conforms to the chosen architecture.

M3 Methodology :: The Approach

Page 7: Model Runway: Design Best Practices at BlueCross BlueShield

7

M3 Methodology :: Modeling Concepts• Systems Modeling

• Is the interdisciplinary study of the use of models to conceptualize and construct physical systems in business and IT development.

• Model• Captures a view of a physical system. It is an abstraction of

the physical system, with a certain purpose at the appropriate level of detail.

• Diagram• Is a partial graphical representation of a system's model.

• Systems Modeling Methods• Flow Charts ,Functional Block, and Data Flow Diagrams! • Business Process Modeling• Logical/Physical Data Modeling• Domain Modeling• Model Driven Architecture (MDA)• Etc.

Page 8: Model Runway: Design Best Practices at BlueCross BlueShield

8

M3 Framework• M3 framework identifies five components necessary for developing and

maintaining enterprise models

Modeling Workflow

M3 Framework

Components Integration Model

View Aggregation

Modeling Notation

Modeling Environment

33

Page 9: Model Runway: Design Best Practices at BlueCross BlueShield

9

Framework Components

Modeling Workflow

Integration Model

View Aggregation

Modeling Notation

Modeling Environment33™

MDA Principles and Disciplines Context for Enterprise Modeling

M3 Framework

Components

Page 10: Model Runway: Design Best Practices at BlueCross BlueShield

10

Agenda

• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture

Page 11: Model Runway: Design Best Practices at BlueCross BlueShield

11

UML Usage• UML 2.3 has 14 types of diagrams

– Seven diagram types represent structural information – Seven diagram types represent general types of behavior– M3 uses a subset, four structural and four behavioral diagrams

Diagram CIM PIM PSM ISMPackage

State Machine

Use Case

Activity

Class

Sequence

Component

Deployment

M3 UML Diagram Usage

Page 12: Model Runway: Design Best Practices at BlueCross BlueShield

12

MDA Principles• The models and modeling activities utilize a domain-focused multi-view

approach to architecture representation, as defined by ANSI/IEEE 1471-2000, OMG UML 2.0 and MDA specifications

• A viewpoint on a system is an abstraction technique that focuses on a particular concern within the system to establish a simplified model

• MDA specifies three viewpoints on a system; – Computational independent – Platform independent– Platform specific

• A view or a viewpoint model is a representation of a set of system elements, parts, connectors, and relations associated with them conforming to the viewpoint

Page 13: Model Runway: Design Best Practices at BlueCross BlueShield

© 2012 IBM Corporation

IBM Rational software

13

www.ibm/software/rational

Page 14: Model Runway: Design Best Practices at BlueCross BlueShield

14

Agenda

• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture

Page 15: Model Runway: Design Best Practices at BlueCross BlueShield

15

M3 Terms and ConceptsM3 Terms and ConceptsMDA Terms and ConceptsMDA Terms and Concepts

Business Process Model

Platform Model

Context for Enterprise Modeling

System Model(Business, IT, Integration, etc.)

Problem domain, business context, requirements and concepts, business roles and collaborations

Business types and objects, interfaces, components, services, messages, and data

Data model, software platform, software implementation and deployment specifications

Computation Independent Model (CIM)

Computation Independent Model (CIM)

Platform IndependentModel (PIM)

Platform IndependentModel (PIM)

Platform Specific Model (PSM)

Platform Specific Model (PSM)

scripts (DDL/SQL, etc.), code (java, C#, etc.), configurations (XSL, WSDL, deployment files, etc.)

Platform Specific Implementation (PSI)

Platform Specific Implementation (PSI)

Platform ModelSubsystems, technology, and

technical concepts

Platform ModelSubsystems, technology, and

technical concepts

Business Model(The Outside)

Business Model(The Outside)

Logical System Model(The Edge)

Logical System Model(The Edge)

Technology Spec. Model(The Inside)

Technology Spec. Model(The Inside)

Page 16: Model Runway: Design Best Practices at BlueCross BlueShield

16

M3 and Generic SDLC

M3 MDA Models

Use Case Model Activity ModelDomain Model

Computation Independent Model (CIM)

Component ModelType Model

Platform Independent Model (PIM)

Service Model

Runtime Model Deployment ModelData Model

Platform Specific Model (PSM)

Platform Specific Implementation (PSI)

<<artifact>>Script

<<artifact>>Code

<<artifact>>Configuration

Requirements Analysis Specification

Architectural Design Specification

Implementation Deployment Specification

High Level Design Model

Construction & Assembly

Detailed Design Model

Business Requirements

Requirements Model

Test & Deployment

Implementation Artifacts

Page 17: Model Runway: Design Best Practices at BlueCross BlueShield

17

CIM: Level 1 Model• M3 CIM captures business requirements in the language that is familiar to the end

user of the solution and the business domain experts

Use Case Model Activity ModelDomain Model

Computation Independent Model (CIM)

Domain Model describes the problem domain in terms of

business concepts and reflects a precise model of domain

vocabularies and terminologies

Use Case Model describes functionality of a system in terms of use cases/user tasks/actions showing

interactions between the users and the system

Activity Model describes behaviors of a system in terms of activities, actions, controls,

and data flows reflecting organizational structures,

business processes, work flows, and procedures

Page 18: Model Runway: Design Best Practices at BlueCross BlueShield

18

CIM Workflow

Model Business Concepts

Identify & Model Use Cases

Business Process Model

Business Requirements

Domain Knowledge

Model System Boundaries

Domain Model Use Case Model

External System Model

Business Features

Business Architecture Model

Model Business Scenarios

Activity Model

Page 19: Model Runway: Design Best Practices at BlueCross BlueShield

19

PIM: Level 2 Model• M3 PIM specifies the solution that is not tied to the choice of a specific

computing platform; however it must comply with the system requirements specified in the CIM

Component Model Service ModelType Model

Platform Independent Model (PIM)

Type Model specifies domain objects in terms of types, attributes, associations,

collaborations, and is used to discover core business types

and business interfaces

Component Model specifies the scope, responsibilities, and

supported interfaces for the discovered components, and

the way their services are composed to support the

system

Service Model specifies services which provide reusable

business functionality and includes services that are

affected by the components and interfaces specified in the

component model

Page 20: Model Runway: Design Best Practices at BlueCross BlueShield

20

PIM Workflow

Identify Interface Operations

Model Services

Model Components & their Interactions

Component Model

Service Model

Discover Business Types

Type Model

Domain Model

Use Case Model

Activity Model

Use Case Model

Page 21: Model Runway: Design Best Practices at BlueCross BlueShield

21

PSM: Level 3 Model• M3 PSM specifies system implementation and design in the form of

platform-dependent model that adds details to the PIM for a specific computing platform, and specifies how that system uses the selected platform

Runtime Model Deployment ModelData Model

Platform Specific Model (PSM)

Data Model represents the structure and relationship of

data in information repositories, and shows the persisted entities in their corresponding domains and the relationships amongst

persisted elements

Runtime Model illustrates the structure of the elements that

have runtime presence such as threads, processes, DLLs, objects, components, etc.

during their execution and their interactions

Deployment Model depicts how the system is deployed to

hardware infrastructure and how the system artifacts are

gathered in the file system including the structure of

directories, files, etc.

Page 22: Model Runway: Design Best Practices at BlueCross BlueShield

22

PSM Workflow

Identify Deployment Characteristics

Instantiate Components

Allocate Components to Modules & Nodes

Deployment Model

Runtime Model

Construct Logical Data Model

Data Model

Type Model Service Model

Component Model

TechnologyPlatform

Component Model

TechnologyPlatform

Page 23: Model Runway: Design Best Practices at BlueCross BlueShield

23

Agenda

• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture

Page 24: Model Runway: Design Best Practices at BlueCross BlueShield

24

• Each M3 model is a distinct model (emx file) in RSA• M3 models are published from RSA to RTC

Modeling Environment

RSA M3 Model Templates

Page 25: Model Runway: Design Best Practices at BlueCross BlueShield

25

RSA Model Dependencies

Page 26: Model Runway: Design Best Practices at BlueCross BlueShield

26

RSA Model Dependencies

Page 27: Model Runway: Design Best Practices at BlueCross BlueShield

27

RSA Model Dependencies

Page 28: Model Runway: Design Best Practices at BlueCross BlueShield

28

Agenda

• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Method Summary• The Big Picture

Page 29: Model Runway: Design Best Practices at BlueCross BlueShield

29

Integration Model• M3 extends MDA viewpoints and defines an independent model, Integration

Specific Model (ISM), that has no dependencies with other three models– ISM reflects the Enterprise Integration viewpoint of the system– Models are extracted from the three M3 Models (CIM, PIM, and PSM)

• Three supported models/levels of integration are specified in ISM– Business, Interface, and Platform integration models

M3 Integration Model

<<Integration Level>>Interface

<<Integration Level>>Platform

<<Integration Level>>Business

Integration Specific Model (ISM)

Subset of the CIM, includes business, process, and workflow

integration models

Subset of the PIM, includes technology independent component and service

interfaces integration models

Subset of the PSM, includes services, distributed objects and

components, data exchange formats, application

programming interfaces, and data access integration models

Page 30: Model Runway: Design Best Practices at BlueCross BlueShield

30

• The model structures and cross-model interrelationships form the basis of M3 view aggregation

• View aggregation is achieved by assembling M3 UML packages• The aggregated views present the information in other meaningful ways to

different stakeholders reflecting four key scopes of Enterprise Architecture

View Aggregation

Business Architecture

Information Architecture

Application Architecture

Technical Architecture

Enterprise Architecture

Page 31: Model Runway: Design Best Practices at BlueCross BlueShield

31

View Aggregation• Enterprise Architecture M3 UML Package Composition

Enterprise Architecture

<<CIM>>Activity Model

<<CIM>>Use Case Model

<<CIM>>Domain Model

<<PIM>>Service Model

<<PSM>>Data Model

<<PIM>>Type Model

<<CIM>>Domain Model

<<PSM>>Runtime Model

<<PSM>>Data Model

<<PIM>>Component Model

<<PSM>>Deployment Model

<<PSM>>Deployment Model

<<PSM>>Data Model

Business Architecture

Information Architecture

Application Architecture

Technical Architecture

Page 32: Model Runway: Design Best Practices at BlueCross BlueShield

32

Agenda

• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture

Page 33: Model Runway: Design Best Practices at BlueCross BlueShield

33

Model Ownership and Collaboration

M3 Model RSA Model Package Owner Role Collaborator Role

CIM – The Outside Activity ModelUse case ModelDomain Model

Application System Analyst Business AnalystProject Lead Architect

PIM – The Edge Component ModelType ModelService Model

Project Lead Architect Domain Architect

PSM – The Inside Runtime ModelDeployment ModelData Model

Application System Designer Project Lead ArchitectData Modeler

ISM – The Extension BusinessInterfacePlatform

Project Lead Architect Domain Architect

Page 34: Model Runway: Design Best Practices at BlueCross BlueShield

34

Methodology SummaryRSA Model Project

Templates M3 Models

Activity Model

CIM

Use Case Model

Domain Model

Component Model

PIM

Type Model

Service Model

Runtime Model

PSM

Deployment Model

Data Model

Platform

ISM

Business

Interface

UML Diagrams Used in Models

Component Class Sequence

Deployment

Class

Use Case

Class

Activity

Class

Sequence

Package

Package & State Machine diagrams may be used in

all models

State Machine

PIM Diagrams

CIM Diagrams

PSM Diagrams

Roles & Responsibilities

Collaborator OwnerRequirements Analysis Specification

Architectural Design Specification

Implementation Deployment Specification

Modeling Workflow

Models describe the problem domain and business requirements

Focus is UML behavioral modeling

Models specify supported and required, interfaces, components, and services

Focus is UML structural and interaction modeling

Models describe software implementation and deployment for the selected computing platform

Focus is UML structural modeling

Enterprise Integration Specification

Models are subsets of CIM, PIM, PSM, and describe supported levels of integration

CIM

T

he

Ou

tsid

e L

eve

l 1

PIM

T

he

Ed

ge

L

eve

l 2

PS

M

Th

e I

ns

ide

L

eve

l 3

ISM

T

he

Ex

ten

sio

n

Inte

gra

tio

n L

ev

els

Page 35: Model Runway: Design Best Practices at BlueCross BlueShield

35

Agenda

• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Model Ownership & Method Summary• View Integration & Integration Model• The Big Picture

Page 36: Model Runway: Design Best Practices at BlueCross BlueShield

36

A complete framework for enterprise modeling, integration, and architecture representation

M3 MDA Models

Use Case Model Activity ModelDomain Model

Computation Independent Model (CIM)

Component ModelType Model

Platform Independent Model (PIM)

Service Model

Runtime Model Deployment ModelData Model

Platform Specific Model (PSM)

M3 Integration Model

<<Integration Level>>Interface

<<Integration Level>>Platform

<<Integration Level>>Business

Integration Specific Model (ISM)

33ModelingMethodolog

y

Enterprise Architecture

<<EA>>Business

<<EA>>Information

<<EA>>Application

<<EA>>Technical

Page 37: Model Runway: Design Best Practices at BlueCross BlueShield

© 2012 IBM Corporation

IBM Rational software

37

www.ibm/software/rational

Page 38: Model Runway: Design Best Practices at BlueCross BlueShield

© 2012 IBM Corporation

IBM Rational software

38

© Copyright IBM Corporation 2011. All rights reserved. The information contained in these materials is provided for informational purposes only, and is provided AS IS without warranty of any kind, express or implied. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, these materials. Nothing contained in these materials is intended to, nor shall have the effect of, creating any warranties or representations from IBM or its suppliers or licensors, or altering the terms and conditions of the applicable license agreement governing the use of IBM software. References in these materials to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Product release dates and/or capabilities referenced in these materials may change at any time at IBM’s sole discretion based on market opportunities or other factors, and are not intended to be a commitment to future product or feature availability in any way. IBM, the IBM logo, Rational, the Rational logo, Telelogic, the Telelogic logo, and other IBM products and services are trademarks of the International Business Machines Corporation, in the United States, other countries or both. Other company, product, or service names may be trademarks or service marks of others.

www.ibm/software/rational