Softwarearchitektur verteilter Systeme

Größe: px
Ab Seite anzeigen:

Download "Softwarearchitektur verteilter Systeme"

Transkript

1 Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung Vorlesung Wintersemester 2002 / 03 Technische Universität München Institut für Informatik Lehrstuhl von Prof. Dr. Manfred Broy Dr. Klaus Bergner, Prof. Dr. Manfred Broy, Dr. Andreas Rausch, Dr. Marc Sihling

2 Inhalt Musterbasierte Architekturen (Pattern) Muster Wieso, weshalb, warum? Design-Muster Architekturmuster Analysemuster Bewertung Referenzarchitekturen Produktlinienarchitekturen Zusammenfassung Literaturhinweise Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.2

3 Inhalt Musterbasierte Architekturen (Pattern) Muster Wieso, weshalb, warum? Design-Muster Architekturmuster Analysemuster Bewertung Referenzarchitekturen Produktlinienarchitekturen Zusammenfassung Literaturhinweise Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.3

4 Muster Wieso, weshalb, warum? Klassen sind sehr kleine Einheiten, deren Wiederverwendung steigert die Produktivität kaum. Datenbanken, Middleware und COTS-Komponenten ermöglichen Wiederverwendung auf der Ebene von ausführbaren, binären Komponenten. Frameworks und Bibliotheken unterstützen lediglich die Wiederverwendung von Programmcode. Aspect-oriented programming und Codegeneratoren unterstützen die Wiederverwendung von spezifischen Lösungsansätzen auf der Implementierungsebene. Wiederverwendung von Spezifikationen, Design und Entwurfswissen? Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.4

5 Analogien Etablierten Ingenieur-Disziplinen verfügen über Handbücher, in denen Lösungen und Lösungsvarianten für so manche bekannten und immer wiederkehrenden Probleme stehen. So entwickeln Automobilbauer ihre Fahrzeuge nicht immer neu auf der Basis physikalischer Gesetze, sie modifizieren und adaptieren bewährte Lösungen. Der Zugewinn an Performance bei einer vollständigen neuen Entwicklung ist selten kostendeckend. Soll das Software-Engineering und die Disziplin Softwarearchitektur eine Ingenieursdisziplin sein, dann müssen erfolgreiche Methoden systematisch dokumentiert, aufgearbeitet und verbreitet werden. Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.5

6 Ursprung des Musteransatzes Der Begriff Pattern als Lösungsmuster, das Lösungsansätze für ähnliche bzw. sich wiederholende Designprobleme bietet, geht zurück auf den Architekten Christopher Alexander [Ale77]. Beispiel Window Place [Ale77]: Jeder liebt Aussichtsplätze in Hochhäusern, auf Bergen oder am Meer Wenn man in einen Raum kommt der Fenster und Sitzplätze hat, die Sitzplätze aber nicht bei den Fenster sind, dann steht man vor folgendem Problem: - Man möchte sich hinsetzten, um es bequem zu haben - Man möchte möglichst in der Nähe des Lichts sein Jeder Raum, in dem man sich länger aufhält sollte mindestens einen Window Place haben Sitzplätze vor dem Fenster Every pattern we define must be formulated in the form of a rule which establishes a relationship between a context, a system of forces which arises in that context and a configuration, which allows these forces to resolve themselves in that context. [Ale79] Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.6

7 Muster sind Lösungsbeschreibungen Ein Designproblem beruht darauf, dass in gewissen Situationen (Kontext), sich widerstrebende Kräfte (Problem) entgegenstehen. Die Lösung besteht darin, mit den in der jeweiligen Designdisziplin zur Verfügung stehenden Werkzeugen die Situation so zu gestalten, dass diese Kräfte optimal ausgeglichen werden. In der klassischen Architektur ist dies die räumliche Gestaltung von Gebäuden In der Softwarearchitektur ist dies die Struktur der Komponenten und deren Beziehungen Ein Muster beschreibt eine Lösung für ein Designproblem Muster sind konstruktiv, d.h. sie liefern Instruktionen zur Lösung einer Problemsituation Muster sind abstrakt, d.h. sie bieten ein breites Anwendungsspektrum mit vielen verschiedenen Anwendungsfällen Muster sind stabil, d.h. sie erfassen den stabilen Kern der Lösung Muster sind über die Zeit hinweg gültig und weitestgehend invariant gegenüber neuen Möglichkeiten Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.7

8 Struktur und Beschreibung von Mustern Ein Muster besteht aus einem Kontext bzw. Situation in dem ein wiederkehrendes Design-Problem auftritt, das durch eine generische, bewährte Lösung gemeistert werden kann. Muster werden beschrieben mit: Musterschablonen geben eine einheitliche Struktur vor, die sich in Kontext, Problem, Lösung und entsprechende Unterpunkte aufteilt Jeder Gliederungspunkte der Musterschablone wird dann mit Freitext und Diagrammen ausgestaltet Muster werden in vielen Disziplinen entwickelt und verwendet, zum Beispiel im Bauwesen, in der Medizin, beim Ölbohren oder in der Softwareentwicklung Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.8

9 Mustersammlungen Musterkataloge sind eine einfache meist kategorisierte Sammlungen ähnlicher oder komplementärer Muster. Eine Mustersprache bildet eine Einheit, in der die zusammenhängenden Muster miteinander kooperieren, um ein gemeinsames Problem zu lösen. Mustersysteme umfassen eine Menge von Mustern auf verschiedenen Abstraktionsstufen. Die Beziehungen zwischen den Mustern beschreiben, wie sich durch die Kombination der Muster Lösungen komplexerer Probleme konstruieren lassen. In der Regel entwickelt sich aus einem Musterkatalog eine Mustersprache und eventuell dann ein Mustersystem. Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.9

10 Architekturmuster Ein Architekturmuster stellt ein Lösungsschema für ein Problem im Architekturentwurf dar. Es umfasst Strukturen und Verhalten, die durch Teildefinitionen von Komponenten, Klassen, Methoden, Vererbungs- und Komponentenbeziehungen sowie erklärenden Text beschrieben werden. Wiederverwendung von bewährten Entwürfen Qualitativ bessere Entwürfe Dokumentation von Entwurfsentscheidungen Effizientere Kommunikation durch ein Standardvokabular Das Verstehen der Software wird verbessert Wissensaufbau und Erhaltung Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.10

11 Inhalt Musterbasierte Architekturen (Pattern) Muster Wieso, weshalb, warum? Design-Muster Architekturmuster Analysemuster Bewertung Referenzarchitekturen Produktlinienarchitekturen Zusammenfassung Literaturhinweise Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.11

12 Design-Muster Buch Design Patterns von Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides (Gang of Four, GoF) 1995 Einführung in das Gebiet der Entwurfsmuster: Definition, Beschreibung von Mustern, Verwendung von Mustern Fallstudie Dokumenteneditor für die Anwendung von Mustern Katalog von 23 Entwurfsmustern, jedes mit mindestens zwei Einsatzbeispielen Ziel: Hilfsmittel für den objektorientierten Entwurf im Kleinen Wie kann man effiziente und flexible Mechanismen entwerfen? Wie findet man Klassen und Operationen für technische Probleme? Wie können die Objekte sinnvoll miteinander interagieren? Wie implementiert man die vorgeschlagenen Mechanismen? Wie kann man den Code übersichtlich und wartbar strukturieren? Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.12

