Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Software Architektur I

Ähnliche Präsentationen


Präsentation zum Thema: "Software Architektur I"—  Präsentation transkript:

1 Software Architektur I
Einführung Innere/Äussere Architektur Single-/Multi-Tier Middleware MOM

2 Lernziele Sie können ... den Sinn und Zweck der Architektur erläutern
zwischen innerer und äusserer Architektur unterscheiden Single-/Multitier-Architekturen situationsabhängig vorschlagen verschiedene Arten von Middleware benennen die Prinzipien von Message Oriented Middleware (MOM) erläutern

3 Zweck der Architektur Chaos

4 Architektur „…the fundamental organization of a system embodied in its components, their relationships to each other, and to the environment, and the principles guiding its design and evolution.“ (IEEE Standard Recommended Practice for Architectural Description for Software-Intensive Systems)

5 Komponenten Komponenten sind Strukturelemente einer Softwarearchitektur. Verschiedene Granularitätsstufen Hauptzielsetzungen von Komponenten: Abhängigkeiten zu beherrschen Eigenschaften von Komponenten (im engeren Sinne): Kapselung von Daten und Methoden (Information Hiding) Zugriff nur über definierte Schnittstellen Können einfach oder mehrfach instanziiert werden

6 IT-Architektur - Zusammenhänge
Markt IT-Markt

7 Architektur im Entwicklungsprozess
Äussere Architektur wird als Architekturprojekt festgelegt. Innere Architektur ist Teil des Design-Prozesses.

8 Innere Architektur I System Subsysteme Teil des Entwicklungsprojektes
Konkrete Subsystembildung Applikationscluster Applikation (System) Modul (Subsystem) Komponente Implementierte Klassen System Subsysteme

9 Innere Architektur II

10 Abstraktionsstufen im Architekturentwurf

11 Musterarchitektur Quasar I
Quasar – Qualitäts-Software-Architektur Technologieunabhängige Musterarchitektur für komplexe verteilte betriebliche Informationssysteme: Entwurfskonzepte und –richtlinien Einheitliche Begriffswelt Standardisierte Schnittstellen zu Diensten Wieder verwendbare Dienstkomponenten Beispiel 1:

12 Musterarchitektur Quasar II
Beispiel 2:

13 POSA Pattern Oriented Software Architecture 3 Ebenen von Muster:
Architekturmuster Muster für verteilte Anwendungen Bsp.: MVC Entwurfsmuster Weniger als GoF (Gang of Four) Konzentration auf verteilte Anwendungen Idiome Programmierspezifische Konzepte

14 Architekturmodelle Single-Tier Client-Server-Architekturmodell
Basismodell: Client  Consumer Server  Provider Peer-to-Peer-Architekturmodell Ausgebautes Service-Modell: Service-Provider   Service Consumer Modell des Internet!

15 Schichtenarchitekturen
3 Hauptaufgaben: Präsentation – Interaktivität – Input/Output der Daten Anwendungslogik – Verarbeitung der Daten Datenhaltung – Speicherung der Daten Verteilung der Aufgaben auf einzelne Schichten (Tiers) 2-Tier-Architektur Fat (Rich) Client Thin Client Stored Precedures Anwendungslogik Präsentation

16 3-Tier-Architecture Client-Tier: Middle-Tier Server-Tier Präsentation
Front-End Middle-Tier Anwendungslogig Business-Logic Server-Tier Datenhaltung Back-End Persistenz  Datenbanksysteme Manchmal sind dies auch EIS (Enterprise Information System) wie z.B. Legacy Systems («Erbstücke»)

17 n-Tier-Architecture DMZ = Demilitarisierte Zone

18 Verteilte Systeme Heute Millionen von Computersystemen, welche miteinander verbunden sind. Netzwerke bilden Transportebene LAN – WAN Intranet – Extranet – Internet

19 Verteilte Anwendungen
Anwendungskomponenten arbeiten über die verteilten Systeme hinweg miteinander Einfache verteilte Anwendungen z.B. Internetanwendungen über WWW Verteilte Informationssysteme (Mehrschichtige Anwendungen): z.B. Flugreservationssystem Eingebettete verteilte Systeme (Embedded distributed Systems) z.B. Intelligentes Navigationssystem im Auto Mobile verteilte Systeme z.B. -Anwendungen über PDA‘s bzw. Mobiltelefone

20 Middleware Standardisierte Software, welche verteilte Systeme bzw. Anwendungen ermöglicht. Abstraktion von der Netzwerkprogrammierung Kommunikationsorientierte Middleware z.B. RPC, RMI, Web-Service Anwendungsorientierte Middleware z.B. CORBA, J2EE, .NET

21 Kommunikationsmodelle
Interaktionsmuster zwischen einzelnen Komponenten (Kommunikationspartner) Synchron – Gleichzeitigkeit Asynchron – Message Oriented Middleware (MOM)

