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
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
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.
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
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
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%).
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Avancier Infrastructure architecture Applications architecture Business architecture
III-RM
Integrated InformationInfrastructure 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
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