13 Beschreibungsschema Bezeichnung und Überblick Name Kurzbeschreibung, Zweck alternative Bezeichnungen Zweck Motivation und Zielsetzung Anwendbarkeit Lösung graphische Beschreibung der Struktur beteiligte Klassen Interaktion Konsequenzen Vor- und Nachteile Implementierung und Beispiel-Code Anwendungsbeispiele Bezug zu anderen Mustern Name Kontext Problem Lösung Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.13

14 Composite Muster (1) Name: Composite Zweck: Repräsentiere baumartige Hierarchien mit Hilfe von Objekten. Auf einfache und zusammengesetzte Objekte kann in der gleichen Weise zugegriffen werden. Motivation: Dudel! Graphik Instanzendiagramm Klassendiagramm Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.14

15 Composite Muster (2) Anwendbarkeit: Darstellung von Hierarchien (Whole-Part-Structures) Für Clients soll kein Unterschied in der Schnittstelle von zusammengesetzten und einfachen Objekten sein Struktur: Instanzendiagramm Klassendiagramm Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.15

16 Composite Muster (3) Teilnehmer: Component (Graphic): - Definiert gemeinsame Schnittstelle von einfachen und zusammengesetzten Objekten - Implementiert im Einzelfall nötiges Standardverhalten für alle Klassen - Optional: definiert Schnittstelle für Zugriff auf den Vaterknoten Leaf (Rectangle, Line, Text): - Repräsentiert einfache Objekte ohne Kinderknoten - Implementiert das Verhalten einfacher Objekte Composite (Picture): - Implementiert das Verhalten zusammengesetzer Objekte - Speichert (Verweise auf) Kind-Objekte - Implementiert Operationen für Management der Kinder (Hinzufügen, Löschen,...) Client: - Manipuliert hierarchische Strukturen über die Schnittstelle der Klasse Component Interaktion: Vaterknoten können Aufträge an ihre Kinder weiterleiten und davor/danach noch eigene Operationen durchführen Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.16

17 Composite Muster (4) Vor- und Nachteile: + Einheitliche Schnittstelle für Clients erlaubt es, Clients einfach zu halten + Neue Component-Klassen können leicht über Vererbung hinzugefügt werden, ohne dass die Clients geändert werden müssen Über die uniforme Schnittstelle zum Einfügen beliebiger Component-Objekte können beliebige Baumstrukturen erzeugt werden; Einschränkungen müssen über Runtime-Checks durchgeführt werden Implementierung: Referenzen von Kindern zu ihrem Vaterknoten Sharing von Component-Objekten Breite der Schnittstelle von Component addchild/deletechild-operationen Caching... Beispiel-Code:... Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.17

18 Composite Muster (5) Anwendungsbeispiele: ET++ Vobjects InterViews Glyphs RTL Smalltalk Compiler Expressions... Bezug zu anderen Mustern: Chain of Responsibility Decorator Flyweight Iterator Visitor Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.18

19 Visitor Muster (1) Name: Visitor Zweck: Führe auf jedem Objekt einer Struktur eine bestimmte Operation aus. Definiere neue Operationen, ohne die Klassen der Struktur zu ändern. Motivation: Operationen auf abstrakten Syntaxbäumen als Beispiel Ohne Visitor: Knoten implementieren alle Operationen beim Hinzufügen einer neuen Operation müssen alle Knoten geändert werden Code für gleichartige Operationen ist über viele Klassen verstreut Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.19

20 Visitor Muster (2) Mit Visitor: Eine neue Visitor-Klasse für jede Operation als Unterklasse von NodeVisitor, enthält den Code für alle Typen von Knoten Knoten haben einen Haken zum Andocken für den Visitor Neue Operationen können einfach durch Bilden einer neuen Klasse hinzugefügt werden Aber: Hinzufügen neuer Knotentypen ist schwierig! Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.20

21 Visitor Muster (3) Struktur: Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.21

22 Visitor Muster (4) Interaktion: Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.22

23 Inhalt Musterbasierte Architekturen (Pattern) Muster Wieso, weshalb, warum? Design-Muster Architekturmuster Analysemuster Bewertung Referenzarchitekturen Produktlinienarchitekturen Zusammenfassung Literaturhinweise Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.23

24 Architekturmuster Buch A System of Patterns von Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad und Michael Stal ( das Siemens-Buch ), 1995 Drei Kategorien von Mustern: - Idioms für die Verwendung einer Sprache (Hilfestellung beim Schreiben einzelner Codezeilen) - Entwurfsmuster (analog zu den GoF-Mustern) - Architekturmuster Ziel von Architekturmustern: Hilfsmittel für den Entwurf im Großen Wie kann man effiziente und flexible Architekturen unabhängig von einer bestimmten technischen Basis entwerfen? Wie findet man Komponenten und Subsysteme für große Systeme? Wie kann man die Verantwortlichkeiten und Schnittstellen der Komponenten bestimmen? Wie geht man bei der Umsetzung der Architektur vor? Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.24

25 Beschreibungsschema Bezeichnung, Überblick, Motivation Name Kurzbeschreibung Kontext motivierendes Beispiel Beschreibung des Kontexts Problem Beschreibung des Problems Lösung Beschreibung der Lösung Struktur Dynamik Vorgehen bei der Implementierung Varianten bekannte Anwendungsfälle Konsequenzen Vor- und Nachteile Beziehungen zu anderen Mustern Name Kontext Problem Lösung Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.25

26 Layers Muster (1) Name: Layers Zweck: Strukturiere Anwendungen, deren Funktionalität in Gruppen von Unterfunktionen zerfällt, wobei man die einzelnen Gruppen jeweils unterschiedlichen Abstraktionsniveaus zuordnen kann. Beispiel: Netzwerkprotokolle wie ISO/OSI, TCP/IP Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.26

27 Layers Muster (2) Kontext: Ein großes System, das strukturiert werden muss. Problem: Organisation von Funktionalität auf unterschiedlichen Abstraktionsebenen, von der Benutzungsoberfläche bis hin zu Gerätetreibern Pflichtenheft spezifiziert allgemeine Anforderungen und konkrete Zielhardware, wobei die Abbildung der Anforderungen auf die Hardware nicht unmittelbar einsichtig ist Kräfte, die ausbalanciert werden müssen: - Änderungen an Anforderungen und Quellcode sollen lokal bleiben - Schnittstellen sollen stabil bleiben (evtl. Verwendung von Standardschnittstellen) - Komponenten und Hardware/Software-Plattformen sollen austauschbar sein - Low-Level-Funktionalität soll in mehreren Systemen verwendet werden - Komponenten mit komplexer Funktionalität sollen weiter strukturiert werden - Möglichst wenige Komponenten sollen bei der Lösung einer Aufgabe involviert sein - Das System soll von einem Team von Programmierern mit klaren Verantwortlichkeiten erstellt werden -... Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.27

