• No results found

Avancier Reference Model

N/A
N/A
Protected

Academic year: 2021

Share "Avancier Reference Model"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

Avancier

Copyright Avancier 2012

Avancier Reference Model

Applications Architecture (ESA 7)

It is illegal to copy, share or show this document

(or other document published at http://avancier.co.uk) without the written permission of the copyright holder

Avancier Intermediate level Intermediate level 7. Applications architecture Practitioner Initiate Architect Plan Govern

Establish the context

Get vision approved Establish capability

Scope the endeavour

6 Software & 7 Apps architecture

9 Infrastructure architecture 4 Business & 5 Data architecture

8 Design for NFRs

Migration path

Delivery Plans 10 Migration Planning

Business case 11 Architecture Change Management

11 Architecture Governance

2 Architecture precursors 1 Architecture and architects

3 Architecture frameworks

11 Architecture Implementation 11 Architecture in Operations

(2)

Avancier

Applications architecture in the AM core framework for EA

Copyright Avancier Limited 2015

Data / Information Infrastructure Technology Applications Business Required Behaviour Logical Structure Physical Structure Passive Structure Platform Application Platform Interface Platform Service Actor Business Process Role

IS Service Applicat’n Interface Applicat’n

Business Service Data Entity Org Unit Function Data Store Data Flow Log Data Model

Avancier

Copyright Avancier Limited

7. Applications architecture

7. Applications architecture Basic concepts

Applications architecture structure Applications architecture behaviour Application connection styles Application interoperation styles Application integration

(3)

Avancier

Conceptual framework

Copyright Avancier Limited

Behavioural view Structural view

External view

Internal view Application process Application

Application Interface IS Service Assigned to R ea lis ed by

IS service [a service] that can be requested of a business application; a use case or fully automated service, provided by one application to an end user or another application.

Application interface

[an interface] a facade where business component/roles (and other applications)

can request services offered by business applications. It could be defined in a user interface or an API.

Application [a component] a software system or program, divisible into three categories: platform, generic and business application. Applications architecture focuses on business applications – information systems that support business functions and /or maintain business data. (What end users perceive to be an application is not always the same as what programmers perceive to be an application.)

Avancier

App portfolio management

Apps portfolio management

[a work process] to catalogue, describe, and value the applications of an enterprise, with a view to rationalisation or optimisation of those

applications.

Application classification

[a technique] for categorising applications to group them for management of the application portfolio. E.g. by application type, by business function, by importance, or by health.

(4)

Avancier

Classifying apps in the app portfolio

► Classify apps to understand them

■ Cost, Value (mission critical <>unimportant),

Business fitness, Technical fitness ■ Size, Complexity

■ User type: Public / Employee / Technical

■ Generality: Universal <> Unique to business

■ User base: Single-user - Dept - Enterprise

■ Usage style: OLTP / Business Intelligence

► Score or rank apps

Copyright Avancier Limited High

Low

Low Business fitness High

T e c h n ic a l fit n e s s Small app Big app Big app Small app Avancier

Copyright Avancier Limited

Application classification in the BCS ESA reference model

► The reference model is thin here ► It classifies apps only

■ By type (business, generic, platform) ■ By business function

(5)

Avancier

Applications by type – in BCS ESA reference model

Copyright Avancier Limited

Business application

[an application] that captures or provides data (via use cases) to support a business role or process. It has breadth in terms of use cases and depth in terms of software layers. E.g. accounting; billing, customer relationship management, enterprise resource planning, business intelligence, patient administration.

Generic application

[an application] that offers universal use cases. E.g. calculator, drawing tool, groupware, media player, spreadsheet, browser, word processor.

Platform application

[an application] or system software that runs computer hardware or serves other applications.

See section 9 for more detail. Application

Application

Platform Application

Avancier

Compare with classification of applications by type in TOGAF

► Business ► Infrastructure

■ (= generic business apps) ► Platform

(6)

Avancier

Copyright Avancier Limited

Applications by business function - in the NCC

► NCC: Conspectus & Evaluation Centre ■ ERP

CRM, Call Centre & Marketing ■ Accounting & Financial Reporting

■ Data Warehousing, Business Intelligence & CPM.

■ Document Management, Content Management & BPM.

■ HR & Payroll

■ Project Management & PSA

Avancier

Copyright Avancier Limited The ERP class of apps

► http://www.evaluationcentre.com/erp_software/home.go ► 23% deploy ERP as their main application strategy ► 13% deploy ERP with other standalone packages ► 13%, deploy ERP in combination with bespoke solutions ► 23% based core systems on standalone best of breed packages ► 17% on bespoke solutions

Enterprise Resource Planning (ERP)

[a business application] that supports the planning of how enterprise resources (materials, employees, customers, etc.) are acquired, moved from one state to another.

An ERP system maintains data needed for some or all of Manufacturing, Supply Chain Management, Financials, Projects, Human Resources, Data Warehouse and Management Information. It can include Customer Relationship Management and Billing.

Survey population manufacturing sector (23%) public sector (17%), retail (10%)

distribution & logistics (7%), IT & telecoms (7%) financial services (7%).

(7)

Avancier

The CRM class of apps

Copyright Avancier Limited

Customer relationship management (CRM)

[a business application] that supports the development and maintenance of mutually beneficial long-term relationships with customers.

It helps with some or all of the following attracting customers,

transacting business with customers, servicing and supporting customer, enhancing customer relationships.

Avancier

A little more about the CRM class of apps ► The promise of CRM technology

lies in improved marketing, customer satisfaction and increased sales productivity:

► A business support system that helps with some or all of >>

■ Attracting customers ● Brand building

● Customer value management

● Customer modelling

● Product development

● Marketing operations

● Product customisation

■ Transacting business with customer ● Sales force operations

● Service centre operations

■ Servicing and supporting customer ● Field service operations

● Supply chain/logistics

● Website operations

■ Enhancing customer relationships ● Customer retention

(8)

Avancier

Copyright Avancier Limited

7. Applications architecture

7. Applications architecture Basic concepts

Applications architecture structure Applications architecture behaviour Application connection styles Application interoperation styles Application integration

Application Application Interface

Avancier

Applications by business function - in the BCS ref. model

Application portfolio catalogue

[an artefact] listing business applications and recording their properties.

Usually structured so as to reflect the business function hierarchy.

Copyright Avancier Limited Support business functions

Core business functions

Marketing Sales Delivery Customer Service

HR IT Accounts Legal

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

App App App

(9)

Avancier

ACD as Data Flow Diagram

App App App App DS DS DS DS External Entity External Entity External Entity External Entity

Copyright Avancier Limited

Applications architecture: structural communication model

Applications communication diagram

[an artefact] that shows how applications are related by the exchange of data.

Typically some kind of data flow diagram, or, where there are too many data flows, a dependency diagram.

Interface = Data flow (messages about data

entities)

Data store (records of data entities)

Avancier

A structural model of the applications network Application Communication Diagram

Data Flow Catalogue 1a 1b 1c 1d 2a 3a 3b 3c 3d 4b 4a CRM Sales Stock Billing Data Warehouse

Data Flow id Source App Destination App Data content Trigger event

1a CRM Sales Sales order request New sales order

1b Sales CRM Sales order confirmation Order created in the Sales system

2a Sales Stock Requisition Subscribe/Publish timer

(cf. N2 model, or Node Connectivity diagram in FEAF)

E.g. a UK gov. dept has 300 apps and 550 data flows

(10)

Avancier

7. Applications architecture –

end of pass 1

► SHOW RELEVANT MOCK EXAM QUESTIONS

Copyright Avancier Limited

Avancier

Copyright Avancier Limited 2015

7. Applications architecture

7. Applications architecture Basic concepts

Applications architecture structure Applications architecture behaviour Application connection styles Application integration

Behavioural view Structural view

External view

Internal view Application process Application

Application Interface IS Service Assigned to R ea lis ed by

(11)

Avancier

Applications architecture behavioural model

Process realisation diagram

[an artefact] that shows how applications inter-communicate to enable a process.

It is often used to examine where time is spent in or between application processing steps.

Typically drawn as an interaction or sequence diagram

Copyright Avancier Limited 2015

Applications architecture behaviour TOGAF Process Application Realisation diagram

UML Interaction/Sequence diagram

ERP CRM DW / BI Process Process App component cooperating in the process

► What applications cooperate in the execution of a process?

► How and when are applications triggered by invocations?

► What data flows or messages are passed along with an invocation?

► Useful in analysing the efficiency of a process

► Shows the overall sequence of a process

► Limited representation of logic (loops, options & quits)

Avancier

IS services

Information system service

[a service] use case or automated IS service provided by one application to another, or to an end user.

Business Process Use Case Automated IS Service ► The HCI ► Business architecture ► Applications architecture

(12)

Avancier

Use cases

Application use case diagram

[an artefact] that shows the uses cases supported by an application.

An application is scoped and defined by the use cases it supports.

Copyright Avancier Limited 2015

Use Case Diagram

► What uses do external entities make of an application?

► What processes are in the scope of our application ?

Avancier

Use cases

Use case definition

[an artefact] that defines a use of a system by an actor, in the course of an OPOPOT business process or role. It is normally named as a goal in verb-noun form (e.g. assess claim). It is usually defined by its service contract (trigger event, inputs and outputs, preconditions and post conditions, and non-functional requirements) and process flow (main path and alternative or exception paths). The details of each process step (including any services or transactions invoked) may be documented separately from the use case.

Copyright Avancier Limited 2015

Use Case Diagram

Use Case Definition / Specification Service Contract

Trigger, I/O, pre & post conditions

Non-functional requirements

Process main path

(13)

Avancier

Copyright Avancier 2012

Delegating work to automated IS services Goal / name Price kitchen

Scope Kitchen sales system Actor Salesman

Stakeholder Customer

Precondition Kitchen plan has been populated with kitchen items Kitchen order app is loaded onto the lap top Trigger event Customer wants to know price (so far, for an order)

Salesman presses price kitchen command Post condition Price is displayed in price dialogue box

Main path 1 Salesman presses price kitchen command 2 Kitchen drawing app displays price dialogue box 3 Salesman clicks OK

4 Kitchen drawing app invokes Kitchen order app 5 Kitchen drawing app displays the reply in the Price field 6 Salesman closes the price dialogue box

Extension paths 3 Salesman closes the price dialogue box

5 Kitchen drawing app displays “Kitchen order app not available” NFRs

Invoke automated IS

service

Copyright Avancier Limited 2015

Avancier Business Process Use Case Automated IS Service Automated IS service Automated IS service

[a service] that a software client can invoke.

It may be classified as a business service or data service. It is sometimes an ACID transaction.

► Business architecture

► Applications architecture

► The HCI

► During a use case, several Automated IS services may be invoked and run to completion without requiring any additional input or action from the actor progressing the use case

(14)

Avancier Business Process Use Case Automated IS Service Automated IS service Automated IS service

[a service] that a software client can invoke.

It may be classified as a business service or data service. It is sometimes an ACID transaction.

Copyright Avancier 2012 Dividable into ► Business architecture ► Applications architecture ► The HCI

Copyright Avancier Limited 2015

Use Cases Broker App Components User App Components Data App Components Data Services Business Services Avancier

Business process decomposition and automation

Automated business service

[an Automated IS service] a kind of automated service whose input and output data is defined in a canonical data model.

Automated data service

[an Automated IS service] a kind of automated service whose input and output data items are defined according to the parochial or physical data model of a specific data source.

Copyright Avancier Limited 2015

Canonical data model Local data models Use Cases Broker App Components User App Components Data App Components Data Services Business Services

(15)

Avancier

Transactions

Transaction [a process] a unit of work, a buy-sell or client-server interaction between parties, e.g. between a user and a computer, or an application and a database.

ACID Transaction

[a transaction] a unit of work that is Atomic, Consistent, Isolated and Durable.

It can be rolled back if a specified precondition is violated.

Using a transaction manager to automate transaction roll back preserves the integrity of stored data and saves considerable design and

development effort, but is impossible in loosely-coupled designs. Where a process has an update or output effect that cannot be rolled back, then compensating transactions may have to be designed.

Compensating transaction

[a transaction] a backtracking, undo or correction process. A process to handle the side effects of a process (or workflow) that started but could not complete successfully.

It may undo updates committed to databases, remove messages placed in message queues, send follow-up correction messages, report cases of data disintegrity.

Copyright Avancier Limited 2015

Avancier

7. Applications architecture

7. Applications architecture Basic concepts

Applications architecture structure Applications architecture behaviour Application connection styles Application integration

(16)

Avancier

Copyright Avancier Limited 2013

Communication styles – summary overview

Client Server RPC Client Server Intro Agent Message Broker Server Client Shared Data Space Server Client Connected Disconnected Active

Mediator Mediator Passive Communication

Style

Point to Point Introduction Agent Under the covers, all

communication is point to point! Directory Message Broker Message Bus r r Message Bus Subscriber Event Source Request-reply Event broadcast Event broadcast Avancier

Copyright Avancier Limited 2015

7. Applications architecture

7. Applications architecture Basic concepts

Applications architecture structure Applications architecture behaviour Application connection styles Application integration

(17)

Avancier

Applications Integration

Application integration pattern

[a pattern] for sharing data currently stored in several enterprise business databases, including those listed below.

Copyright Avancier Limited 2015 ► Patterns include

► Point-to-point application integration ► Hub-and-spoke application integration ► ETL

► Off-line integration ► Data warehouse

► Database / application consolidation ► Physical master data

► Virtual master data

Avancier

Two contrasting integration patterns

Point-to-point integration

[a pattern] in which subsystems talk to each other directly.

Hub and spoke integration

[a pattern] in which subsystems communicate via a mediator.

Point to Point

F ERP

E Billing

CRM

DW

Hub and Spoke

F ERP

E Billing

CRM

DW

(18)

Avancier

ETL pattern or tools (Oracle call it ELT)

► Useful if you want to load data into

■ a data warehouse - perhaps on a regular basis, or

■ a consolidated database – perhaps during a one-off data migration

Copyright Avancier Limited 2015

ETL [a pattern] for

extracting data from data sources,

transforming data items from one format to another, and loading the reformatted data into data stores.

Avancier

Two more application integration patterns

Off-line integration

[a pattern] in which discrete data stores are synchronised off-line, often by overnight batch

processes, often using ETL tools.

Data

warehousing

[a pattern] in which business data is copied from on-line data stores into a central database for reporting, often using ETL tools. Data cleansing may be needed at any stage in the process.

Copyright Avancier Limited 2015

RAR Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

ETL ETL Enterprise DW Report Data Warehouse Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

(19)

Avancier

Copyright Avancier Limited 2015

So which option suits this story?

Name: Give me airplane description Input: Airplane identifier

Output: Airplane identifier, Model, Version, Length, Fuel capacity, Wing span, Wing area, Flying weight, Wing loading, Thrust, Engine supplier

100 of 500 major databases contain data about an airplane 1.0 Develop

Vision and Strategy

2.0 Design and

Build Airplanes 3.0 Market and Sell Airplanes 4.0 Deliver Airplane 5.0 Manage Customer Service

100 of 500 major user apps need data about an airplane

Physical master data management? Virtual master data management?

Avancier

Database consolidation

[a pattern] in which baseline applications become user application components accessing one shared database.

Three more application integration patterns

DB

Enterprise DB

Data App

Enterprise Data Store User App User App User App

ERP CRM

BI Billing

(20)

Avancier

Physical master data

[a pattern] in which a common data entity is stored in a discrete database, where it can be accessed by any application with a pointer to the common data.

Copyright Avancier Limited 2015

Three more application integration patterns

PMD Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

Data App Customer Data Store Avancier Virtual master data (cf. III-RM)

[a pattern] in which required data can be integrated at run time from several data stores or sources by some kind of broker application. It features three layers of software components.

User apps: present user interfaces, capture events from

them and invoke broker apps.

Broker apps: decouple by providing automated business

services to user apps, and invoking data services from data app(s)

Data apps: provide automated data services to put/get data

to/from a particular database or other data source.

Copyright Avancier Limited 2015

Three more application integration patterns

VMD / III-RM Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

(21)

Avancier

IS Services in the BCS reference model

Use Cases

■ Uses made by users ► Business services

■ Automated IS services that are invoked using data types in a canonical data model ► Data services

■ Automated IS services that need to understand data types in a local data sources

Copyright Avancier Limited 2015

Mobility

Data Apps Broker Apps

User Apps Use Case Use Case

Data Service Business Service Data Service Business Service Avancier

The III-RM in TOGAF

Information Consumer Applications ■ deliver content to the user of the system, ■ provide services to request access to

information in the system on the user’s behalf

Brokering Applications

■ manage the requests from any number of clients

■ to and across any number of Information Provider Applications

Information Provider Applications ■ provide responses to client requests ■ and rudimentary access

■ to data managed by a particular server ► The overall set creates an environment

that provides a rich set of end-user services for transparently accessing heterogeneous systems, databases, and file systems.

TOGAF v9

Mobility

Qualities Application Platform

Information Provider Applications

Management Utilities Brokering Applications Development Tools

Information Consumer Applications

(22)

Avancier Infrastructure architecture Applications architecture Business architecture

III-RM

Integrated Information

Infrastructure Reference Model

An SOA design pattern for applications architecture

Integrated Information Infrastructure Reference Model (III-RM)

Business Function User App Technology Component Business Function Application Component Technology Component Technology Component Technology Component Broker App Application Component Data App Business Function Business Function Platform

Services Platform Services

User App

Data App Business

Services Business Services

Business

Services Business Services

IS Services

Use Case

IS Services IS Services Use Case

IS Services

Platform

Services Platform Services Data

IS Services IS Services Data Business IS Services

Copyright Avancier Limited 2015

Avancier

Copyright Avancier Limited 2015

Reference model speak for these ideas

Boundaryless Information Flow

A trademark of the Open Group intended to express the vision of delivering any data, any time, to any place and anybody who is authorised to view the data.

Integrated Information Infrastructure Reference model (III-RM)

A pattern in TOGAF for a service-oriented architecture. User applications invoke services provided by broker applications, which in turn invoke services provided by applications that encapsulate data sources.

Business Buy space Internal Space Sell space

Procurement Manufacturing, Assembly Legal, Finance,

Customer support, Selling

HCI User App User App User App User App Workflow

Security Services Business

services

Broker App, Broker App, Broker App, Broker App Workflow, Messaging &

Directory services

Security Services

Data Services Data App Data App Data App Data App Data App Data App Data App Data App Data App Storage, Replication D'base D'base D'base D'base D'base D'base D'base D'base D'base

(23)

Avancier

SCI

Enterprise DB PMD VMD / III-RM Enterprise DW LOP RAR Distributed Transaction

Application integration patterns

Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

ETL ETL Message broker Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

Data App

Enterprise Data Store User App User App User App

Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

Data App Customer Data Store Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

Broker App Report Data Warehouse Data App CRM Data Store Data App ERP Data Store Data App Billing Data Store User App User App User App

ETL ETL ETL

References

Related documents

We now create a common model object using the hydro turbine block definition and the model parameters as shown in Figure 5.5. Running the “Calculate initial conditions” command

When the IBM SmartCloud Analytics - Log Analysis users runs the app from the UI, the app compares the current data against the data that is generated by the model training to

Operational Data Integration Data Consolidated Data Enterprise Data Enterprise Resources Components and Integration Services Business Services Business Processes SOR Semantic

Obviously, it is an unsubstantiated myth that rains always started with nirayana Ardra Pravesh whereas if this imaginary equal division of nakshatras is linked to Sayana Rashis,

The Relay clearing ground fault shall be set to a minimum Pick up current below the sustained earth fault current..

RhoSync client ORM (Rhom) Rhodes components Ruby executor HTML templates model controller model HTML templates controller Backend app source adapter source adapter Backend app

From an app perspective, enterprise mobility is driven by four key components that work together to support effective mobile applications: data, identity, mobile-specific

The New Enterprise Data Center Architecture Details Interaction Services Process Services Information Services Partner Services Business App Services Access Services