s Designing IS architectures s Architectural platforms ... Architecture of application software,. e.g. using data flow .
Modeling Information Systems Architectures Paul Grefen (DB|MA-IS-CS)|CTIT-UT
[email protected]
Purpose of this lecture
The purpose of this lecture is not to present pre-cooked solutions to architectural problems, but rather to clarify architectural issues and discuss a number of important topics in this context.
Table of contents What are IS architectures ? ■ Aspects of IS architectures ■ Types of IS Architectures ■ Reference Architectures ■ Designing IS architectures ■ Architectural platforms ■ Conclusions ■
What are IS architectures ?
General architecture architectuur' (architektuur), v., 1. bouw kunst, de kunst en de leer van het ontw erpen en uitvoeren van bouw w erken; - toepassing daarvan: onder architectuur gebouw d, naar de plannen van een bekend architect; - 2. bouw stijl: G riekse architectuur; - 3. (fig.) bouw , constructie: de architectuur van de kaak (V estdijk); - 4. (m eton.) bouw sel(s), bouw w erk(en): voorbeelden van m oderne architectuur; Van Dale
Software architecture
The architecture of a software system defines that system in terms of computational components and interactions among those components. Software Architecture; Shaw & Garlan; Prentice Hall, 1996
Example architecture
Information system architecture
The architecture of an information system defines that system in terms of components and interactions among those components, from the viewpoint of specific aspects of that system, and based on specific structuring principles.
Interpreting IS architectures
Syntax: structure of the architecture ■ Semantics: meaning of components and interactions ■ Pragmatics: reasons behind structure & meaning ■
Aspects of IS Architectures
Aspects architecture
data
organization
communication
system
configuration
Truyens et al.; 1990
Data aspect architecture Architecture of data managed by systems, e.g. using (E)ER diagrams.
data
organisation
communication
system
configuration
System aspect architecture Architecture of application software, e.g. using data flow diagrams or module diagrams. 1
Req.
book trip
data
organisation
communication
system
configuration
2
4
proc. ackn.
proc. inv.
a trip data
b fin. data
3
5
proc. docs.
proc. paym.
Pay.
Configuration aspect architecture Architecture of hardware and low-level software (e.g. OS, DBMS), e.g. using configuration diagrams.
data
Oracle Oracle organisation
system
FlowMark FlowMark
UNIX UNIX SPARC SPARC
communication
configuration
Communication aspect architecture (I) Architecture of communication infrastructure (networks, communication software), using e.g. topology diagrams. OLD 3174
data
ES/9000 (HBS)
ES/9000 (APL)
2 Mb/s
3745
Commun. Controller
PDP 11/74 Haemodialyse Systeem
19,2 Kb/s
organisation
system
LOS 3174
Token Ring
3174 PMK
3174
communication
configuration
3174 Cluster Controller
PC Specialisten Systemen
PC PC
Communication aspect architecture (II) OLD 3174
ES/9000 (HBS)
ES/9000 (APL)
2 Mb/s
3745
Commun. Controller
PDP 11/74 Haemodialyse Systeem
19,2 Kb/s
LOS 3174
Token Ring
data
3174 PMK
organisation
communication
system
3174 configuration
3174 Cluster Controller
PC Specialisten Systemen
PC PC
Organization aspect architecture Architecture of organization structure and processes related to administration and maintenance of systems, using e.g. organigrams and procedure handbooks data
organisation
communication
system
configuration
A design path with aspects
start arch.: major apects combined
global arch.: major apects combined
Types of IS Architectures
Type of IS architectures Based on structuring principles: ■ Monolithic / Layered / Columned / OO ■ Single-Level versus Multi-Level Based on purpose: ■ Conceptual versus Technical ■ Application versus General System ■ Reference versus Concrete
Structuring principles (I)
Monolithic
Layered
Columned
Object-Oriented
and combinations
Structuring principles (II) Multi-level architectures: allow for multiple aggregation levels of functionality
Structuring principles (III)
Columned
Pipe
Syntax: several system modules in the same layer. Semantics: multiple subsystems at the same abstraction level using each others functionality. Pragmatics: separation of concerns (system arch.) or distribution (conf. arch.).
Purpose of architecture (I) Conceptual architecture: describes structure of conceptual design of system Technical architecture: describes structure of implementation of system
conceptual
technical
Purpose of architecture (II) Application: describes architecture for specific application and context General system: describes architecture for general application and context Concrete: describes architecture of a specific system to be directly applied Reference: describes blue-print of abstract system to be “concretized” before application
Reference Architectures
Reference architecture
A reference architecture is a general, abstract architecture that can be instantiated for specific situations. Instantiated = • filled in, detailed • parameterized, adapted • extended, selected
ISO-OSI reference architecture application presentation session transport network data link physical
Structure: layered Aspects: system configuration communication Pragmatics: standard interface levels for horizontal communication
ANSI/SPARC reference architecture
external model conceptual model internal model
Structure: layered Aspects: system data organization Pragmatics: separation between database levels for different purposes
ANSI/SPARC in DDBS Glob.Ext. Schema
Glob.Ext. Schema
Glob.Ext. Schema
Glob.Conc. Schema Fragm. Schema Alloc. Schema Loc.Map. Schema
Loc.Map. Schema
Loc.Map. Schema
Loc.Conc. Schema
Loc.Conc. Schema
Loc.Conc. Schema
Loc.Int. Schema
Loc.Int. Schema
Loc.Int. Schema
DB
DB
DB
Structure: idem Aspects: idem + communicat. Pragmatics: idem + distribution Connolly, Begg & Strachnan, 1995
WfMC reference architecture (I) Process Definition Tools IF1 Workflow API & Interchange Formats Adminstration & Mngmnt Tools
IF5
Workflow Engine(s)
IF4
Workflow Enactment Service IF2 Workflow Client Applications
IF3 Invoked Applications
Workflow Engine(s) Other WF Enactment Service(s)
WfMC reference architecture (II)
Process Process Definition Definition
Workflow Workflow Clients Clients
Administr. Administr. & &Mngmnt Mngmnt
Workflow Workflow Engine Engine Applications Applications Structure: first layered, then columned
Designing IS Architectures
Example architecture design Mercurius initiative (1995) ■ Purpose: specification of reference WFMS ■ Focus: detailed system architecture ■ Participants: 2 universities, polytechnic consultancy firm, financial institution ■
Mercurius architecture design principles
Flexibility (detail, aspect) ■ Top-down architecture design strategy ■ WF design versus WF enactment ■ Kernel versus additional functionality Positioning in context ■ Explicit interfaces to environment
Mercurius overall WFMS architecture organization
UIS
UIS
data stores
WF Design
WF Clients
AS/OS/ DBMS
WF Server
CS
DBMS
AS/OS
system
data data stores
communication
WF Server
configuration
Mercurius design module architecture UIS Interface
AS Interface
Extension Module software bus
WF Design Engine
DBMS Interface
organ. data
def. data
proc. data
appl. data
Mercurius design engine architecture Organisat. Design
organ. data
Global Design
Product Design
proc. data
Detail Design
def. data
appl. data
Tuning
Mercurius enactment module architecture AS
WFC Interface
AS Interface
WFS Engine
CS Interface
DBMS Interface
OS Interface
Extension Module software bus
organ. data
def. data
proc. data
man. data
appl. data
Mercurius enactment engine architecture W FC Interface
C lock M odu le
p roc. d ata
d ef. d ata
app l. d ata
E vent R eceptor
CS Interface
E vent A n alyzer
AS Interface
A ction S yn thesizer
softw are bus
A ction E xecutor OS Interface
Architectural Platforms
Distributed Object Architectures object model architecture vs. system model architecture ■ application object access vs. server system access ■ fine grain computation vs. coarse grain computation ■ transparent distribution vs. no/explicit distribution ■
Example architecture ‘traditional’ Workflow Client
Transaction Manager
Workflow Engine
trans data
case data
Example architecture a la DOA
client
transact.
transact.
client
case
case
scheduler
OMG-OMA Application Objects
Common Facilities
Object Request Broker
Object Services
Example architecture: WIDE WFMS
Global Trans. Man.
LTM Workflow Engine LT
GT
Local Trans. Interface
BAL
DBMS
Conclusions
Conclusions
✸ Modeling
of architectures of paramount importance CIS design ✸ Modeling of CIS architectures has many aspects ✸ Modeling of CIS architectures is a discipline that is in its infancy