28 Layers Muster (3) Lösung: Strukturiere das System in Schichten aus Komponenten, die auf der gleichen Abstraktionsebene angesiedelt sind. Komponenten einer höheren Schicht können zur Erledigung ihrer Aufgabe auf Komponenten der gleichen und der unmittelbar darunter liegenden Schicht zurückgreifen. Struktur: Class Schicht J Collaboration Schicht J-1 Client uses Layer N Responsibility Layer N-1 stellt Dienste für Schicht J+1 zur Verfügung ruft Dienste von Schicht J-1 auf Layer 1 Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.28

29 Layers Muster (4) Dynamik: Szenario 1 (Top-Down): Requests von höheren Schichten werden durch alle Schichten bis zur untersten durchgereicht, eventuelle Replies kommen analog zurück Szenario 2 (Bottom-Up): Notifications niederer Schichten werden von höheren Schichten analysiert, interpretiert und gegebenenfalls weiter nach oben durchgereicht Szenario 3: wie 1, nur dass Requests nicht unbedingt bis ganz nach unten durchgereicht werden, sondern bereits von einer mittleren Schicht vollständig bearbeitet werden können Szenario 4: wie 3, nur für Notifications Szenario 5: Kombination von 1 bis 4 für zwei kommunizierende Protocol Stacks (ein Request eines Stacks wird zu einer Notification im anderen Stack und umgekehrt) Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.29

30 Layers Muster (5) Vorgehen bei der Implementierung: Bestimme das Abstraktionskriterium Bestimme die Anzahl der Abstraktionsebenen Benenne die Schichten und ordne ihnen Aufgaben zu Spezifiziere die Dienste der Schichten Verfeinere die Aufteilung in Schichten Spezifiziere die Schnittstelle der Schichten Strukturiere die einzelnen Schichten Spezifiziere die Kommunikation zwischen den einzelnen Schichten Schirme die einzelnen Schichten gegeneinander ab - Implementierungsvarianten: C++-Interfaces, Callbacks, Reactor-Entwurfsmuster Entwerfe eine Strategie für die Fehlerbehandlung - Behandle Fehler möglichst auf unteren Abstraktionsebenen vollständig! - Reiche keine Low-Level-Fehlermeldungen nach oben durch! Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.30

31 Layers Muster (6) Varianten: Abgeschwächte Schichtenarchitektur: Kommunikation nicht nur zwischen benachbarten Schichten Tradeoff: Performance vs. Wartbarkeit... Layer 2 Layer 3 Layer 1 bekannte Anwendungsfälle: APIs Virtual Machines Informationssysteme mit Zwei- oder Dreischichtenarchitektur Betriebssysteme Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.31

32 Layers Muster (7) Vor- und Nachteile: + Wiederverwendung von Schichten + Möglichkeit zur Standardisierung + Minimierung von Code-Abhängigkeiten + Austauschbarkeit der Implementierung von Schichten Änderungen müssen eventuell durch alle/viele Schichten durchgezogen werden Geringere Effizienz durch viele Schichtenübergänge Unnötige und doppelte Arbeit (Bsp: Fehlerkorrektur auf allen Schichten) Schwierigkeit, die korrekte Anzahl von Schichten zu finden Beziehungen zu anderen Mustern Composite Message (Variante von Composite Muster für den Entwurf von Datenpaketen zwischen Schichten)... Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.32

33 Beispiel: 3-Schichtenarchitektur von Informationssystemen intelligente fachliche Objekte Clients Middleware spezielle fachliche Dienste allgemeine technische Dienste Datenhaltung Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.33

34 Broker Muster (1) Name: Broker Zweck: Das Broker-Muster hilft bei Strukturierung verteilter Softwaresysteme mit entkoppelten Komponenten, die durch das Aufrufen entfernter (remote) Dienste interagieren. Ein Vermittler koordiniert die Kommunikation.. Beispiel: Touristeninformationssystem HTTP Browser Web Server Broker Database server Database server Database server Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.34

35 Broker Muster (2) Kontext: Ein verteiltes eventuell heterogenes System mit voneinander unabhängigen, miteinander arbeitenden Komponenten. Problem: Ein System, das aus einer Sammlung verteilter, entkoppelter aber interagierender Komponenten besteht, ist flexibel, änderbar und skalierbar. Die Kommunikation unter den kooperierenden Komponenten sollte jedoch nicht zu unnötigen Abhängigkeiten führen. Diese ergeben sich aber sofort, wenn die Komponenten selbst für den IPC-Mechanismus verantwortlich sind. - Klienten müssen wissen wo die Server sich befinden - Die Lösung ist meist auf eine Programmiersprache beschränkt Darüber hinaus sollten kein systemspezifischen Details mit Diensten wie - Hinzufügen, Entfernen, Auswechseln, Aktivieren und Suchen von Komponenten verbunden sein. Es sollte keinen Unterschied für die Entwicklung von Software für verteilte oder zentralisierte Systeme geben. Eine Anwendung, die ein Objekt benutzt, sollte nur dessen Schnittstelle sehen. Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.35

36 Broker Muster (3) Kräfte, die ausbalanciert werden - Komponenten sollten mit Hilfe von entfernten, ortsunabhängigen Dienstanforderungen auf Dienste anderer Komponenten zugreifen. - Zur Laufzeit müssen Komponenten ausgetauscht, hinzugefügt oder entfernt werden. - Die Architektur sollte system- und implementierungsspezifische Details vor den Benutzern von Komponenten und Diensten verbergen. Lösung: Zur Entkopplung von Client und Server wird ein Vermittler (Broker) eingeführt. Server melden sich selbständig beim Vermittler an und stellen den Clients ihre Dienste zur Verfügung. Clients greifen durch Senden von Dienstanforderungen über den Vermittler auf die Funktionalität des Servers zu. Der Broker - macht den geeigneten Server ausfindig - leitet die Dienstanforderungen weiter - übermittelt Ergebnisse und Fehlermeldungen Statt sich auf IPC zu konzentrieren, schickt die Anwendung lediglich Nachrichten an das betreffende Objekt. Im Broker-Muster werden Verteilungs- und Objekttechnologien kombiniert. Es entstehen verteilte objektorientierte Anwendungen. Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.36

37 Broker Muster (4) Struktur: Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.37

38 Broker Muster (4) Dynamik: Server meldet sich an Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.38

39 Broker Muster (5) Client schickt Anfrage Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.39

40 Broker Muster (6) Broker kommuniziert über Brücken Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.40

41 Broker Muster (7) Vorgehen bei der Implementierung: Objektmodell festlegen, Eigenschaften von Client und Server insbesondere deren Datenstrukturen und Operationen Interoperabilität festlegen, Austauschformate bestimmen, Schnittstellen zwischen Client und Server festlegen (z.b.: über IDL) APIs der Vermittler festlegen Proxies entwerfen - Client-side Proxies verwandeln Prozeduraufrufe in Nachrichten und leiten diese an den Broker - Server-side Proxies empfangen Nachrichten und wandeln sie in Operationsaufrufe, leiten Antworten und Fehlermeldungen weiter. Die Proxies sind immer Teil des jeweiligen Prozesses. Eventuell werden Proxies auch automatisch bereitgestellt (z.b.: durch den IDL-Übersetzer erzeugt) Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.41

