Post on 10-May-2015
description
© 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 Carolinaarman.atashi@bcbsnc.com
Host: Roger Snook IBM, Rational softwareWorldWide Enablement Leader, Offering, Strategy, Delivery Team, +1.703.943.1170, RCSnook@us.ibm.com2012 September 14
© 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
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
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
5
M3 Methodology :: Modeling Challenge
Effectively describe, specify, and reflect the target Software Architecture!
Architecture
Requirements
Implementation
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
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.
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
9
Framework Components
Modeling Workflow
Integration Model
View Aggregation
Modeling Notation
Modeling Environment33™
MDA Principles and Disciplines Context for Enterprise Modeling
M3 Framework
Components
10
Agenda
• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture
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
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
© 2012 IBM Corporation
IBM Rational software
13
www.ibm/software/rational
14
Agenda
• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture
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)
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
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
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
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
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
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.
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
23
Agenda
• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture
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
25
RSA Model Dependencies
26
RSA Model Dependencies
27
RSA Model Dependencies
28
Agenda
• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Method Summary• The Big Picture
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
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
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
32
Agenda
• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Integration Model & View Aggregation• Model Ownership & Framework Summary• The Big Picture
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
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
35
Agenda
• Basic Concepts• UML & MDA Usage• Modeling Context• RSA Model Template• Model Ownership & Method Summary• View Integration & Integration Model• The Big Picture
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
© 2012 IBM Corporation
IBM Rational software
37
www.ibm/software/rational
© 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