Architecture Reference Model · Software Architecture Stakeholders Owners & Customers Managers &...

1
Directives Principle Policy Rule Aims Architecture Modelling Concepts Goal Driver Vision Mission Objective Requirement Requirement Types Regulatory Functional Audit Waterfall Iterative Agile Concern View Point ISO/IEC 42010 View PtP RPC DO SOA REST EDA Intro Agent Mediator Non-Functional Development Lifecycles Communication & Interoperation Styles Solution levels Solution Vision Solution Outline Solution to Build Architecture levels Enterprise Architecture Solution Architecture Software Architecture Stakeholders Owners & Customers Managers & designers Builders & Operators Description Deliverable Artifact Entity Plans Strategy Programme Project Specific, Measurable, Actionable, Realistic, Timebound Standards e.g. CMMI (capability maturity) & ISO/IEC 27001 (security) Behaviour Data Architecture Applications Architecture BDM LDM Data Store CDM Data Flow User App Platform App Networked Computer Broker App Data App Business Services Use Cases Automated Business Services Automated Data Services ||| RM TRM Platform Services Business Process Organisation Unit Business Architecture Infrastructure Architecture Enterprise Business Organisation Structure Service Interface Process External Internal Component Architecture Domains Service Oriented Architecture Abstraction Composition Decomposition Generalisation Specialisation Idealisation Realisation Conceptual Model Logical Model Physical Model Concretion or Elaboration Architecture Reference Model for Enterprise and Solution Architects Performance Availability Reliability Recoverability Integrity Security Scalability Serviceability Usability Maintainability Portability Interoperability Integratability Extensibility Throughput: number of services executed in a time period. Response or cycle time (aka latency): time taken from request to response or completion. The amount or percentage of time that the services of a system are ready for use, excluding planned and allowed down time. The ability of a discrete component or service to run without failing. The ability of a system to be restored to live operations after a failure. Usually refers to disaster recovery using resources at a remote site. The ability of a system to support Data Integrity and Data Flow Integrity. The ability to prevent unauthorised access to a system. The ability to monitor and manage a system in operation. The ability to expand a system to grow with increased work loads. The ability of actors to use a system with minimal effort. The ability to analyse, then correct or enhance a system. The ability to move a system from one platform to another, or convert it to run on another platform. The ability for systems to exchange data using shared protocols and networks. Often embraces “Integratability” below. The ability of interoperable systems to understand each other, which requires either common data types or translation between data types. The ability to add new features; a subtype of maintainability. Solution levels Solution Vision Solution Outline Solution to Build Architecture levels Enterprise Architecture Solution Architecture Software Architecture Solution Vision Solution Outline Solution to Build Strategy Enterprise Arch ITT/Bid Initiation Elaboration Construction Above / Before Project The Project Technical Risk Management Initiate Manage Plan Architect Govern Establish capability Manage stakeholders Plot migration path Understand the baseline Respond to oper’l change Establish directives.... Manage Change Review business case Review initiation products Monitor the portfolio(s) Scope the endeavour Manage business case Select & manage suppliers Clarify NFRs Govern delivery Get vision approved Manage readiness & risks Plan delivery Design the target Initiate delivery A sponsor has a problem or requirement, there is a need for a change, a solution must be delivered Where most architecting is done Solution Architects Team of Software Architects & Technical Specialists Team of Enterprise Architects Business Specialists App Specialists Data Specialists Technology Specialists App Specialists Data Specialists Business Specialists Technology Specialists Security Specialists Security Specialists E n t e r p ris e A r c h it e c t u r e S o f t w a r e A r c h it e c u r e S o l u t i o n A r c h i t e c t u r e Directives Driver Vision Mission Forces Strategies Plans Owners Customers Suppliers Managers Designers Builders Operators Stakeholders Principles Policies Rules Aims Goals Objectives Requirements Solutions Architectural changes New behaviours New structures Change (PMO) Plans Programmes Business as usual Plans Projects Catalogues Driver or concern catalogue Stakeholder catalogue Aim (goal/objective/requirement) catalogue Directive (principle/policy/rule) catalogue Regulations catalogue Matrices Diagrams Business Context Architecture Domain Data Goal or requirements traceability matrix Value Chain diagram Solution Concept diagram Context diagram Data Entity/Data Component catalogue Data Component catalogue Data Entity catalogue Data Item catalogue Data Entity/Business Function matrix Application/Data matrix Data Dissemination matrix Conceptual Data diagram Logical Data diagram Data Dissemination diagram Data Lifecycle diagram Applications Application Portfolio catalogue Interface catalogue Data Flow catalogue UIs and APIs that offer services Application use case catalogue Application/Organization matrix Role/Application matrix Application/Function matrix Application Interaction matrix Application/Activity matrix Application Communication diagram Application and User Location diagram Application Use-Case diagram Process/Application Realization diagram Application Migration diagram Infrastructure Technology Standards catalogue Technology Portfolio catalogue Client device catalogue Server device catalogue Platform services catalogue Channel catalogue Application/Technology matrix Data component/Technology matrix Environments and Locations diagram Platform Decomposition diagram Processing diagram Networked Computing/Hardware diagram Communications Engineering diagram Organization/Role/Actor catalogue Business Service/Function catalogue Product, goods or service catalogue Location catalogue Contract/Measure catalogue Service Level Agreement Business term or rule catalogue Business Interaction matrix Actor/Role matrix Organisation to location matrix Organisation to activity matrix Business process to use case matrix Business Service/Information diagram Functional Decomposition diagram Product Lifecycle diagram Business Use-Case diagram Organization Decomposition diagram Business process map diagram Location map diagram Behaviour Structure Internal External Something consumers want from the system, or the system wants from suppliers. A result of processes, but defined in a service con- tract without reference to the internal logic of pro- cesses used. A structured collection of services (to the left) that is requested or provided by one or more components (below). What happens. A logical sequence of activities thet ends up deliver- ing a service at some level of granularity. Executed by components. A subsystem that performs work. A group of related but distinctly invokable activities, encapsulated behind a provided interface. Service Component Process Interface Menu Chef, Oven Order, Cook, Serve Starter, Main course Logical Conceptual Physical Real Logical Data Model Data Flow Model Message schema Data Store schema Data Flow Data Store Business Data Model Canonical Data Model Data Model Management Entity LDM LDM LDM Entity Entity Data dissemination view Data at Rest Data in Motion Internal behaviour - sequence diagram External behaviour - Information System Services offered Logical structure - Data flow diagram Architectural entities Use case Use case Use case Billing CRM ERP DW CRM ERP Billing Billing CRM ERP DW Internal behaviour - n/a External behaviour - services offered Logical structure Physical structure Candidate Technology Technology Component Technology Component Platform Service Platform Service TRM Platform Service Platform Service Interoperation styles Tightly-coupled Loosely-coupled RPC DO REST EDA SOA The server component is stateful and blocking The server component is stateless and non-blocking The server address is a URI and it offers only the operations of an internet protocol Senders and receivers are coupled only by shared broker or data space PtP RPC DO SOA REST EDA Intro Agent Mediator Communication & Interoperation Styles Software Architecture Remote Procedure Call Distributed Objects Service-Oriented Architecture Representational State Transfer Event-Driven Architecture RPC DO SOA REST EDA - - - - - Introduction Agent Point to Point Passive Mediator Message Broker Communication Style Connected Disconnected Directory Intro Agent Client Server Message Broker Client Server Shared Data Space Client Server Client Server e.g. RPC Under the covers, all communication is point to point Marketeer Fulfiller System Supplier Customer Sales person Scope – System Boundary Context Diagram Application Hierarchical Structure E.g. Application decomposition diagram Component Component Component Component Component Component Enquire Sale process Process Model or Flow Chart UML Activity Diagram Request Discount Price Close Sale Prospect Data Entity Life Cycle UML State Chart Sale process Quote Payment Sale Sold Quoted Paid Company :List Data Flow Structure Regular Expression Jackson Structure Company Name Employee Details Company * Individual O Corporation O Employee * Components, Interfaces and Dependencies UML Component Diagram Billing Customer CRM Customer Customer Data Store Structure Data Model Entity Relationship Diagram Product Depot Sale Stock Product UI Order Depot Stock Product In-house Supplier Sales UI Software Architecture Structure UML Class Diagram CRM Applications Architecture Behaviour Process System Realisation UML Interaction/Sequence Diagram DW BI ERP Sale CRM Billing DW BI ERP Marketeer Supplier Applications Architecture Structure Application Communication Diagram Data Flow Diagram Customer Sales person Client Web Server Web Server App Server Data Server Client Infrastructure Architecture Structure UML Deployment Diagram Review Sale Goods Out Goods In Marketeer Fulfiller Supplier Customer Sales person Scope – Process Map UML Use Case Diagram User App Data App CRM Data Store User App Data App ERP Data Store User App Data App Billing Data Store Data App Customer Data Store User App Data App CRM Data Store User App Data App ERP Data Store User App Data App Billing Data Store User App Data App CRM Data Store User App Data App ERP Data Store User App Data App Billing Data Store Message broker User App User App Broker App User App Data App Data App Data App CRM Data Store ERP Data Store Billing Data Store User App Data App CRM Data Store User App Data App ERP Data Store User App Data App Billing Data Store ETL ETL ETL Data Warehouse Report User App Data App CRM Data Store User App Data App ERP Data Store User App Data App Billing Data Store User App User App Data App Enterprise Data Store User App User App Data App CRM Data Store User App Data App ERP Data Store User App Data App Billing Data Store ETL ETL Composition Decomposition Generalisation Specialisation Idealisation Realisation Coarse-grained composite Mid-grained composite Fine-grained composite Elementary part Universal Fairly generic Fairly specific Uniquely configured Conceptual model Logical model Physical model Physical material Vacuous Sketchy Elaborate Complete Omission Elaboration Architecture Detailed Design Implementation Internal behaviour - process flows with Activities (A) External behaviour - services offered Logical structure - business functions (BF) Physical structure - organisation units (O) BF BF BF A A A BF A A A O O O A A A O A A A A A A A A A A A Business Service Business Service Business Service Data entity Activity Activity Data entity Data entity CRUD matrix Applications architecture Business architecture Infrastructure architecture Business Function Business Function Business Function Business Function Business Services Business Services Business Services Business Services Technology Component Technology Component Technology Component Technology Component Platform Services Platform Services Platform Services Platform Services Application Component Information System Services Application Component Information System Services TRM Technical Reference Model A hierarchical catalogue of platform services User App Use Case IS Services User App Use Case IS Services Data App Data IS Services Data App Data IS Services Broker App Business IS Services III-RM Integrated Information Infrastructure Reference Model An SOA design pattern for applications architecture Avancier Virtual MindMap Phases and levels of architecture elaboration Qualities / Non-Functional Requirements A business motivation model Avancier Methods process Architect levels and roles Architecture Modelling Concepts Business architecture www.infosupport.com/Enterprise-Architecture www.avancier.co.uk www.virtualmindmaps.com Copyright Info Support B.V. & Avancier Ltd 2012 - Contents derived by Avancier from the reference model used by the BCS to support examinations for architect certificates Data architecture Applications architecture Infrastructure architecture - technology rationalisation Interoperation styles Application integration patterns Communication styles Architecture domains and entities Common Diagram Notations Avancier Methods viewpoint library (subset)