42 Broker Muster (8) Broker entwerfen - Übertragungsprotokoll definieren - Anfragen, Antworten, Fehlermeldungen, Typinformation - Austauschformate, Brücken - Auffinden entfernter Komponenten (Routing) - Jedem Rechner im Netz (Komponente) muss ein Vermittler zugewiesen werden. Eventuell ist die Routinginformation Teil der Client und Serverbezeichnungen - Der Broker ist verantwortlich für die Weitergabe aller Informationen - Der Broker muss stets wissen welcher Klient welche Anfrage getätigt hat. - Bei asynchroner Kommunikation sind Puffer in den Broker erforderlich. - Eventuell ist eine Adressbuchfunktionalität bis hin zu Nameservices notwendig - Fehler berücksichtigen - Komponenten können in Fehlerzustände laufen - Kommunikation kann scheitern IDL-Übersetzer entwickeln Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.42

43 Broker Muster (9) Varianten: Direct-Communication: Der Vermittler ist nur noch für die Kanalwahl zuständig. Der Rest obliegt den Proxies (effizient) Message-Passing: Statt eines dedizierten Dienstes anzubieten, werden nur Nachrichten ausgetauscht. Die Aufgabe wird über den Nachrichtentyp festgelegt. (Schnittstelle wird einfacher, Austauschformat komplexer) Trader: Statt Server werden direkt Dienste angesprochen. Broker muss nun wissen, welcher Server welchen Dienst bereitstellt (kompliziertere API, Lastverteilung durch den Broker möglich) Callbacks: Der Vermittler ruft Callbacks auf, statt Nachrichten zu versenden. Keine Unterscheidung zwischen Client und Server. bekannte Anwendungsfälle: CORBA, DCOM, J2EE,.NET, SOAP, etc. ATM-P, MQ-Series Windows NT, verteilte Betriebssysteme Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.43

44 Broker Muster (10) Vor- und Nachteile: + Standortunabhängigkeit: Klienten müssen nicht wissen wo die Server sind. + Änderbarkeit und Erweiterbarkeit der Komponenten + Portierbarkeit: Insbesondere durch den Einsatz von Brücken steigt die Portierbarkeit + Interoperabilität: Verschiedene Brokersysteme können zusammen arbeiten, falls die Nachrichtenformate und -mechanismen gleich bleiben. (DCOM, SOAP, XML) + Wiederverwendbarkeit: Vorhandene Dienste können einfach eingebunden werden. Eingeschränkte Effizienz: Daten müssen in Nachrichten verwandelt werden und Kommunikationswege dynamisch bestimmt werden. Broker sind Flaschenhälse Niedrige Fehlertoleranz: Fällt der Broker aus, dann sind ganze Systemteile nicht mehr erreichbar. Beziehungen zu anderen Mustern Forwarder-Receiver, Proxy, Client-Dispatcher-Server Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.44

45 Beispiel: Bus-Architekturen und Smartcards (1) Component 1 Component m CORBA Event Service Smartcard Betriebssystem CardLet 1 CardLet n Smartcard Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.45

46 Beispiel: Bus-Architekturen und Smartcards (2) Component 1 CardLet 1 Component m CORBA Event Service CardLet n Smartcard Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.46

47 Beispiel: Bus-Architekturen und Smartcards (3) Component 1 Component m CORBA Event Service PortProxy PortProxy PortProxy PortProxy Proxy Event Broker Smartcard Event Broker Port Port Port Port CardLet 1 CardLet n Smartcard Proxy Smartcard Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.47

48 Inhalt Musterbasierte Architekturen (Pattern) Muster Wieso, weshalb, warum? Design-Muster Architekturmuster Analysemuster Bewertung Referenzarchitekturen Produktlinienarchitekturen Zusammenfassung Literaturhinweise Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.48

49 Fowler s Analysemuster Fowler:...pattern is an idea that has been useful in one practical context and will propably be useful in others. Kategorien von Mustern Analysemuster Muster für die fachliche Anwendungsarchitektur: Beobachtungen und Messungen, Organisation und Verantwortlichkeit, etc. Support-Muster Muster um die fachliche Anwendungsarchitektur technisch zu realisieren: Zwei-, Drei-Schichtenarchitekturen, Objekt Erzeugung, etc. Kein durchgängiges, einheitliches Beschreibungsschema Zu bestimmten Problembereichen der Anwendungsdomäne wird eine Lösung schrittweise eingeführt Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.49

50 Muster: Beobachtungen und Messungen (1) Naive Modellierung einer Person mit Göße, Gewicht und Blutzuckerspiegel Person - Göße : int - Gewicht : int - Blutzuckerspiegel : int Problem: Verschiedenen Systeme müssen mit Objekt Person umgehen; Attribute sind aber interpretierbar, da die Einheit (cm oder in) nicht mitmodelliert wird Lösung: Explizite Modellierung der Einheit Person + Göße : Quantität + Gewicht : Quantität + Blutzuckerspiegel : Quantität Quantität + Anzal : int + Einheit : Einheit + kleiner(vergleichswert : Quantität) + größer(vergleichswert : Quantität) + gleich(vergleichswert : Quantität) Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.50

51 Muster: Beobachtungen und Messungen (2) Fowler s Modellierungsprinzip: When multiple attributes interact with behavior that might be used in several types, combine the attributes into a new fundamental type. Erweiterung: Konvertierungsverhältnis Person + Göße : Quantität + Gewicht : Quantität + Blutzuckerspiegel : Quantität Quantität + Anzal : int + Einheit : Einheit + kleiner(vergleichswert : Quantität) + größer(vergleichswert : Quantität) + gleich(vergleichswert : Quantität) + Name : String Einheit + Umrechnen(Von : Quantität, NachEinheit : Einheit) : Quantität von nach * * Konvertierungsverhältnis + Umrechnungssatz : float Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.51

52 Muster: Organisation und Verantwortlichkeit (1) Naive Modellierung einer Adressverwaltung Problem: Finde geeignete Abstraktion für Organisation und Person Lösung: Party als gemeinsame Abstraktion von Organisation und Person Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.52

53 Muster: Organisation und Verantwortlichkeit (2) Naive Modellierungen von Organisationshierarchie und -struktur Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.53

54 Muster: Organisation und Verantwortlichkeit (3) Problem: Struktur ist inflexibel und nicht wieder verwendbar Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.54

55 Muster: Organisation und Verantwortlichkeit (4) Lösung: Verwendung einer einzigen, aber im Modell typisierbaren Assoziation Fowler s Modellierungsprinzip: Design a model so that the most frequent modification of the model causes changes to the least number of types. Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.55

56 Muster: Organisation und Verantwortlichkeit (5) Erweiterung: Typisierbare Assoziation über die gemeinsame Abstratkion von Person und Organisation Fowler s Modellierungsprinzip: Whenever defining features for a type, that has a supertype, consider whether placing the features on the supertype makes sense. Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.56

57 Muster: Organisation und Verantwortlichkeit (6) Erweiterung: Gültige Konfiguration der Assoziationen zw. Parties und Accountabilities im Knowledge Level ablegen. Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.57

