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