Transcript of Architecture Reference Model · Software Architecture Stakeholders Owners & Customers Managers &...

Page 1: Architecture Reference Model · Software Architecture Stakeholders Owners & Customers Managers & designers Builders & Operators Description ... UML Component Diagram Billing Customer

Directives

Principle

Policy

Rule

Aims

Architecture Modelling Concepts

Goal

Driver Vision Mission

Objective

Requirement

Requirement Types

Regulatory Functional Audit Waterfall Iterative Agile

Concern ViewPoint

ISO/IEC 42010

View

PtP

RPC DO SOA REST EDA

Intro Agent MediatorNon-Functional

DevelopmentLifecycles

Communication &Interoperation Styles

Solutionlevels

SolutionVision

SolutionOutline

Solution toBuild

Architecturelevels

EnterpriseArchitecture

SolutionArchitecture

SoftwareArchitecture

Stakeholders

Owners &Customers

Managers &designers

Builders &Operators

Description

Deliverable

Artifact

Entity

Plans

Strategy

Programme

Project

Specific, Measurable, Actionable, Realistic, Timebound Standardse.g. CMMI (capability maturity) & ISO/IEC 27001 (security)

Behaviour

Data Architecture Applications Architecture

BDM

LDM

Data Store

CDM

Data Flow

