02 Reference architecture for business information - fbi.h

Werbung
2. A reference
architecture for business
information systems
Reference Architectures
and Patterns
Winter Semester 2008 / 2009
Prof. Dr. Bernhard Humm
Darmstadt University of Applied Sciences
Department of Computer Science
1
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
The lecture in the context of the entire course
1. Introduction
2. A reference architecture for business information systems
3. Application kernel facade
4. Persistence and transaction
5. Authorization
6. Client architecture
7. Other reference architectures: SOA, BI, systems integration, …
2
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Agenda
Architectural
Architectural
Viewpoints
Viewpoints
Software Categories
Components and Interfaces
Reference Architecture for Business Information Systems
Literature
Architectural viewpoints
Architecture viewpoints separate concerns
of different stakeholders
A Architecture
(Application Logic
Architecture)
Structure of an
application from the
business point of view
Independent of techical
issues
Different for every
application
T Architecture
TI Architecture
(Technical Architecture) (Technical Infrastructure)
Glue between A an TI
architecture
Specifies the virtual
machine on which the A
archictecture will be
executed
Hardware (computers,
networks, etc.) and
systems software
(operating systems,
application servers,
database servers, etc.)
and programming
languages used
Application entitites like
Customer, Account, etc.
4
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Architectural viewpoints
Example project in the domain of logistics
Customer:
large international logistics provider
Project: order management
Volume Release 1:
> 30 person years
Time:
April, 2003 – January, 2004
Release 2 already implemented:
similar volume and time span
5
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Architectural viewpoints
Example A Architecture
(business application architecture)
Master Applikation
Internes Informationsservice und Clearing
Portal
Informationsanforderung
Informationsanforderung
NVENVEDrucker
Drucker
Clients
Informationsservice
Informationsservice und
und Clearing
Clearing
ESI-Frontend
ESI-Frontend
Benutzerverwaltung
Benutzerverwaltung
Benutzerverwaltung
Benutzerverwaltung
Benutzerverwaltung
Benutzerverwaltung
SASAFrontFrontend
end
Stammdatenverwaltung
Stammdatenverwaltung
Stammdatenverwaltung
Stammdatenverwaltung
Frontend
SASABatchBatchScanner
Scanner
NVENVEDrucker
Drucker
SASAOnlineOnlineScanner
Scanner
NVENVEDrucker
Drucker
Backend
Produktionsauftragsverwaltung
Auftragsverwaltung
Annahme/Importer
Annahme/Importer
Auftragsüberwachung
Auftragsüberwachung
Konvertierung
Konvertierung
Disposition
Disposition
Auftragsverwalter
Auftragsverwalter
Auftragsabrechnung
Auftragsabrechnung
Disposition
Disposition
Nummerverwaltung
Nummerverwaltung
Inform.service
Inform.service u.
u. Clearing
Clearing
Auftragsverwalter
Auftragsverwalter
Stammdatenverwaltung
Stammdatenverwaltung
Informationsservice
Informationsservice und
und Clearing
Clearing
Auftragsverwaltung
Querschnitt
6
ESi-Backend
ESi-Backend
Auftragsüberwachung
Auftragsüberwachung
SA-Backend
SA-Backend
T&T-Verwaltung
T&T-Verwaltung
Nummernverwaltung
Nummernverwaltung
Stammdatenverwaltung
Stammdatenverwaltung
Produktion
Entgeltsicherung
Tracking & Tracing
Benutzerverwaltung
Benutzerverwaltung
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Architectural viewpoints
Example TI architecture
(technical infrastructure)
Aktive Netzkomponente
(redundant)
Serverfarm
Cluster
(Load-Balancing über BEA)
Cluster
Anwendungsserver
Annahmeserver
Load-Balancer
HTTPS-Umsetzer
(BEA WebLogic)
Datenbankserver
(Apache Webserver)
Anwendungsserver
Annahmeserver
(ORACLE)
(BEA WebLogic)
Datenbankserver
(Apache Webserver)
Anwendungsserver
(ORACLE)
(BEA WebLogic)
Protokolle
Protokolle
Intranetserver
HTTP
(Apache Webserver)
(Web-)Services
SQL / JDBC
SQL*Net
7
Intranetserver
(Apache Webserver)
Produktion
Archiv
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Architectural viewpoints
Example
T Architecture
Browser
Browser
Browser
Web-Server
(Client)
Applikation
in
Fremd-Domäne
Rich-Client
Service-Infrastruktur / Middleware
Service 1
Service 2
WebLogic
Service 3
AWK
A-Komponente 1
A-Komponente 2
A-Fall
A-Fall 11
A-Fall
A-Fall 22
A-Fall
A-Fall 33
A-Fall
A-Fall 44
(Use-Case)
(Use-Case)
(Use-Case)
(Use-Case)
(UseCase)
(UseCase)
(UseCase)
(UseCase)
A-Verwalter
A-Verwalter
A-Entitätstyp
A-Entitätstyp
A-Verwalter
A-Verwalter
Attribute
Attribute
und
und
Beziehungen
Beziehungen
A-Entitätstyp
A-Entitätstyp
Attribute
Attribute
und
und
Beziehungen
Beziehungen
Legende
benutzt, ruft
Adapter
8
Proxy
Datenbankserver
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Architectural viewpoints
Separating the architectural viewpoints
eases parallelizing project tasks
Time
A Architecture
T Architecture
TI Architecture
Reference architectures
A Architecture overview
Requirements,
Subsystems,
neigbouring systems
Analysis and selection of
technologies and tools
Implementation of
hardware
Specification
use cases
entity model
dialog specification
etc.
Subsystems,
components
interfaces,
classes,
etc.
Types of layers
components
classes
etc.
Implementation of
systems software and tools
Programming
base components
(0/T software)
Programming the application
(A software)
9
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Agenda
Architectural Viewpoints
Software
Software
Categories
Categories
Components and Interfaces
Reference Architecture for Business Information Systems
Literature
Software categories
Idea behind software categories
Software that changes at a different pace
should be separated into different modules
Parnas, 1972
11
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Software categories
Example: Software for salary payment
(human resources)
IBM AS/400
Business changes
New legal requirements
(taxes)
New company payment
policies
12
Technical changes
New application server version
New database version
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Software categories
Software categories
13
Categories
Which means…
0 Software
Independent of application and technology,
ideally re-usable.
Edamples: strings, containers, …
A Software
Determined by application logic,
independent of technology.
Lion‘s share of the application.
Examples: customer, account, invoice, …
T Software
Dependent on a technical API.
independent of the application logic
Examples: persistence layer for specific DBMS
R Software
Simple transformation logic
E.g., to and from XML
AT Software
Dependent on application logic and technology
difficult to maintain
not re-usable
To be avoided!
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Software categories
Software categories as a measure for software quality
Percentage of
AT-Software
• Re-usability
• Maintainability
• Stability
14
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Agenda
Architectural Viewpoints
Software Categories
Components
Components
and and
Interfaces
Interfaces
Reference Architecture for Business Information Systems
Literature
Components and interfaces
Component-oriented design of an automobile
External view
(interface)
of the driver:
as simple
as possible
Internal view: complex
16
External view
(interface)
of workshop:
as simple
as possible
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Components and interfaces
Component-oriented software design
Example: Authorization component
External view:
operational interface
of application
operative
programmer
Schnittstelle
B
(as simple
as possible)
operative
Berechtigungskomponente
AdminSchnittstelle
Berechtigungskern
A
Berechtigung
GUI
R‘
S
RACFAdapter
DB-Zugriff
R
JDBC
RACF
Oracle
External view:
administrative
interface
(as simple
as possible)
Internal view: complex
17
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Components and interfaces
Interfaces present abilites of a component to different user
groups
Patient
Cat
Pet
class Cat implements Patient, Pet {…}
Source: Roger King
18
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Agenda
Architectural Viewpoints
Software Categories
Components and Interfaces
Reference
Reference
Architecture
Architecture
for Business
for Business
Information
Information
Systems
Systems
Literature
Reference architecture
Reference architecture for business information systems
Quasar (Quality Software Architecture)
cd Quasar Architecture
«Abstract T Component»
«A Component»
Client Management
Dialog
Separation of A
Software and T
Software on the
component level
Identification of the
main technical
components
«Abstract T Component»
Application Kernel
Facade
Alternatives
«A Component»
«Abstract T Component»
Application
Component
Authorization
Identification of
dependencies
Alternatives
«Abstract T Component»
Transaction
20
«Abstract T Component»
Persistence
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Agenda
Architectural Viewpoints
Software Categories
Components and Interfaces
Reference Architecture for Business Information Systems
Literature
Literature
Literature
References for this lecture
Sections of „Teil 1“ dealing with today‘s lecture:
1.2 Kategorien (Blutgruppen)
1.3 Schnittstellen und Komponenten
2. Architekturbegriffe
22
Prof. Dr. Bernhard Humm, Darmstadt University of Applied Sciencse, WS 2008 / 2009. 20.10.2008
Herunterladen