58 Analysemuster: Zusammenfassung und Bewertung Analysemuster haben ein hohes Potential Dokumentation des wertvollen internem Wissen Kontinuierliche Weiterentwicklung des internen Wissens Hohe Wiederverwendung von Branchenwissen Über die Standardisierung erreicht man Interoperabilität und Flexibilität Fowler s Analysemuster sind keine vollständigen Analysemuster Kein einheitliches Dokumentationsschemata Keine klare Struktur; es fehlt an einer MusterkatalogNur Dokumentation von Nähkästchen-Wissen in Form von Beispielen Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.58

59 Inhalt Musterbasierte Architekturen (Pattern) Muster Wieso, weshalb, warum? Design-Muster Architekturmuster Analysemuster Bewertung Referenzarchitekturen Produktlinienarchitekturen Zusammenfassung Literaturhinweise Softwarearchitektur verteilter Systeme 6b. Ausprägungen und Wiederverwendung 6b.59

Übungen zu Softwaretechnik

Übungen zu Softwaretechnik Prof. Dr. Dr. h.c. M. Broy Lösungsblatt 9 Dr. H. Ehler, S. Wagner 11. Januar 2007 Übungen zu Softwaretechnik Aufgabe 15 Systemerstellung / Systemarchitektur nach dem V- Modell XT Machen Sie sich mit den

Mehr

Softwarewiederverwendung und Patterns

Softwarewiederverwendung und Patterns Begrifflichkeiten und Beschreibungssystematik Begriffe Literatur zu Patterns Übersicht über die behandelten Konzepte Beschreibungsschema 97 Begriffe Glossar Patterns (Muster) sind ein Mittel der Wiederverwendung

Mehr

Entwurfsmuster (Design Pattern) ETIS SS05

Entwurfsmuster (Design Pattern) ETIS SS05 Entwurfsmuster (Design Pattern) ETIS SS05 Gliederung Motivation Pattern allgemein Proxy-Pattern Zusammenfassung 2 Motivation I Wie gut sind eure Programme strukturiert? Wartbarkeit? - Verständlichkeit

Mehr

Design Patterns. 5. Juni 2013

Design Patterns. 5. Juni 2013 Design Patterns 5. Juni 2013 Überblick Was sind Design Patterns? Welche Design Patterns gibt es? Wann sollte man Design Patterns einsetzen? Refactoring und Design Patterns: Welchen Zusammenhang gibt es

Mehr

14 Design Patterns. 14.1 Einführung 14.2 Composite Pattern

14 Design Patterns. 14.1 Einführung 14.2 Composite Pattern 14 Design Patterns 14.1 Einführung 14.2 Composite Pattern 14.1 Einführung 14.1.1 Motivation 14.1.2 Was ist ein Design Pattern? 14.1.3 Beschreibung eines Design Patterns 14.1.4 Katalog von Design Patterns

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 19 Einführung: Entwurfsmuster Erzeugungsmuster Fabrik-Muster Singleton-Muster Beispiel 2

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Software-Architektur Design Patterns

Software-Architektur Design Patterns Design Patterns Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Standardwerk Gang of Four: Erich Gamma, Richard Helm, Ralph Johnson & John Vlissides: Design Patterns:

Mehr

Comparing Software Factories and Software Product Lines

Comparing Software Factories and Software Product Lines Comparing Software Factories and Software Product Lines Martin Kleine kleine.martin@gmx.de Betreuer: Andreas Wuebbeke Agenda Motivation Zentrale Konzepte Software Produktlinien Software Factories Vergleich

Mehr

Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design

Softwaretechnik (Medieninformatik) Überblick: 6. Objektorientiertes Design Softwaretechnik (Medieninformatik) Überblick: 6.1 Einleitung 6.2 Verfeinerung des Klassenmodells 6.3 Sequenzdiagramme 6.4 Umsetzung der Analysekonstrukte in das Design 6.5 Fallstudie 6.6 Software Kontrakte

Mehr

Was ist Software-Architektur?

Was ist Software-Architektur? Was ist Software-Architektur? Stephan Schulze Martin Knobloch 28.04.2004 Seminar: Software-Architektur Humboldt Universität zu Berlin sschulze knobloch@informatik.hu-berlin.de Gliederung Begriffsbestimmung

Mehr

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg COMMON OBJECT REQUEST BROKER ARCHITECTURE Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg Gliederung Motivation Was ist CORBA? Object Management Architecture (OMA ) Interface Definition Language

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

Softwarearchitektur verteilter Systeme

Softwarearchitektur verteilter Systeme Softwarearchitektur verteilter Systeme 7a. Betriebliche Informationssysteme (1) Vorlesung Wintersemester 2002 / 03 Technische Universität München Institut für Informatik Lehrstuhl von Prof. Dr. Manfred

Mehr

DESIGN'PATTERN'2011. November. Abstract Factory & Factory Method BEARBEITET VON INHALT [1] Christoph Süsens

DESIGN'PATTERN'2011. November. Abstract Factory & Factory Method BEARBEITET VON INHALT [1] Christoph Süsens November DESIGN'PATTERN'2011 INHALT Intent Motivation Applicability Structure Consequences Implementation Sample Code [1] BEARBEITET VON Christoph Süsens Abstract Factory & Factory Method Inhaltsverzeichnis

Mehr

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering mit Übungen. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering mit Übungen Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering 2 Organisation Ort: Seminarraum 05.002, Spiegelgasse 5 Ablauf: 15:15 Vorlesung Prüfung: Schriftlich,

Mehr

17 Komponentenbasiertes Software-Engineering

17 Komponentenbasiertes Software-Engineering 17 Komponentenbasiertes Software-Engineering 17.0 Einführung Lernziele Grundlagen, Prinzipien und Probleme des CBSE 17.1 Komponenten und Komponentenmodelle Komponenten und ihre Eigenschaften Komponentenmodelle

Mehr

Design im Softwareentwicklungsprozess. Stand der Dinge & Designziel. fachliche & technische Architektur. generelles Vorgehen bei Grob-Design

Design im Softwareentwicklungsprozess. Stand der Dinge & Designziel. fachliche & technische Architektur. generelles Vorgehen bei Grob-Design Design im Softwareentwicklungsprozess traditionell Geschäftsprozessmodellierung Requirements Engineering Analyse Design Implementierung Tests Design 1 test-getrieben: nur 1. Design top-down hier testgetrieben

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08 Security Patterns Benny Clauss Sicherheit in der Softwareentwicklung WS 07/08 Gliederung Pattern Was ist das? Warum Security Pattern? Security Pattern Aufbau Security Pattern Alternative Beispiel Patternsysteme

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

OOAD Richtlinien & Tips

OOAD Richtlinien & Tips Software-Architekturen Sommersemester 2002 Prof. Dr. Wolfgang Pree Universität Salzburg www.softwareresearch.net/swa 1 OOAD Richtlinien & Tips 2002, W. Pree, Software-Architekturen, SS2002; Teil I 2 Metriken

Mehr

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Ziele Common Object Request Broker Architecture CORBA Plattformunabhängige Kommunikation Transparente Verteilung von Objekten CORBA-Konzept Object Management Group Spezifiziert den CORBA-Standard

Mehr

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0

Inhaltsverzeichnis. Gernot Starke. Effektive Softwarearchitekturen. Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 sverzeichnis Gernot Starke Effektive Softwarearchitekturen Ein praktischer Leitfaden ISBN: 978-3-446-42728-0 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42728-0 sowie im