User App

PlatformApp

NetworkedComputer

Broker App

Data App

Business Services

Use Cases

AutomatedBusiness Services

AutomatedData Services

|||RM

TRMPlatformServices

BusinessProcess

OrganisationUnit

BusinessArchitecture

InfrastructureArchitecture

EnterpriseBusinessOrganisation

Structure

Service Interface

Process

External

Internal Component

Architecture Domains Service Oriented Architecture

Abstraction

Composition

Decomposition

Generalisation

Specialisation

Idealisation

Realisation

ConceptualModel

LogicalModel

PhysicalModelConcretion or Elaboration

Architecture Reference Modelfor Enterprise and Solution Architects

Performance

Availability

Reliability

Recoverability

Integrity

Security

Scalability

Serviceability

Usability

Maintainability

Portability

Interoperability

Integratability

Extensibility

Throughput: number of services executedin a time period. Response or cycle time (aka latency): time taken from request to response or completion.

The amount or percentage of time that the services of a system are ready for use, excluding planned and allowed down time.

The ability of a discrete component or service to run without failing.

The ability of a system to be restored to live operations after a failure. Usually refers to disaster recovery using resources at a remote site.

The ability of a system to support Data Integrity and Data Flow Integrity.

The ability to prevent unauthorised access to a system.

