Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Architekturen interoperabler Systeme für raumzeitliche Prozesse

Ähnliche Präsentationen


Präsentation zum Thema: "Architekturen interoperabler Systeme für raumzeitliche Prozesse"—  Präsentation transkript:

1 Architekturen interoperabler Systeme für raumzeitliche Prozesse
Einige Grundlagen Bernard Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

2 Grundlegendes zu Software-Architekturen
Struktur Motivation Ursprung und Begriffsdefinition Design und Architekturen Systemarchitekturen – Beispiel Schichtenmodell Patterns – Beispiele Frameworks Fazit Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

3 1. Motivation – Wozu Architekturen ?
hierzu, nicht unbedingt.... Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

4 1. Motivation – Wozu Architekturen ?
hierzu bestimmt ! Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

5 1. Motivation – Wozu Architekturen ?
Überblick: Strukturierung komplexer Systeme ( Baupläne) Kommunikation komplexer Systeme Koordination Kostenschätzung... Kostenreduzierung, z.B. durch Wiederverwendung ( Standard-Fenster) Gute Entwürfe recyclen ( Grundrisse)... Der Architekt weiß, wie es geht ! .... Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

6 2. Software-Architektur – Ursprung:
In programming, the term architecture was first used to mean a description of a computer system that applied equally to more than one actual system. In 1969, Fred Brooks and Ken Iverson called architecture the "conceptual structure of a computer...as seen by the programmer"...."Where architecture tells what happens, implementation tells how it is made to happen." (Paul Clements, Software Engineering Institute; Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

7 2. Software-Architektur – Definitionen.
There is no standard, universally-accepted definition of the term, for software architecture is a field in its infancy, although its roots run deep in software engineering. (Software Engineering Institute / Carnegie Mellon University; Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

8 2. Software-Architektur – Definitionen:
An architecture is the set of significant decisions about the organization of a software system, the selection of the structural elements and their interfaces by which the system is composed, together with their behavior as specified in the collaborations among those elements, the composition of these structural and behavioral elements into progressively larger subsystems, and the architectural style that guides this organization - these elements and their interfaces, their collaborations, and their composition. (Booch, Rumbaugh, Jacobson (1999): The UML Modeling Language User Guide, Addison-Wesley).  das erklärt auch die einzelnen UML Diagrammtypen.... Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

9 2. Software-Architektur – Definitionen:
The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships among them (Bass, Clements, Kazman (1997): Software Architecture in Practice, Addison-Wesley). Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

10 3. Design und Architekturen:
Der Schritt der Systemanalyse (z.B. domain analysis,...Literatur: z.B. Booch et al. (1999); Östereich (97-01)) mit dem elementaren Ziel: Systemanforderungen ermitteln und dazu passende Systemform finden wird hier überschritten... Ein weiteres grundlegendes Ziel des Software-Engineer ist die Wiederverwendung bestehender Konzepte/Komponenten bzw. Wiederverwendbarkeit der zu entwickelnden Komponenten Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

11 3. Design und Architekturen:
Techniken zur Wiederverwendung bzw. zum Teilen (sharing) eines Ansatzes über mehrere Projekte (nach Szyperski 1999): Konsistenz teilen: Programmiersprachen Lösungsfragmente teilen: Programm-Bibliotheken Absprachen teilen: Schnittstellen Interaktions-Architekturen teilen: Pattern Teilarchitekturen teilen: Frameworks Gesamtstruktur teilen: Systemarchitektur Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

12 4. Systemarchitekturen - Schichtenmodelle
Beispiel Java: Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

13 4. Systemarchitekturen - Schichtenmodelle
Beispiel 2-tier; client/server (seit den 80‘ern): Client: User Interface + Prozessmanagement Server: DBMS + Prozessmanagement Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

14 4. Systemarchitekturen - Schichtenmodelle
Beispiel 3-tier; client/application-server/data-server(seit den 90‘ern): Client: User Interface Application Server: Prozessmanagement (Prozesslogik) Data Server: DBMS Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

15 4. Systemarchitekturen - Schichtenmodelle
Beispiel ISO/OSI Referenzmodell für Netzwerkanwendungen: Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

16 4. Systemarchitekturen – Service based architecture
Dynamische Systemintegration program to program communictaion Zusammenfügen von Anwendungskomponenten zur Laufzeit (z.B. freie Wahl bei der Inanspruchnahme kostpflichtiger Angebote im WWW) Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

17 4. Systemarchitekturen – Service based architecture
Implementierung eines (standardisierten) Interfaces, das eine Menge von Operationen über ein Netzwerk verfügbar macht. Das Interface „versteckt“ Implementierungsdetails, so dass es unabhängig von der verwendeten Hard- und Softwareplattform genutzt werden kann (cross technology implementation). Wird durch eine service description beschrieben, welche alle Informationen enthält, die zur Interaktion mit dem Service erforderlich sind. Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

18 4. Systemarchitekturen – Service based architecture (find-bind-publish)
Basiert auf den Interaktionen dreier Rollen: 1. Service provider 2. Service registry 3. Service requestor Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

19 4. Schichtenmodelle – Eigenschaften:
Ziel Abstraktion einzelner Schichten um diese austauschbar zu machen ( Interoperabilät): Beschreibung von Schnittstellen stricly layered versus non-strictly layered Grundlegendes Prinzip der heute verwendeten Middleware-Ansätze Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

20 4. Architekturelemente (mehrschichtigen Systemen)
Mehrschichtige Systeme sind aus einer Vielzahl von Komponenten aufgebaut. Daraus ergeben sich unterschiedliche, immer wiederkehrende Anforderungen: Transparenz, plattformneutrale Kommunikation Auffinden und Aktivierung von Komponenten Performance, Skalierbarkeit, Quality of Service  Für viele dieser Probleme gibt es daher Lösungsmuster (patterns) die sich in vielen Systemen/Middlewares wiederfinden. Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

21 5. Patterns – Kommunikationsmuster
Sowohl die einzelnen Schichten als auch Komponenten innerhalb einer Schicht müssen durch Kommunikationsmechanismen verbunden werden Arten der Kommunikation: 1. Lokaler Server (native procedure call) 2. Synchroner RPC (Remote Procedure Call) 3. Asynchroner RPC 4. Message-basiert (Publish-Subscribe) Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

22 5. Patterns – Synchrone Kommunikation (S-RPC)
Alle Komponenten sollten gleich angesprochen werden können, egal ob sie lokal oder verteilt sind Proxy-Pattern AbstractService +service() Client Proxy Service +service() -marshal() 1 1 +service() -unmarshal() Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

23 5. Patterns – Dynamischer Ablauf S-RPC
Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

24 5. Patterns – Broker Wie lokalisiert man Komponenten?
Wie initiiert man die Kommunikation? Proxy Proxy Broker 1 * message exchange message exchange +service() +service() +locate_service() -marshal() * 1 -marshal() +register_service() -unmarshal() -unmarshal() * * calls calls 1 1 Client Service +service() Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

25 5. Patterns – Dynamischer Ablauf Broker
Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

26 5. Patterns – Asynchrone, zeitunabhängige Kommunikation A-RCP
Probleme bei der synchronen Kommunikation: Clients müssen warten, bis das Ergebnis geliefert wird Clients müssen immer online und in Verbindung mit dem Server bleiben Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

27 5. Patterns – Publisher-Subscriber A-RCP
Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

28 5. Patterns – Dynamischer Ablauf A-RCP
 Mehr patterns - Folien von M. Stal: Effective Architectures for Distributed Object Computing Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

29 6. Frameworks - Eigenschaften
fassen Patterns zu logischen Einheiten zusammen sind nicht nur abstrakte Konzepte sondern sind durch Implementierungen realisiert zielen meist auf einen speziellen Anwendungsbereich Bspe: Klassenbibliotheken, GUI-Toolkits, ... Systemarchitekturen bedienen sich eines oder mehrere frameworks Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

30 6. Frameworks - Eigenschaften
white box framework Strukturierte Sammlung von Quelltexten Interoperabilität zur Kompilierzeit Implementierung transparent black box framework Strukturierte Sammlung von binären Entitäten (components) plug-and-play zur Laufzeit Implementierung unbekannt Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

31 Fazit Architekturen dienen: der Strukturierung,
der Kommunikation von Designentscheidungen, des Systementwurfes, der Beschreibung der Interaktionen und Schnittstellen. Auf unterschiedlichen Granularitätsebenen finden sich mit höher werdender Granularität: Systemarchitekturen, Frameworks und Patterns Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse

32 Fazit In Architekturen finden sich wiederkehrende Muster (patterns)
Frameworks erlauben die dynamische Konfiguration eines aus patterns aufgebauten Anwendungsgerüsts (toolbox) Systemearchitekturen beschreiben das Gesamtsystem, weit verbreitet sind multi-tier Architekturen  Abstraktion durch Schichten  Interoperabilität durch definierte Schnittstellen und Protokolle Grundlagen Architekturen interoperabler Systeme für raumzeitliche Prozesse


Herunterladen ppt "Architekturen interoperabler Systeme für raumzeitliche Prozesse"

Ähnliche Präsentationen


Google-Anzeigen