Mehr

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010 Gerald.Ehmayer@borland.com Web Services Java Praktikum SS 2010 Gerald.Ehmayer@borland.com 1 Web Services Einführung Definition, Eigenschaften, Anwendungen... JAX-RPC Überblick, Architektur... JAX Übersicht, Architektur Java Praktikum

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Model Driven Architecture Praxisbeispiel

Model Driven Architecture Praxisbeispiel 1 EJOSA OpenUSS CampusSource Model Driven Architecture Praxisbeispiel 2 Situation von CampusSource-Plattformen Ähnliche Funktionen (Verwaltung von Studenten und Dozenten, Diskussionsforen,...), jedoch

Mehr

A classification and comparison framework for software architecture description languages

A classification and comparison framework for software architecture description languages A classification and comparison framework for software architecture description languages Christian Gerth Seminar Architekturbeschreibungssprachen Prof. Dr. Heike Wehrheim Fachgebiet Spezifikation und

Mehr

1 Objektorientierte Software-Entwicklung

1 Objektorientierte Software-Entwicklung 1 Objektmodellierung 1 Objektorientierte Software-Entwicklung Prof. Dr. Heide Balzert Fachbereich Informatik Fachhochschule Dortmund Heide Balzert 2000 2 Lernziele Wissen, was unter objektorientierter

Mehr

Methoden des Software-Engineering

Methoden des Software-Engineering Block B (Software-Architektur): Muster 21.11.2006 1 Methoden des Software-Engineering Software Architektur Martin Wirsing Block B, Teil 5: Entwurfs- und Architekturmuster WS 2006/07, LMU München Block

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

5. Übung zur Vorlesung Service-orientierte Architekturen

5. Übung zur Vorlesung Service-orientierte Architekturen 5. Übung zur Vorlesung Service-orientierte Architekturen Webservices und WSDL SoSe 2011 Anmerkung Hausaufgabe 03 BPMN Auch hier gilt: Layout! Zu Unterschieden zw. BPMN und eepk Relative Aussagen sind geschickter

Mehr

OO Design. welche Methoden in welcher Klasse sind, und. diese Interagieren

OO Design. welche Methoden in welcher Klasse sind, und. diese Interagieren Design: GRASP 1 OO Design Definition Objektorientiertes Design: After identifiying your requirements and creating a domain model, then add methods to the software classes, and define the messaging between

Mehr

18 Entwicklung verteilter Systeme

18 Entwicklung verteilter Systeme 18 Entwicklung verteilter Systeme 18.0 Einführung Lernziele Verteilte Systeme 18.1 Charakteristika verteilter Systeme Entwurfsfragen Kommunikationsmodelle Middleware 18.2 Client-Server-Systeme Prozesse

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

UI Design Patterns. Kapitel: 8. Konzeption Style Guides UI Design Patterns Genres

UI Design Patterns. Kapitel: 8. Konzeption Style Guides UI Design Patterns Genres UI Design Patterns 19 Entwurfsmuster (Design Patterns) Konzept geht zurück auf den Architekten Christopher Alexander (Notes on the synthesis of form, 1964) Systematische Sammlung wiederkehrende Muster

Mehr

Software Engineering Übung 4 Architektur, Modulentwurf

Software Engineering Übung 4 Architektur, Modulentwurf software evolution & architecture lab Software Engineering Übung 4 Architektur, Modulentwurf 1 Informationen 1.1 Daten Ausgabe Di 27.10.2009 Abgabe So 08.11.2009 bis 23:59 Uhr Besprechung am Di 17.11.2009

Mehr

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA

Hauptseminar Management von Softwaresystemen. Techniken der System-Integration EAI, Middleware, SOA, CORBA Hauptseminar Management von Softwaresystemen Techniken der System-Integration EAI, Middleware, SOA, CORBA Betreuerin: Referent: Ulrike Hammerschall Alexey Krivoborodov Agenda Motivation Arten der Verteilung

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 8 10. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Datenhaltung für Android Model First. 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg

Datenhaltung für Android Model First. 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg Datenhaltung für Android Model First 30.03.2011 Christian Ingenhaag, Frederik Götz, Carl Steeg Agenda Datenhaltung in Android Motivation / Projektziele Projekt Umsetzung Stand der Entwicklung Fazit 2 Datenhaltung

Mehr

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA

Liste der Handbücher. Liste der Benutzerhandbücher von MEGA Liste der Handbücher Liste der Benutzerhandbücher von MEGA MEGA 2009 SP4 1. Ausgabe (Juni 2010) Die in diesem Dokument enthaltenen Informationen können jederzeit ohne vorherige Ankündigung geändert werden

Mehr

16 Architekturentwurf Einführung und Überblick

16 Architekturentwurf Einführung und Überblick Teil III: Software-Architekturentwurf 16 Architekturentwurf Einführung und Überblick 16.1 Software entwerfen Warum? Beim Arbeiten im Kleinen nicht oder nur ansatzweise (Detailentwurf) Größere Software

Mehr

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt. Software Engineering Dokumentation von Softwarearchitekturen Die Inhalte der Vorlesung wurden primär auf Basis der Vorlesung Software Engineering von Prof. Dr. Faustmann (FHW Berlin Fachbereich II) erstellt.

Mehr

Software Engineering II (IB) Wiederverwendung von Software

Software Engineering II (IB) Wiederverwendung von Software Wiederverwendung von Software Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Wiederverwendung von Software Strategie bei der Entwicklung auf bereits vorhandene

Mehr

Komponentenbasierte Softwareentwicklung

Komponentenbasierte Softwareentwicklung Seminar WS04 Komponentenbasierte Softwareentwicklung Karl Pauls Software-Komponente A software component is a unit of composition with contractually specified interfaces and explicit context dependencies

Mehr

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering,

Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Funktionale Sicherheit ISO 26262 Schwerpunkt Requirements Engineering, Manfred Broy Lehrstuhl für Software & Systems Engineering Technische Universität München Institut für Informatik ISO 26262 Functional

Mehr

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1

Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Objektorientierter Software-Entwurf Die Unified Modeling Language 4 1 Die Unified Modeling Language Die UML (hier in der Version 0.9) ist ein Satz von Notationen zur Beschreibung objektorientierter Softwaresysteme.

Mehr

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java

Willkommen zur Vorlesung. Objektorientierte Programmierung Vertiefung - Java Willkommen zur Vorlesung Objektorientierte Programmierung Vertiefung - Java Zum Dozenten Mein Name: Andreas Berndt Diplom-Informatiker (TU Darmstadt) Derzeit Software-Entwickler für Web- Applikationen

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Einführung in die Programmierung mit Java. Hörsaalübung

Einführung in die Programmierung mit Java. Hörsaalübung Einführung in die Programmierung mit Java Hörsaalübung Folie 1 Grundlagen der Objektorientierung Seit Anfang der Neunzigerjahre Standardmethode der Softwareentwicklung. Die OOP Objektorientierte Programmierung

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel

VS7 Slide 1. Verteilte Systeme. Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel VS7 Slide 1 Verteilte Systeme Vorlesung 7 vom 27.05.2004 Dr. Sebastian Iwanowski FH Wedel Inhaltsverzeichnis für die Vorlesung Zur Motivation: 4 Beispiele aus der Praxis Allgemeine Anforderungen an Verteilte