The ability to monitor and manage a system in operation.

The ability to expand a system to grow with increased work loads.

The ability of actors to use a system with minimal effort.

The ability to analyse, then correct or enhance a system.

The ability to move a system from one platform to another, or convert it to run on another platform.

The ability for systems to exchange data using shared protocols and networks. Often embraces “Integratability” below.

The ability of interoperable systems to understand each other, which requires either common data types or translation between data types.

The ability to add new features; a subtype of maintainability.

Solutionlevels

SolutionVision

SolutionOutline

Solution toBuild

Architecturelevels

EnterpriseArchitecture

SolutionArchitecture

SoftwareArchitecture

Solution

Vision

Solution

Outline

Solution to

Build

Strategy

Enterprise Arch

ITT/Bid

Initiation

Elaboration

Construction

Above / Before Project

The Project

Technical RiskManagement

Initiate

Manage

Plan

ArchitectGovern

Establish capability

Manage stakeholders

Plot migration path

Understand the baselineRespond to oper’l change

Establish directives....

Manage Change

Review business case

Review initiation productsMonitor the portfolio(s)

Scope the endeavour

Manage business case

Select & manage suppliers

Clarify NFRsGovern delivery

Get vision approved

Manage readiness & risks

Plan delivery

Design the targetInitiate delivery

A sponsor has a problem or requirement, there is a need for a change, a solution must be delivered

Where most

architecting is

done

Solution Architects

Team of Software Architects & Technical

Specialists

Team of Enterprise Architects

BusinessSpecialists

AppSpecialists

DataSpecialists

TechnologySpecialists

AppSpecialistsData

SpecialistsBusiness

Specialists

TechnologySpecialists

SecuritySpecialists

SecuritySpecialists

Enterprise Architecture

Software Architecure

Solu

tion

Architecture

Directives

Driver Vision Mission

Forces

Strategies

Plans

OwnersCustomersSuppliers

ManagersDesignersBuilders

Operators

Stakeholders

Principles

Policies

Rules

Aims

Goals

Objectives

Requirements

Solutions

Architectural changes

New behaviours

New structures

Change(PMO) Plans

Programmes

Business as usual Plans

Projects

Catalogues

Driver or concern catalogueStakeholder catalogueAim (goal/objective/requirement) catalogueDirective (principle/policy/rule) catalogueRegulations catalogue

Matrices Diagrams

Business

Context

Architecture Domain

Data

Goal or requirements traceability matrix Value Chain diagramSolution Concept diagramContext diagram

Data Entity/Data Component catalogueData Component catalogueData Entity catalogueData Item catalogue