22 Transparenz Ziel der Middleware:
 Verbergen von Verteilungsaspekten vor der Anwendung Zugriffstransparenz Ortstransparenz Nebenläufigkeitstransparenz Fehlertransparenz Replikationstransparenz

23 Vor-/Nachteile der Verteilung
Vorteile Gemeinsame Nutzung von Ressourcen: Hardware Software (Anwendungen, Funktionalität) Daten, Informationen Enabler von neuen Geschäftsmodellen z.B. e-Commerce Nachteile Komplexe Systemumgebung Erhöhtes Sicherheitsrisiko z.B. Viren, Würmer, Datenspionage etc.

24 Klassifikationsschema von Middleware
Anwendungsorientierte Middleware Um Dienste und Laufzeitaspekte erweiterte Middleware zur Unterstützung der Anwendung. Kommunikationsorientierte Middleware Abstraktionsschicht zwischen Anwendung und verteiltem System

25 Kommunikationsorientierte Middleware
Einordnung des Middleware-Protokolles:

26 Kategorisierung Kommunikationsorientierter Middleware
Entfernter Aufruf (synchrone Kommunikation): Prozedural: Remote Procedure Call (RPC) Objektorientiert: Remote Method Invocation (RMI) Web-Services (SOAP) Nachrichtenorientierte Middleware (asynchrone Kommunikation) Java Message Service (JMS) MQSeries von IBM

27 Aufgaben kommunikationsorientierter Middleware
Abstraktion des Transports Marshalling – Unmarshalling Datentransformation zwischen den Plattformen Plattformabhängig (Hardware-/Betriebssystem-/Framework-/Programmiersprachabhängig): EBCDIC (IBM, Extended Binary Coded Decimal Interchange Code) ASCII (American Standard Code for Information Interchange) Plattformunabhängig: CDR (CORBA, Common Data Representation) Unicode / ISO/IEC 10646 Externe Datenformate (mit semantischer Ebene): EDI  EDIFACT (Electronic Data Interchange) XML (Extended Markup Language) Fehlerbehandlung/Fehlerbehebung

28 RPC (Remote Procedure Call) I
Entfernter Prozeduraufruf Idee: Aufruf einer entfernten Prozedur wie lokaler Prozeduraufruf (Verteilungs-/Ortstransparenz) Implementierung in unterschiedlichen Umgebungen: Sun RPC Microsoft Windows Herstellerneutral: DCE RPC (Distributed Computing Environment) von Open Group

29 RPC (Remote Procedure Call) II
Ablauf eines entfernten (synchronen) Prozeduraufrufes: Stub: Stumpf, Programmhülle mit Schnittstelle jedoch ohne Implementierungscode

30 RMI (Remote Method Invocation) I
Ablauf eines entfernten (synchronen) Methodenaufrufes: Proxy: Stellvertreter Skeleton: Serverseitige Programmhülle

31 RMI (Remote Method Invocation) II
Java-Source-Code javac  Java-Compiler rmic  RMI-Compiler Erst bei Aufruf Load auf den Client

32 MOM (Message Oriented Middleware) I
Modell der asynchronen Nachrichtenübermittlung: (Message) MOM (Message-Queue)

33 MOM (Message Oriented Middleware) II
Kein Session-Handling notwendig Grundsätzlich ein Store-and-Forward-Prinzip Zur Zusicherung der garantierten Zustellung: Voraussetzung: persistente Warteschlangen Rückmeldung bei erfolgter Zustellung

34 Request-Reply Model Simulation der synchronen Kommunikation
Transaktion ist beim Sender erst abgeschlossen, wenn entsprechender Reply vorhanden ist. Vorteile gegenüber synchroner Kommunikation: geringere Kommunikationsressourcen mehrere parallele Verbindungen möglich Message-ID und Correlation-ID notwendig

35 Publish-Subscribe Model
Abonnentensystem

36 Message Services Produkte
Java JMS - Java Message Service Microsoft MSMQ – Microsoft Message Queuing IBM WebSphere MQ (früher MQSeries)

37 JNDI – Java Naming and Directoy Interface
JMS – Architektur JNDI – Java Naming and Directoy Interface CF – Connection Factory D - Destination Java-Anwendung MOM-Server

38 JMS - Kommunikationsablauf
Aufbau der Verbindung eines JMS-Client zum JMS-Provider Receiving Message Sending Message synchron asynchron

39 Point-to-Point Schnittstelle
Beispiel von Java-Code auf Seite 106

40 Publish-Subscribe Schnittstelle
Wichtigster Unterschied bildet die Topic-Warteschlange.


Herunterladen ppt "Software Architektur I"

Ähnliche Präsentationen


Google-Anzeigen