Mehr

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die "Softwarekrise"

1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise im Überblick im Überblick Inhalt 1. Java ist... 2. Stammbaum der Programmiersprachen 3. Die Softwarekrise 1. Merkmale von Software 2. Fortlaufende Veränderungen 3. Erschwerte Rahmenbedingungen bei der

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Inhaltsverzeichnis. xiii

Inhaltsverzeichnis. xiii Inhaltsverzeichnis 1 Einleitung... 1 1.1 Ausgangslage und Zielsetzung des Buches...2 1.2 Was ist Software-Architektur?...8 1.3 Leser-Leitfaden... 11 1.3.1 Buchaufbau... 11 1.3.2 Zielpublikum... 15 1.3.3

Mehr

IT für Intralogistiksysteme 2015

IT für Intralogistiksysteme 2015 Vorlesung: IT für Intralogistiksysteme 2015 Kapitel 6: Adaptive IT - zukunftsorientierte Software-Architektur Prof. Dr.-Ing. Frank Thomas Dr. Thomas + Partner GmbH & Co. KG, Karlsruhe Karlsruhe, den 01.07.2015

Mehr

Softwarefamilien und Produktlinien - systematische Wiederverwendung - Matthias Clauß Intershop Research & TU Dresden

Softwarefamilien und Produktlinien - systematische Wiederverwendung - Matthias Clauß Intershop Research & TU Dresden Softwaretechnologie Softwarefamilien und Produktlinien - systematische Wiederverwendung - Matthias Clauß Intershop Research & TU Dresden Einleitung Was würden Sie machen, wenn Ihr Auftraggeber oder Chef

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

Moderne Konzepte in Elektronik CAE Umgebungen am Beispiel eines verteilten Werkzeugs zur Unterstützung des mehrphasigen high-level Syntheseablaufs

Moderne Konzepte in Elektronik CAE Umgebungen am Beispiel eines verteilten Werkzeugs zur Unterstützung des mehrphasigen high-level Syntheseablaufs F. Grützmacher/ J. Kampe 43 rd International Scientific Colloquium Technical University of Ilmenau September 21-24, 1998 Moderne Konzepte in Elektronik CAE Umgebungen am Beispiel eines verteilten Werkzeugs

Mehr

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG

ALM mit Visual Studio Online. Philip Gossweiler Noser Engineering AG ALM mit Visual Studio Online Philip Gossweiler Noser Engineering AG Was ist Visual Studio Online? Visual Studio Online hiess bis November 2013 Team Foundation Service Kernstück von Visual Studio Online

Mehr

6 Architektur-Mittel (WOMIT)

6 Architektur-Mittel (WOMIT) 6 Architektur-Mittel (WOMIT) Abb. 6-1: Positionierung des Kapitels im Ordnungsrahmen. Dieses Kapitel befasst sich mit der WOMIT-Dimension des architektonischen Ordnungsrahmens, indem es grundlegende Konzepte

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

Mehr

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung

Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Gegenseitige Beeinflussungen von Testautomatisierung, Testmanagement und Entwicklung Jan Düttmann Archimedon Software + Consulting GmbH & Co. KG Marienstraße 66 32427 Minden Stephan Kleuker Hochschule

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Softwareentwicklungsprozesse. 18. Oktober 2012

Softwareentwicklungsprozesse. 18. Oktober 2012 Softwareentwicklungsprozesse 18. Oktober 2012 Überblick Was soll ein Softwareentwicklungsprozess leisten? Überblick über Softwareentwicklungsprozesse Welche gibt es? Warum gibt es mehrere? Diskussion:

Mehr

Server Installation 1/6 20.10.04

Server Installation 1/6 20.10.04 Server Installation Netzwerkeinrichtung Nach der Installation müssen die Netzwerkeinstellungen vorgenommen werden. Hierzu wird eine feste IP- Adresse sowie der Servername eingetragen. Beispiel: IP-Adresse:

Mehr

Definition: Software-Entwurf (SW Design) Vorlesung Softwaretechnik Software-Entwurf Dr. Lutz Prechelt. Entwurf: Wann? Entwurf vs.

Definition: Software-Entwurf (SW Design) Vorlesung Softwaretechnik Software-Entwurf Dr. Lutz Prechelt. Entwurf: Wann? Entwurf vs. Definition: Software-Entwurf (SW Design) Ziele Entwurf vs. Architektur Vorlesung Softwaretechnik Software-Entwurf Dr. Lutz Prechelt Vorgehen Festlegung der Struktur eines Softwaresystems Welche Teile gibt

Mehr

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen

CaseWare Monitor. ProduktNEWS CaseWare Monitor. Version 4.3. Mehr Informationen zu CaseWare Monitor und unseren anderen Produkten & Dienstleistungen Mit der aktuellen Version hält eine komplett neu konzipierte webbasierte Anwendung Einzug, die sich neben innovativer Technik auch durch ein modernes Design und eine intuitive Bedienung auszeichnet. Angefangen

Mehr

Einführung in die OPC-Technik

Einführung in die OPC-Technik Einführung in die OPC-Technik Was ist OPC? OPC, als Standartschnittstelle der Zukunft, steht für OLE for Process Control,und basiert auf dem Komponentenmodel der Firma Microsoft,dem Hersteller des Betriebssystems

Mehr

...we make the invisible visible...

...we make the invisible visible... ...we make the invisible visible... 1 Inhalt Qualitätsbegriff Fragestellungen im Zusammenhang mit innerer Softwarequalität Analysen und deren Anwendung Erfahrungen 2 Ausfallsicherheit Datensicherheit Zuverlässigkeit

Mehr

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET

Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Timo Wagner & Sebastian Kühn Entwurf einer Multi-Tier Anwendung in ASP.NET Überblick 1.Einfürung in die Multi-Tier Architektur 2.Ausgangspunkt und Probleme 3.Rundgang durch die Architektur 4.Architektur

Mehr

Java Enterprise Architekturen Willkommen in der Realität

Java Enterprise Architekturen Willkommen in der Realität Java Enterprise Architekturen Willkommen in der Realität Ralf Degner (Ralf.Degner@tk-online.de), Dr. Frank Griffel (Dr.Frank.Griffel@tk-online.de) Techniker Krankenkasse Häufig werden Mehrschichtarchitekturen

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

Effektive Architekturdokumentation mit arc42

Effektive Architekturdokumentation mit arc42 01 Whitepaper: Technologie > Architekturdokumentation Cofinpro die Experten für Kredit und Wertpapier Effektive Architekturdokumentation mit arc42 Inhalt 1 Software-Architektur mit arc42 2 2 arc42 2 3

Mehr

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen

Softwaretechnik. Prof. Dr. Rainer Koschke. Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Softwaretechnik Prof. Dr. Rainer Koschke Fachbereich Mathematik und Informatik Arbeitsgruppe Softwaretechnik Universität Bremen Wintersemester 2011/12 Überblick I : Themen der Vorlesung Übungen und Ressourcen

Mehr

Mobile und Verteilte Datenbanken

