HighLevelAnalysisAndDesign (Enterprise Architecture)
HighLevelAnalysisAndDesign (Enterprise Architecture)
1
Agenda
1 Introduction
3 Architecture Blueprinting
2
What is the class about?
Textbooks:
» Software Engineering: A Practitioner’s Approach
Roger S. Pressman
McGraw-Hill Higher International
ISBN-10: 0078022126, ISBN-13: 978-0078022128, 8th Edition (01/23/14)
» Recommended:
» Code Complete: A Practical Handbook of Software Construction, 2nd Edition
» The Mythical Man-Month: Essays on Software Engineering, 2nd Edition
3
High-Level Analysis and Design in Brief
4
Icons / Metaphors
Information
Common Realization
Knowledge/Competency Pattern
Governance
Alignment
Solution Approach
55
Agenda
1 Introduction
3 Architecture Blueprinting
6
High-Level Analysis and Design
8
Reference Architecture
10
Reference Architecture Models
11
Enterprise Architecture Modeling Heuristics
Linked and
Linking and
Shared Integrating Linked Key standard Shared
Shared data automating
customers technology processes customers (core) data
technologies
processes
Diversification Replication
Few, if any, shared customers or suppliers Few, if any, shared customers
Operationally autonomous and unique business Operationally similar business units
units Independent transactions aggregated at a higher
Independent transactions level
Autonomous business units with limited discretion
over processes
12
Typical Architecture Asset Catalog and Architecture Mapping Process
Architecture Domain
Level of
Business Data Application Technical
Architecture Architecture Architecture Architecture Architecture Abstraction
Scope
Presentation
Enterprise
Conceptual
Portfolio / Logical
Domain
Physical
System
(Project)
14
Sample Architecture and Solution Engineering Asset Catalog
In this context, relevant views are those that match the phases of an
solution development life cycle
Enterprise Perspectives
Business Information Application Technology
Implementation Analysis/Design
Architecture and Solution Engineering Views
Product
Deployment
15
Conceptual business architecture framework
Business
Capabilities
Business Bond
$ $
Bond
$ $
$ $
Users
Agents/ Bond Bond Agents/ Agents/ Bond
Business B2B Partners Customers Public Business B2B Partners Agents/ Bond Agents/
Business Business B2B Partners Business B2B Partners Customers
Users Users Business B2B Partners Customers Public
Users Users Users Users
Business
Events
Business
Channels
BPM
Processes
Process
metrics
BRM
Rules
Business
Services
Business
Entities
Business Product
Events Submission Rate Quote* Bind Bill and Issue
Selection
Business Product selector, Submission data capture Rating service Binding service ePOA
Product info Questionnaire builder Quote publisher Electronic Billing configuration
Services publisher Form selector signature capture Delivery manager
Business Agent profile, Form templates, Ratable data, Rating Binding data, Policy/Bond data,
Product catalogue Form metadata, decision, Rates, Policy data Power of Attorney
Entities Submission data Quotes data, Billing data
17
Agenda
1 Introduction
3 Architecture Blueprinting
18
What is Blueprinting?
19
What is a Blueprint?
21
Why is there a Need for a Common Way to Document Architectures?
Blueprinting and UML are intended to be used together on the same project
Blueprint artifacts are used to document the end-to-end high-level designs
for projects
» Blueprints are analogous to the “city-planning” level in the building construction industry
» They enable architects to communicate the overall design of a city (project) as opposed to
the design of the individual buildings (applications) that make up the city
UML artifacts are used for software engineering tasks (e.g., architecting the
buildings)
UML Blueprinting
23
Lack of Blueprinting Standards
24
Legend Box
Sample Legend Box
Architecture Domain: Application Scope: Project
Blueprint Type: Info Flow Diagram Abstraction: Logical
State: As-Is
Revision Date: 06/14/09 Status: Working Draft
Revised By: John Doe Architect
Approved By: Jane Doe Architect
The Legend Box is a text box that must appear on all blueprints. It
is used to denote important information that is needed by the reader
to correctly interpret a blueprint. The following information is
included in the Legend Box:
Architecture Domain - Used to specify what aspect of the environment is the
subject of architecture artifact - One of the following domains must be specified:
• Business Architecture —specify this when the model depicts the company’s business
capabilities, business processes, organizational structure, major locations, or relationships
with partners and customers
• Application Architecture — specify this when the model depicts the application assets that
support business capabilities and processes
• Data Architecture —specify this when the model depicts the company’s business rules,
business data and/or information types, along with their interrelationships
• Technical Architecture —specify this when the model depicts hardware and facilities, system
software, data storage resources, networks, and other underlying technologies
• Technical architecture provide the platform that supports the activities and interfaces of the other
domains
25
Legend Box (continued)
Scope - Defines the breath (or scope of authority) for a blueprint. Several different
scopes are recognized:
• Enterprise - A model that generally depicts a company’s environment as a whole
• Portfolio - A model that depicts the architecture of a portfolio (e.g., Field Management)
• Program/Project – A model that depicts the architecture of a program or project
• Asset - A diagram that depicts the architecture of an asset
Abstraction - Refers to how far the model is removed from “practical” considerations
such as application servers, programming languages, etc
» Four different levels are recognized: Presentation, Conceptual, Logical and Physical
State – Used to answer the question: Does this model represent the current state or
some proposed future state? Three different states are typically recognized:
» As-is - the current state.
» To-be - the desired future state that is to be achieved in a specified time period (typically 12 –
24 months). In reality, the to-be state is a moving target that generally represents an
aspiration, as opposed to a fixed target that will be achieved
» Transition - a planned landing point between the current state and the to-be state
• A Transition diagram shows progress towards the future state
• Once implemented, a transition architecture represents the new As-Is and the previous current As-Is
becomes the As-Was
26
Importance of the Scope of a Blueprint
Specifying the scope of a diagram is critical because there is a direct correlation
between the scope and the amount of detail that can be depicted on a blueprint. The
reason is that the amount of generalization (e.g., simplification, feature selection,
grouping, etc.) must increase with the scope of the blueprint. The following
examples illustrate this key point:
Pgm 1
Scope = Scope = City
System/Project of
Minneapolis
1 Introduction
3 Architecture Blueprinting
28
Sample Enterprise Architecture Blueprint for Unification Operating Model
29
Sample Enterprise Architecture Blueprint for Diversification Oper. Model
30
Sample Enterprise Architecture Blueprint for Coordination Oper. Model
31
Sample Enterprise Architecture Blueprint for Replication Operating Model
32
Sample Reference Enterprise Architecture Blueprint
Process
Support Product
General Human
Components Knowledge Document Reporting
Ledger Resources Hardware Other
Authorization
33
Sample Detailed Level Business Architecture Blueprint
Channel
Management Sales Legal
Sales
Firm Commissions Suitability Financial
Compensation
Relationship Mgmt Management
FP Financial Reporting
Relationship Mgmt Service and Metrics
34
Sample High-Level Business Architecture Blueprint
Financial Mgmt
Client Focus
Risk and
Sales
Service
35
Conceptual Technology Architecture Blueprint
36
Sample Application Architecture Blueprint
Existing Assets
Services
Package
External
Custom
Contract New Business –
Party
Prospect Forms Holder Form based Process
Services
Rules
Integration (Application Bus) Navigation
Process
37
Sample Information Systems Architecture Blueprint
Sales Sales
Security Slippage
Comp Planning
Value Add
Suspense Valuations Tax
Services
Extract Transport Integration Transform Load
Services Services (Data Bus) Services Services
Enterprise
Technical Services
Contract General
Tax
Holder Ledger Scheduler Cleansing Security Enrichment MetaData
Services Services Services Services Services
38
Sample Infrastructure Architecture Blueprint
Intranet Party
Web
Browser Server
Client
Internet Product
Internet Web Interaction
Server
Contract
Integration
Pervasive
Client Security
Application
& Activities
Public or Data Bus
Private Gateway
Network
Registry
Commissions
Partner
Services
Event Other
Mgmt Components
Document
Reporting
Mgmt Content Information
Mgmt Mgmt
39
Agenda
1 Introduction
3 Architecture Blueprinting
40
Mapping Dimensions to Consider
Levels of abstraction
Breadth (i.e., architectural domain)
Depth (i.e., services/facilities needed)
Specialization (i.e., styles and related pattern)
Integration of various patterns results in
integration variants/hybrids
Mapping relies on the selection of standards and
products that implement that standard
» e.g., JEE – IBM WebSphere Application Server
41
Sample Reference Logical Application Architecture Blueprint
(OMA / SOA Hybrid)
Qualities
Channels Channels Separation of
concerns through
layering enables
Interaction Integration
Interaction Services high cohesion and
low coupling
Business Process Integration across the
Reusable Components / Services
Build-Time Services
components
Management
Application Integration
Monitoring
Qualities
Security
Qualities
Application Services
Service Integration
Services
Data Integration
Data Services
Services
Infrastructure Integration
Tools and Utilities
Security
Network Services
Network
Hardware
Qualities
42
Sample Reference Application Architecture Implementation Blueprint
(OMA/SOA Hybrid)
Public Users Clients Agents/Partners Business Users
Email VOIP Instant Messaging Thin Client Citrix Client B2B Thick Client
USPS/Phone Networks Firewall (Secure Gateway & Web I/F) Internet Intranet Intranet
Scanner
Framework
Access Control B2B Bridge
Portal UI
Authentication Email Server IM Server CAMS
IVR Server Presentation Server CSAMS
IP PBX Web Server
Fax Server Citrix Server (LDAP or SSO) Express
Translation
Polaris
Interaction Mgmt
Interaction Mgmt
Digitization Services Components Protocol Handlers Agent HQ Website Services
Redirect Link Bond
Desktop
Collaboration Validation Rules User Interface
Product UW Rating Billing Claims Acturial
Workbench Workbench Search Content Store Integration Services
Workbench Workbench Workbench Workbench
Product UW Rules Rating Billing Claims
Configuration Configuration Configuration Configuration Configuration Portal Activity Services Image Service
Applications Applications Applications Applications Applications
Prod/Ext
Portal DB Reporting
Portlets Content Repository Dowstream
Configurable Framework Interaction Workbenches Remote Servers Portal Server Applications
BPM Orchestration & Choreography Workflow/STP Engine BPM Administration I/F Policy Rule Engine Cache Rule Engine
Objects Rule Engine Update Service
Process Manager Collaboration Manager Process Metric Dashboards Mgr
Business/Workflow/Routing Rules
Role-Based Security, Monitoring, Auditing and other Management Services
Process Mgmt
Manage Work
(some shared across Bond)
BPM Core Processes
Audit Search / Look-ups Reporting Agent/Employee Maintenance Actuarial
(some shared across Bond) (some shared across Bond) (some shared across Bond) (shared across Bond) (shared across Bond)
Bond Finance Legal Compliance
Product Maintenance
(shared across Bond) (shared across Travelers)
BPM Supporting Processes
BPMS Runtime Environment
Translation Services
Augmentation, Interface COMPASS
Dependent
Messaging XML COTS Reporting Scanning
Service Invocation/ Protocols
Logging Service Investment Mgmt. Integration Rules, Lotus Notes
Service Transform. Services System System
“Side Effect” Operations Systems
Exception Req. Status 3rd Party Business Partner
Batch Service Security DMS Mgmt. DNA
Handling Tracking Svc. Services
Information Bus
(Object-Relational Mapping from BOM to EDM)
Information Mgmt
Information Mgmt
Data Data External Feeds
ECM
Translation
EDM
Services
ChoicePoint DNB
Dictionary Archival Repository
Advisen AON
Reporting Data Integration Note: See Information Management Moodys SurePath
IM Capabilities RDBMS DM/DW/BI/KM Architecture Diagram for more Details CheckFree etc.
43
Technology Products Mapped to the Reference App. Arch. Impl. Blueprint
(OMA/SOA Hybrid)
Sample Product
Event Event
Email VOIP Instant Messaging Thin Client Citrix Client B2B Thick Client
USPS/Phone Networks Firewall (Secure Gateway & Web I/F) Internet Intranet Intranet
Mapping: Scanner
Framework
Access Control B2B Bridge
Portal UI
Authentication Email Server IM Server CAMS
» JEE Standard
IVR Server Presentation Server CSAMS
IP PBX Web Server
Fax Server Citrix Server (LDAP or SSO) Express
Translation
Polaris
Interaction Mgmt
Interaction Mgmt
Digitization Services Components Protocol Handlers Agent HQ Website Services
Redirect Link Bond
» IBM
Desktop
Collaboration Validation Rules User Interface
Product UW Rating Billing Claims Acturial
Workbench Workbench Search Content Store Integration Services
Workbench Workbench Workbench Workbench
Product UW Rules Rating Billing Claims
Configuration Configuration Portal Activity Services Image Service
Configuration Configuration Configuration Prod/Ext
Product Family BPM Orchestration & Choreography Workflow/STP Engine BPM Administration I/F Policy Rule Engine Cache Rule Engine
Objects Rule Engine Update Service
» Various Third
Process Manager Collaboration Manager Process Metric Dashboards Mgr
Business/Workflow/Routing Rules
Role-Based Security, Monitoring, Auditing and other Management Services
BPM Workspace Workflow Rules Framework
Sales & Marketing Finance & Accounting Servicing
Product Development Underwriting Claim Processing
Party Products (shared across Bond) shared across Bond/Travelers) (some shared across Bond)
Process Mgmt
Process Mgmt
Manage Work
(some shared across Bond)
Translation Services
Augmentation, Interface COMPASS
Dependent
Messaging XML COTS Reporting Scanning
Service Invocation/ Protocols
Logging Service Investment Mgmt. Integration Rules, Lotus Notes
Service Transform. Services System System
“Side Effect” Operations Systems
Exception Req. Status 3rd Party Business Partner
Batch Service Security DMS Mgmt. DNA
Handling Tracking Svc. Services
Information Bus
(Object-Relational Mapping from BOM to EDM)
Information Mgmt
Information Mgmt
Data Data External Feeds
ECM
Translation
EDM
Services
ChoicePoint DNB
Dictionary Archival Repository
Advisen AON
Reporting Data Integration Note: See Information Management Moodys SurePath
IM Capabilities RDBMS DM/DW/BI/KM Architecture Diagram for more Details CheckFree etc.
44
Agenda
1 Introduction
3 Architecture Blueprinting
45
Challenges of an Architecture Continuum Catalog
46
Specialization Hierarchy for Architectures (TOGAF-Centric)
47
Reference Architecture Cataloguing Framework
Objectives:
A catalog with a scope comprehensive enough to hold all
reference architectures blueprints in a meaningful and well-
understood structure (i.e. be able to accommodate different types
of reference architectures blueprints)
A set of processes to access and maintain the catalog as well as
the reference architectures in the catalog, so the reference
architecture blueprints could be easily preserved and reused,
providing the following functions:
Retrieve a specific reference architecture at any time, given the
dimension specifications
Searchable given any dimension specifications
Allow adding variants to any existing reference architecture
Extendable in terms of new options (attributes) in each
dimensions
48
Reference Architecture Cataloguing Framework Dimensions
Although we show only 3 basic dimensions here, one could extend this to n dimensions
- An architecture in this catalog will have coordinates (x1, x2, x3,…, xn)
(Integration Patterns, etc.)
Architectural Styles
49
Reference Architecture Cataloguing Framework Dimensions
50
Reference Architecture Catalogue Processes
Dimensions Selection
51
Reference Architecture Cataloguing Framework at Work
Sample from Joint NYU-CTS ITP Project (Fall 2009)
52
Agenda
1 Introduction
3 Architecture Blueprinting
53
Summary – Key High-Level Analysis and Design Objectives
54
Course Assignments
Individual Assignments
Reports based on case studies / class presentations
Project-Related Assignments
All assignments (other than the individual assessments) will
correspond to milestones in the team project.
As the course progresses, students will be applying various
methodologies to a project of their choice. The project and related
software system should relate to a real-world scenario chosen by each
team. The project will consist of inter-related deliverables which are
due on a (bi-) weekly basis.
There will be only one submission per team per deliverable and all
teams must demonstrate their projects to the course instructor.
A sample project description and additional details will be available
under handouts on the course Web site
55
Team Project
Project Logistics
Teams will pick their own projects, within certain constraints: for instance,
all projects should involve multiple distributed subsystems (e.g., web-
based electronic services projects including client, application server, and
database tiers). Students will need to come up to speed on whatever
programming languages and/or software technologies they choose for their
projects - which will not necessarily be covered in class.
Students will be required to form themselves into "pairs" of exactly two (2)
members each; if there is an odd number of students in the class, then one
(1) team of three (3) members will be permitted. There may not be any
"pairs" of only one member! The instructor and TA(s) will then assist the
pairs in forming "teams", ideally each consisting of two (2) "pairs", possibly
three (3) pairs if necessary due to enrollment, but students are encouraged
to form their own 2-pair teams in advance. If some students drop the
course, any remaining pair or team members may be arbitrarily reassigned
to other pairs/teams at the discretion of the instructor (but are strongly
encouraged to reform pairs/teams on their own). Students will develop and
test their project code together with the other member of their programming
pair.
56
Team Project Approach - Overall
58
Assignments & Readings
Readings
Slides and Handouts posted on the course web site
Textbook: Part Two-Chapter 5
Individual Assignment (due)
See Session 3 Handout: “Assignment #1”
Individual Assignment (assigned)
Sess Session 5 Handout: “Assignment #2”
Team Project #1 (ongoing)
Team Project proposal (format TBD in class)
See Session 2 Handout: “Team Project Specification” (Part 1)
Team Exercise #1 (ongoing)
Presentation topic proposal (format TBD in class)
Project Frameworks Setup (ongoing)
As per reference provided on the course Web site
59
Any Questions?
60
Next Session: Detailed-Level Analysis and Design
61