Data Entity/Business Function matrixApplication/Data matrixData Dissemination matrix

Conceptual Data diagramLogical Data diagramData Dissemination diagramData Lifecycle diagram

Applications

Application Portfolio catalogueInterface catalogueData Flow catalogueUIs and APIs that offer servicesApplication use case catalogue

Application/Organization matrixRole/Application matrixApplication/Function matrixApplication Interaction matrixApplication/Activity matrix

Application Communication diagramApplication and User Location diagramApplication Use-Case diagramProcess/Application Realization diagramApplication Migration diagram

Infrastructure

Technology Standards catalogueTechnology Portfolio catalogueClient device catalogueServer device cataloguePlatform services catalogueChannel catalogue

Application/Technology matrixData component/Technology matrix

Environments and Locations diagramPlatform Decomposition diagramProcessing diagramNetworked Computing/Hardware diagramCommunications Engineering diagram

Organization/Role/Actor catalogueBusiness Service/Function catalogueProduct, goods or service catalogueLocation catalogueContract/Measure catalogueService Level AgreementBusiness term or rule catalogue

Business Interaction matrixActor/Role matrixOrganisation to location matrixOrganisation to activity matrixBusiness process to use case matrix

Business Service/Information diagramFunctional Decomposition diagramProduct Lifecycle diagramBusiness Use-Case diagramOrganization Decomposition diagramBusiness process map diagramLocation map diagram

Behaviour Structure

Inte

rnal

Exte

rnal

Something consumers want from the system, or the

system wants from suppliers.

A result of processes, but defined in a service con-

tract without reference to the internal logic of pro-

cesses used.

A structured collection of services (to the left) that is

requested or provided by one or more components

(below).

What happens.

A logical sequence of activities thet ends up deliver-

ing a service at some level of

granularity. Executed by components.

A subsystem that performs work.

A group of related but distinctly invokable activities,

encapsulated behind a provided interface.

Service

ComponentProcess

Interface Menu

Chef, OvenOrder,

Cook, Serve

Starter,Main course

Logi

cal

Conc

eptu

alPh

ysic

alRe

al

LogicalData Model

Data Flow Model

Messageschema

Data Storeschema

DataFlowData Store

BusinessData Model

CanonicalData Model

DataModel

Management

Entity

LDM LDM LDM

Entity

Entity

Data dissemination view

Data at Rest Data in Motion

Internal behaviour

- sequence diagram

External behaviour

- Information System

Services offered

Logical structure

- Data flow diagram

Architectural entities

Usecase

Usecase

Usecase

Billing

CRM

ERP

DW

CRM ERP Billing

BillingCRMERP DW

Internal behaviour

- n/a

External behaviour

- services offered

Logical structure

Physical structure

CandidateTechnology

TechnologyComponent

TechnologyComponent

PlatformService

PlatformService

TRM PlatformService

PlatformService

Interoperation styles

Tightly-coupled Loosely-coupled

RPC DO REST EDASOA

The server component is stateful

and blocking

The server component is stateless

and non-blocking

The serveraddress is a URI and it offers only

the operationsof an internet

protocol

Senders andreceivers are

coupled only byshared brokeror data space

PtP

RPC DO SOA REST EDA

Intro Agent Mediator

Communication &Interoperation Styles

SoftwareArchitecture

Remote Procedure Call

Distributed Objects

Service-Oriented Architecture

Representational State Transfer

Event-Driven Architecture

RPC

DO

SOA

REST

EDA

-

-

-

-

-

Introduction AgentPoint to Point Passive MediatorMessage Broker

CommunicationStyle

Connected Disconnected

Directory

IntroAgent

Client

Server

MessageBroker

Client

Server

SharedData Space

Client Server

Client Server

e.g. RPC

Under the covers,

all communicationis point to

point

Marketeer

Fulfiller System

SupplierCustomer

Salesperson

Scope – System BoundaryContext Diagram

Application

Hierarchical StructureE.g. Application decomposition diagram

Component ComponentComponent

Component ComponentComponent

Enquire

Sale process

Process Model or Flow ChartUML Activity Diagram

RequestDiscount

Price

Close Sale

Prospect

Data Entity Life CycleUML State Chart

Sale process

