Software-Architektur
:
Uwe Mehlig, Thomas Neumann, Oliver Vogel, Ingo Arnold, Arif Chughtai, Markus Völter, Uwe Zdun
:
Software-Architektur
:
Spektrum Akademischer Verlag
:
9783827415349
:
1
:
CHF 39.50
:
:
Naturwissenschaft
:
German
:
567
:
DRM
:
PC/MAC/eReader/Tablet
:
PDF
Als Architekt arbeiten Sie in einem sehr vielfältigen und dynamischen Umfeld. Neue Technologien drängen auf den Markt, neue Werkzeuge versprechen Effizienz- und Produktivitätssteigerungen und neue Architekturkonzepte, wie Serviceorientierung und modellgetriebene Verfahren sollen Ihnen helfen, mit der inhärenten Komplexität von IT-Systemen umzugehen. All diese Entwicklungen und Neuerungen müssen Sie als Architekt verstehen, einordnen und letztlich beurteilen können, um die Spreu vom Weizen zu trennen und für Ihre konkrete Problemstellung die passende Lösung zu wählen.
Dieses Buch hilft Ihnen dabei, indem es das Thema Software-Architektur umfassend behandelt und mit Hilfe eines architektonischen Ordnungsrahmens strukturiert. Es stellt Sie als Architekten in den Mittelpunkt und bietet Ihnen langfristige Orientierung. Das Buch vermittelt hierzu essenzielles Architektur-Wissen und zeigt Ihnen, wie Sie dieses Wissen konkret und in entsprechenden Projekten einsetzen können.
Zu diesem Zweck enthält das Buch Anwendungsszenarien und Fallstudien aus verschiedenen Industriezweigen und Anwendungsdomänen. Software-Entwickler und Studenten erhalten mit diesem Buch eine wertvolle Hilfestellung, um in das Thema Software-Architektur einzusteigen.
Oliver Vogel ist IT-Architekt und -Trainer für Software-Architektur und -Design bei IBM Business Consulting Services. Er ist in verschiedenen internationalen Projekten tätig und beschäftigt sich mit der Konzeption und Realisierung von komplexen, verteilten Software-Architekturen. Darüber hinaus publiziert er Artikel zu dem genannten Themengebiet und hält Vorträge an Hochschulen und Konferenzen.
Ingo Arnold arbeitet als IT-Architekt für Novartis Pharma AG Schweiz. Schwerpunkte seiner Arbeit sind die Konzeption, Planung, Umsetzung sowie die Weiterentwicklung von Anwendungsdienst-Architekture im Rahmen internationaler Großprojekte. Arif Chughtai ist selbständiger Berater und Trainer für objektorientierte Software-Entwicklung. Sein spezielles Interesse gilt Konzepten, die zu einer Verbesserung der technischen Software-Qualität führen. Prof. Dr. Edmund Ihler ist seit 2000 Professor für Informatik an der Hochschule der Medien in Stuttgart.
Der Hauptschwerpunkt seiner Arbeit liegt dort im Gebiet objektorientierte Softwaremodellierung und modellgetriebenes Software Engineering. Er ist Leiter des Studiengangs Medieninformatik. Uwe Mehlig ist als IT-Architekt bei der IBM Deutschland GmbH im Bereich Business Consulting Services tätig. Thomas Neumann ist Software-Architekt mit 15 Jahren Erfahrung in der Software-Entwicklung. Markus Völter ist freiberuflicher Berater und Trainer für Softwaretechnologie und Software Engineering. Seine Schwerpunkte liegen auf Softwarearchitektur, Middleware und modellgetriebener Softwareentwicklung. Dr. Uwe Zdun ist Universitätsassistent an der Abteilung für Wirtschaftsinformatik der Wirtschaftsuniversität Wien.
3 Architekturen und Architektur- Disziplinen (WAS)
(S.39)
Dieses Kapitel befasst sich mit der WAS-Dimension des architektonischen Ordnungsrahmens. Es vermittelt ein grundlegendes Verständnis von Architektur, indem es aufzeigt, was im Rahmen dieses Buches unter Architektur und damit verbundenen Architektur-Disziplinen zu verstehen ist.
Darüber hinaus werden wesentliche Systembausteine und ihre Beziehungen zueinander vorgestellt. Da der Charakter von Systemen und das Denken in Systemen für die Arbeit eines Architekten essenziell sind, wird der Systemgedanke im Kontext von Architektur in diesem Kapitel motiviert. Nach dem Lesen dieses Kapitels sind Sie in der Lage, den allgemeinen Charakter von Architektur zu erklären, einzelne Architektur- Disziplinen zu unterscheiden sowie die wichtigsten Bausteine von Systemen zu differenzieren und ihre Beziehungen darzustellen.
3.1 Klassische Architektur als Ausgangspunkt
Dieser Abschnitt betrachtet Architektur aus einem allgemeinen Blickwinkel. Er zeigt auf, was ganz allgemein unter Architektur zu verstehen ist. Auf der Grundlage dieses Verständnisses wird im weiteren Verlauf dieses Kapitels Software-Architektur vorgestellt. Als Ausgangspunkt für diese Betrachtung dient die klassische Architektur von Gebäuden und Bauwerken. Eine mögliche Definition der klassischen Architektur bietet das American Heritage Dictionary:
The art and science of designing and erecting buildings. A style and method of design and construction Orderly arrangement of parts Wenn man diese Definition zugrunde legt, ist Architektur sowohl eine Kunst (englisch: art) als auch eine Wissenschaft (englisch: science), die sich sowohl mit dem Entwerfen (englisch: designing) als auch mit dem Bauen (englisch: erecting) von Bauwerken beschäftigt.
Sie konzentriert sich also nicht nur auf die Planung des Bauwerks, sondern erstreckt sich hinein bis in dessen Realisierung. Ferner ist ein Schlüsselergebnis der Architektur-Tätigkeit das Arrangieren beziehungsweise das Anordnen von Teilen des Bauwerks (englisch: orderly arrangement of parts). Somit trifft Architektur wichtige Aussagen über die Struktur des Bauwerks. Die Definition besagt weiter, dass Architektur-Stile (englisch: styles) und -Methoden (englisch: methods) Bestandteile von Architektur sind.
Diese repräsentieren architektonische Erfahrung, die der Architekt im Rahmen seiner Tätigkeit einsetzt. Architektur ist hiermit nicht nur die Struktur eines Bauwerks, sondern auch die Art und Weise, an etwas heranzugehen.
Der Begriff Architektur ist somit nicht eindeutig belegt. Stattdessen versteht man unter Architektur zum einen die Struktur eines Bauwerks oder eines IT- bzw. Software-Systems und zum anderen die von Menschen ausgeübten Tätigkeiten zum Entwurf der Struktur. Um die eigentliche Tätigkeit beziehungsweise das architektonische Handeln besser von den strukturellen Aspekten von Architektur zu unterscheiden, wird das Handeln im weiteren Verlauf als Architektur-Disziplin verstanden.
Architekturen entstehen ganz generell aufgrund von Anforderungen (z. B. dem Wunsch nach einfachen Behausungen) und unter Verwen- dung von vorhandenen Mitteln (z. B. Baumaterialien und Werkzeugen). Der eigentliche Entwurf basierte in der klassischen Architektur zunächst a uf d em P rinzip v on V ersuch u nd I rrtum ( englisch: trial and error) und erfolgte in aller Regel ad hoc.
Dadurch besaß auch jedes Bauwerk seine individuellen Strukturen. Eine geordnete Anordnung von Teilen durch eine geplante Architektur war meist nicht gegeben. Erst indem die gewonnenen Architektur-Erfahrungen mündlich oder schriftlich weitergegeben wurden, entwickelten sich Architektur-Stile.
Vorwort
6
Inhaltsverzeichnis
10
Verzeichnis der Autoren
16
1 Einleitung
18
1.1 Ausgangslage und Zielsetzung des Buches
19
1.2 Was ist Software-Architektur?
25
1.3 Leser-Leitfaden
28
1.3.1 Buchaufbau
28
1.3.2 Zielpublikum
32
1.3.3 Kapitelüberblick
32
1.3.4 Kapitel im Detail
35
2 Architektonischer Ordnungsrahmen
40
2.1 Motivation
41
2.2 Ordnungsrahmen im Überblick
43
2.3 Architekturen und Architektur-Disziplinen ( WAS)
47
2.4 Architektur-Perspektiven (WO)
48
2.5 Architektur-Anforderungen (WARUM)
49
2.6 Architektur-Mittel (WOMIT)
50
2.7 Organisationen und Individuen (WER)
53
2.8 Architektur-Vorgehen (WIE)
54
3 Architekturen und Architektur-Disziplinen (WAS)
56
3.1 Klassische Architektur als Ausgangspunkt
57
3.2 Von der klassischen Architektur zur Software- Architektur
61
3.3 Architektur und der Systemgedanke
69
3.4 Architektur und die Bausteine eines Systems
74
4 Architektur-Perspektiven (WO)
82
4.1 Architektur-Ebenen
83
4.1.1 Organisationsebene
88
4.1.2 Systemebene
90
4.1.3 Bausteinebene im Bereich Makro-Architektur
90
4.1.4 Bausteinebene im Bereich Mikro-Architektur
91
4.2 Architektur-Sichten
92
4.2.1 Zachman-Framework
101
4.2.2 Reference Model for Open Distributed Processing
104
4.2.3 4+1-Sichten-Modell
105
5 Architektur-Anforderungen (WARUM)
108
5.1 Allgemeines
109
5.2 Anforderungen im Überblick
111
5.3 Anforderungen im Detail
116
5.3.1 Organisationsanforderungen
116
5.3.2 Systemanforderungen
117
5.3.3 Bausteinanforderungen
118
5.3.4 Laufzeitanforderungen
119
5.3.5 Entwicklungszeitanforderungen
120
5.3.6 Organisatorische Rahmenbedingungen
122
5.4 Anforderungen im Architektur-Kontext
123
6 Architektur-Mittel (WOMIT)
128
6.1 Architektur-Prinzipien
129
6.1.1 Prinzip der losen Kopplung
131
<