Mobile und Verteilte Datenbanken Mobile und Verteilte Datenbanken Java RMI Vorlesung Wintersemester 2013/2014 groppe@ifis.uni-luebeck.de Institut für Informationssysteme Universität zu Lübeck Kommunikations-Middleware Bietet höhere Kommunikations-Dienste

Mehr

SOAP Simple Object Access Protocol

SOAP Simple Object Access Protocol Informatikseminar Tobias Briel Überblick 1. Einführung - was ist? 2. Middlewaretechnologie 3. Aufbau von Nachrichten 4. Vergleiche 5. Beispielanwendung 6. Zusammenfassung 1 Einführung was ist Soap? neue

Mehr

Architecture Blueprints

Architecture Blueprints Architecture Blueprints Daniel Liebhart, Peter Welkenbach, Perry Pakull, Mischa Kölliker, Michael Könings, Markus Heinisch, Guido Schmutz Ein Leitfaden zur Konstruktion von Softwaresystemen mit Java Spring,.NET,

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Analyse und Entwurf objektorientierter Systeme

Analyse und Entwurf objektorientierter Systeme Analyse und Entwurf objektorientierter Systeme Fachbereich der FHW Berlin Teil 4 Modellbildung in der Entwurfsphase 4.2 Entwurfsmuster Modul WI111: Objektorientierte Programmierung Fachrichtung Wirtschaftsinformatik

Mehr

Der Einsatz von CORBA in verteilten EDA-Tools

Der Einsatz von CORBA in verteilten EDA-Tools Der Einsatz von CORBA in verteilten EDA-Tools Frank Grützmacher Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik Fachgebiet Mikroelektronische Schaltungen und Systeme

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten Aktuelle Themen der Wirtschaftsinformatik Zusammenfassung 09.06.2003 André Maurer andre@maurer.name www.andre.maurer.name Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten 1 Serverseitige Webprogrammierung

Mehr

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16

Probeklausur. Lenz Belzner. January 26, 2015. Lenz Belzner Probeklausur January 26, 2015 1 / 16 Probeklausur Lenz Belzner January 26, 2015 Lenz Belzner Probeklausur January 26, 2015 1 / 16 Definieren Sie Software Engineering in Abgrenzung zu Individual Programming. Ingenieursdisziplin professionelle

Mehr

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger

Die Macht, die uns umgibt. Design Prinzipien. Schneller und besser Software entwickeln. 2012 Jörg Bächtiger Die Macht, die uns umgibt Design Prinzipien Schneller und besser Software entwickeln 2012 Jörg Bächtiger Joerg.Baechtiger@Abraxas.ch http://www.xing.com/profile/joerg_baechtiger Übersicht geben Zusammenhänge

Mehr

Hello World from CORBA

Hello World from CORBA Hello World from CORBA ein erster Überblick Aufruf einer Objekt-Methode Client gettemperature() Thermometer Objekt- Implementation Thermometer th = new Thermometer(); double t = th.gettemperature(); th

Mehr

ORACLE Business Components for Java (BC4J) Marco Grawunder

ORACLE Business Components for Java (BC4J) Marco Grawunder ORACLE Business Components for Java (BC4J) Marco Grawunder Gliederung 2 Probleme von J2EE/EJB J2EE-Pattern Lösungsansatz: BC4J Architektur einer BC4J-Anwendung Komponenten Entity Objects View Objects Application

Mehr

Softwarearchitekturen für das Internet der Energie

Softwarearchitekturen für das Internet der Energie Softwarearchitekturen für das Internet der Energie Herausforderungen und Anforderungen an die Architektur aus Sicht der Informatik Manfred Broy Lehrstuhl für Software & Systems Engineering Technische Universität

Mehr

Das Lehren von objektorientierter Programmierung in Java mit

Das Lehren von objektorientierter Programmierung in Java mit Das Lehren von objektorientierter Programmierung in Java mit Dr. Axel Schmolitzky Arbeitsbereich Softwaretechnik Fachbereich Informatik Universität Hamburg Überblick Kurz zu meiner Person Objektorientierung

Mehr

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen

Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- Architekturentwicklung von Fahrzeugen Transfer von Prozessen des Software-Produktlinien Engineering in die Elektrik/Elektronik- entwicklung von Fahrzeugen Martin Jaensch, Dr. Bernd Hedenetz, Markus Conrath Daimler AG Prof. Dr. Klaus D. Müller-Glaser

Mehr

Agile Softwareentwicklung und Usability Wie mit Best Practices eine Brücke geschlagen werden kann

Agile Softwareentwicklung und Usability Wie mit Best Practices eine Brücke geschlagen werden kann Agile Softwareentwicklung und Usability Wie mit Best Practices eine Brücke geschlagen werden kann UIG-Frühjahrstagung 2015 15. März 2015, Mannheim Dominik Magin, Hartmut Schmitt 1 Agile Entwicklungsvorgehen

Mehr

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover

DCOM und.net. B. Sc. Tobias Buchloh. Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover DCOM und.net B. Sc. Tobias Buchloh Seminar Software-Entwurf Fachgebiet Software Engineering, Institut für Angewandte Informatik Universität Hannover 2004-12-21 Gliederung Motivation Einordnung (D)COM.NET

Mehr

Agenda. Einführung und Motivation. Verteilte Objekte und Komponenten. Verteilte Softwarearchitekturen. J2EE-Plattform

Agenda. Einführung und Motivation. Verteilte Objekte und Komponenten. Verteilte Softwarearchitekturen. J2EE-Plattform Agenda Einführung und Motivation Verteilte Objekte und Komponenten Verteilte Softwarearchitekturen J2EE-Plattform J2EE-basierte Softwarearchitektur Aspekte der Verteilung von J2EE-Anwendungen 21 Ziele

Mehr

Effiziente Softwareproduktion durch. Effiziente Softwareproduktion durch

Effiziente Softwareproduktion durch. Effiziente Softwareproduktion durch tze Dr. Klaus Schmid Universität Hildesheim Fachbereich III: Informations- und Kommunikationswissenschaften Institut für Mathematik und Angewandte Informatik schmid@sse.uni-hildesheim.de Inhalt 1. Motivation

Mehr

LDAP. Lightweight Directory. Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225

LDAP. Lightweight Directory. Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225 LDAP Lightweight Directory Access Protokoll Desanka Bogicevic 1121621 Michael Wenig 1220567 Rupert Eisl 1220225 LDAP Was ist LDAP? Was sind Verzeichnisdienste? Was ist ein Verzeichnis? Geschichte http://directory.apache.org/apacheds/basic-ug/1.2-some-background.html

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

Einleitung. Was ist SOA? Die SOA Idee. Beispiel Monolithische Applikation. Services. CD Player. playtrack(cd, nr) setshuffle(onoff) ejectcd()

Einleitung. Was ist SOA? Die SOA Idee. Beispiel Monolithische Applikation. Services. CD Player. playtrack(cd, nr) setshuffle(onoff) ejectcd() Einleitung Was ist Service Oriented Architecture? Welche Konzepte verfolgt SOA? Was genau ist ein Service? Wie modelliere ich meine Servicelandschaft? Was ist ideales Servicedesign? Aufgaben für den Technologiemanager

Mehr