Quote

Payment

Sale

Sold

Quoted

Paid

Company:List

Data Flow StructureRegular ExpressionJackson Structure

CompanyName

EmployeeDetails

Company*

Individual O Corporation O

Employee *

Components, Interfaces and DependenciesUML Component Diagram

BillingCustomer

CRMCustomer

Customer

Data Store StructureData ModelEntity Relationship Diagram

Product Depot

Sale Stock

Product UI

Order Depot StockProduct

In-house Supplier

Sales UI

Software Architecture StructureUML Class Diagram

CRM

Applications Architecture BehaviourProcess System RealisationUML Interaction/Sequence Diagram

DWBI

ERP

Sale

CRM Billing

DWBI

ERP

MarketeerSupplier

Applications Architecture StructureApplication Communication DiagramData Flow Diagram

CustomerSalesperson

Client

Web Server Web Server

App Server Data Server

Client

Infrastructure Architecture StructureUML Deployment Diagram

Review

Sale

GoodsOut

GoodsIn

Marketeer

Fulfiller

Supplier

Customer

Salesperson

Scope – Process MapUML Use Case Diagram

User App

Data App

CRMData Store

User App

Data App

ERPData Store

User App

Data App

BillingData Store

Data App

CustomerData Store

User App

Data App

CRMData Store

User App

Data App

ERPData Store

User App

Data App

BillingData Store

User App

Data App

CRMData Store

User App

Data App

ERPData Store

User App

Data App

BillingData Store

Messagebroker

User App User App

Broker App

User App

Data App Data App Data App

CRMData Store

ERPData Store

BillingData Store

User App

Data App

CRMData Store

User App

Data App

ERPData Store

User App

Data App

BillingData Store

ETL ETL ETL

DataWarehouse

Report

User App

Data App

CRMData Store

User App

Data App

ERPData Store

User App

Data App

BillingData Store

User App User App

Data App

EnterpriseData Store

User App

User App

Data App

CRMData Store

User App

Data App

ERPData Store

User App

Data App

BillingData Store

ETL ETL

Composition

Decomposition

Generalisation

Specialisation

Idealisation

Realisation

Coarse-grained composite

Mid-grained composite

Fine-grained composite

Elementary part

Universal

Fairly generic

Fairly specific

Uniquely configured

Conceptual model

Logical model

Physical model

Physical material

Vacuous

Sketchy

Elaborate

Complete

Omission

Elaboration

Architecture

Detailed Design

Implementation

Internal behaviour

- process flows with

Activities (A)

External behaviour

- services offered

Logical structure

- business functions (BF)

Physical structure

- organisation units (O)

BF

BFBF

A AA

BF

AA A

O

OO

A AA

O

AA A

A A A A

A A

A A

BusinessService

BusinessService

BusinessService

Data entity

Activity Activity

Data entity

Data entity

CRUD matrix

Applications architecture

Business architecture

Infrastructurearchitecture

Business Function Business Function

Business Function Business Function

Business Services Business Services

Business Services Business Services

Technology Component Technology Component

Technology Component Technology Component

Platform Services Platform Services

Platform Services Platform Services

Application Component

Information System Services

Application Component

InformationSystem Services

TRM Technical Reference ModelA hierarchical catalogue of platform services

User App

Use Case IS Services

User App

Use CaseIS Services

Data App

DataIS Services

Data App

DataIS Services

Broker App

BusinessIS Services

III-RM Integrated Information Infrastructure

Reference Model

An SOA design pattern for applications architecture

Avancier VirtualMindMap

Phases and levels of architecture elaboration

Qualities / Non-Functional Requirements

A business motivation model

Avancier Methods process Architect levels and roles

Architecture Modelling Concepts

Business architecture

www.infosupport.com/Enterprise-Architecture www.avancier.co.uk www.virtualmindmaps.comCopyright Info Support B.V. & Avancier Ltd 2012 - Contents derived by Avancier from the reference model used by the BCS to support examinations for architect certificates

Data architecture Applications architecture Infrastructure architecture - technology rationalisation

Interoperation styles

Application integration patterns

Communication styles

Architecture domains and entities

Common Diagram NotationsAvancier Methods viewpoint library (subset)