Sie sind hier
E-Book

Systemarchitekturen für Verteilte Anwendungen

Client-Server, Multi-Tier, SOA, Event-Driven Architectures, P2P, Grid, Web 2.0

AutorAndreas Eberhart, Arne Koschel, Carsten Kleiner, Jürgen Dunkel, Stefan Fischer
VerlagCarl Hanser Fachbuchverlag
Erscheinungsjahr2008
Seitenanzahl305 Seiten
ISBN9783446417458
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis34,99 EUR
GUT VERTEILT IST HALB GEWONNEN
- Alles in einem Buch: die wichtigsten Architekturtypen verteilter Anwendungen.
- Lernen Sie die Unterschiede, Vor- und Nachteile der Architekturtypen kennen.
- Orientieren Sie sich an den zahlreichen Fallbeispielen des Buches.
- Sie erhalten Unterstützung bei der Auswahl der richtigen Architektur für Ihr spezifisches Einsatzszenario.
Verteilte DV-Lösungen werden mehr und mehr zum Kern der IT-Infrastruktur - sowohl bei Weltkonzernen als auch bei kleinen und mittleren Unternehmen. Sie ermöglichen einen effizienten Informationsfluss innerhalb eines Unternehmens und in Kunden- und Lieferantenbeziehungen. Über die Jahre haben sich verschiedene mögliche Architekturen etabliert: Client-Server, Multi-Tier, SOA, Event-Driven Architecture, P2P, Grid. Gleichzeitig liefert auch das Web 2.0 wichtige Impulse.
Als Entscheider, Projektleiter, Software-Architekten oder -Ingenieure stehen Sie vor der Herausforderung, sich für die 'richtige' Architektur für Ihr Einsatzszenario zu entscheiden. Dieses Buch gibt Ihnen dafür wertvolle Entscheidungshilfen.
Die Autoren beschreiben die Konzepte der verschiedenen Systemarchitekturen und stellen jeweils die wichtigsten Realisierungsplattformen und einfache Code-Beispiels vor. So lernen Sie die Architekturen kennen und bekommen einen Eindruck von der konkreten Umsetzung. Der Vergleich der Architekturen, die Beschreibung ihrer Vor- und Nachteile und eine Reihe von Fallbeispielen helfen Ihnen bei der Architekturwahl. Der Ausblick macht Sie vertraut mit zukünftigen Entwicklungen wie Software as a Service, Virtualisierung, Semantic Web und Ubiquitous Computing
Aus dem Inhalt: Softwarearchitekturen - Client-Server-Architekturen - 3- und N-Tier-Architekturen - SOA - Event-Driven Architecture - Peer to Peer - Grid-Architekturen - Web 2.0 und Web-orientierte Architekturen - Vergleichskriterien zur Architekturwahl - Fallbeispiele aus der Praxis - Künftige Entwicklungen

Kaufen Sie hier:

Horizontale Tabs

Leseprobe

Kapitel 6 Event-Driven Architecture (EDA) (S. 119-120)

Die im vorigen Kapitel betrachteten Service-orientierten Architekturen (SOA) bieten ein Konzept, um Software auf Basis der von ihnen angebotenen Dienste ( Services) zu strukturieren. Insbesondere können aus bestehenden Anwendungssystemen Services extrahiert und dann zu komplexen Geschäftsprozessen zusammengesetzt werden.

Dieser Architekturansatz ist sehr gut geeignet, wenn die zu unterstützenden Prozesse Ablauf-orientiert sind, d.h. durch einzelne Arbeitsschritte, Abfragen, Schleifen usw. beschrieben werden können. Eine solche Ablauf-orientierte Sicht auf Geschäftsprozesse stößt aber in vielen Anwendungsbereichen an ihre Grenzen. Denn in der Realität sind viele Geschäftsprozesse ereignisgesteuert: immer mehr Detailinformationen werden elektronisch in Form von Ereignissen bereitgestellt.

Dabei handelt es sich um fein-granulare Daten, die häufigen Updates unterworfen sind, und auf die in angemessener Weise möglichst in Echtzeit reagiert werden muss. Oder, wie es in einer Gartner-Studie heißt: ’the real world is mostly event driven’ [77]. Beispiele f ür solche ereignisgesteuerten Geschäftsprozesse gibt es viele: Logistische Prozesse, die eine zentrale Rolle in allen Wirtschaftsbereichen spielen, sind durch die Verarbeitung von Ereignissen bestimmt. Sie müssen bspw. auf den Eingang eines Werkstücks, das Beenden eines Fertigungsschritts oder das Auftreten eines Fehlers unmittelbar reagieren. Von besonderer Bedeutung ist dabei die Lokalisierung und Identifizierung von Waren und Gegenständen, wie sie mittels RFID-Technologie ( Radio Frequency Identi.cation) erfolgen kann. Aber auch in vielen betriebswirtschaftlichen Anwendungen sind Ereignisse von zentraler Bedeutung: die Steuerung von Arbeitsabläufen (Workflows) ist durch den Eingang von Bestellungen, Aufträgen, Buchungen usw. bestimmt. Ein klassisches Beispiel ist der Wertpapierhandel: die Kauf-Entscheidung für eine bestimmte Aktie hängt von der Entwicklung von Dollarkurs, Goldpreis, Dow Jones usw. ab. Jede einzelne Kursänderung kann als ein Ereignis aufgefasst werden und muss ggf. bei der Entscheidungsfindung berücksichtigt werden.

Im Business Activity Monitoring (BAM) werden die für alle Geschäftsprozesse relevanten Ereignisse in Echtzeit gesammelt und zu Daten verdichtet, um so kontinuierlich den aktuellen Status der kritischen Unternehmensprozesse bestimmen zu können. Auf Basis geeigneter Indikatoren lassen sich dann Entscheidungen fundierter treffen und die Prozesse dynamisch den Unternehmenszielen anpassen [17].

Wegen der Vielzahl der potenziell auftretenden Ereignisse und ihrer komplexen Wechselwirkungen lässt sich in den beschriebenen Szenarien kein vordefinierter Ablauf für einen Geschäftsprozess festlegen. Das prozessorientierte Konzept von SOA greift hier also nicht.

Speziell für solche Ereignis-getriebene Systeme wurde das Konzept der Event- Driven Architecture (EDA) von David Luckham an der Stanford University entwickelt [55]. Im Wesentlichen handelt es sich dabei um eine Softwarearchitektur, die auf die Ereignisverarbeitung ausgerichtet ist, also das Erzeugen, Entdecken und Verarbeiten einzelner Ereignisse oder ganzer Ereignisströme als zentrale Architekturkomponenten beinhaltet.

Von Gartner wurde für eine Kombination von SOA und EDA der Begriff SOA 2.0 oder Advanced SOA geprägt.1 Als Hauptanwendungsgebiete werden dort u.a. Echtzeithandel in der Finanzbranche oder Verwaltung von RFID-Netzen identifiziert.

Inhaltsverzeichnis
Inhaltsverzeichnis6
Vorwort12
Teil I Einführung14
Kapitel 1 Motivation und Überblick16
Kapitel 2 Softwarearchitekturen20
2.1 Der Begriff ”Softwarearchitektur“20
2.2 Leitgedanken zur Strukturierung von Software21
2.3 Kriterien für gute Softwarearchitekturen22
2.4 Die Dimensionen verteilter Systeme24
2.4.1 Verteilung und Kommunikation25
2.4.2 Nebenläufigkeit26
2.4.3 Persistenz27
2.5 Existierende Softwarearchitekturen für verteilte Systeme28
Teil II Architekturen für verteilte Systeme32
Kapitel 3 Client-Server-Architekturen34
3.1 Architekturkonzept34
3.1.1 Einführung34
3.1.2 Eigenschaften des Client-Server-Modells35
3.2 Realisierungsplattformen38
3.2.1 WWW-Clients und -Server38
3.2.2 Sockets40
3.2.3 RPC am Beispiel Java Remote Method Invocation41
3.2.4 Client und Datenbank-Server43
3.3 Code-Beispiele45
3.3.1 Sockets45
3.3.2 RPC mit Java RMI48
3.3.3 DB-Client und DB-Server50
Kapitel 4 3- und N-Tier-Architekturen54
4.1 Architekturkonzepte55
4.1.1 Dreischichtige Architekturen55
4.1.2 Mehrschichtige Architekturen59
4.2 Realisierungsplattformen62
4.2.1 Klassische Web 1.0-Anwendungsarchitekturen62
4.2.2 Verteilte Objekte am Beispiel CORBA64
4.2.3 JEE68
4.2.4 .NET76
4.3 Code-Beispiele85
4.3.1 Klassische Web 1.0-Anwendungsarchitekturen85
4.3.2 Verteilte Objekte am Beispiel CORBA: Code88
4.3.3 JEE91
4.3.4 .NET96
Kapitel 5 SOA102
5.1 Architekturkonzept102
5.1.1 Motivation102
5.1.2 Struktur von SOAs103
5.2 Web Services105
5.2.1 Motivation, Historie und Standardisierung105
5.2.2 SOAP107
5.2.3 WSDL111
5.2.4 UDDI113
5.2.5 WS-BPEL113
5.2.6 WS-I115
5.2.7 WS-*115
5.2.8 Fragestellungen in der Praxis116
5.2.9 Bewertung der Web Service Standards117
5.3 Realisierungsplattformen118
5.3.1 .NET118
5.3.2 Apache Axis120
5.3.3 Open Enterprise Service Bus123
5.3.4 Oracle WS-BPEL Engine125
5.4 Code-Beispiele126
5.4.1 Java / Axis126
5.4.2 .NET128
5.4.3 WS-BPEL129
Kapitel 6 Event-Driven Architecture (EDA)132
6.1 Architekturkonzept133
6.1.1 Ereignis-orientierte Softwarearchitektur134
6.1.2 Complex Event Processing137
6.1.3 EDA-Referenzarchitektur146
6.1.4 Vorgehen bei der Entwicklung von EDA-Anwendungen147
6.1.5 Aktueller Entwicklungsstand148
6.2 Realisierungsplattformen149
6.3 Code-Beispiele150
Kapitel 7 Peer-to-Peer154
7.1 Architekturkonzept155
7.1.1 Was ist P2P?155
7.1.2 Zentrale Architektur – Napster158
7.1.3 Verteilte Architektur – Gnutella159
7.1.4 Distributed Hash Tables162
7.1.5 Chord164
7.1.6 Split-Stream-Protokolle166
7.1.7 Bedeutung und Einordnung von P2P-Netzen168
7.2 Realisierungsplattformen168
7.2.1 JXTA169
7.2.2 Peer-to-Peer-Netze in der Praxis171
Kapitel 8 Grid-Architekturen174
8.1 Architekturkonzept175
8.1.1 Allgemeines176
8.1.2 Arten von Grids178
8.1.3 OGSA179
8.1.4 Weiterführende Literatur180
8.2 Realisierungsplattformen181
8.2.1 Konzeptionelle Realisierungen der OGSA182
8.2.2 Unabhängige Implementierungen187
8.2.3 Herstellerspezifische Implementierungen190
8.3 Code-Beispiele192
8.3.1 Globus Toolkit GT4192
8.3.2 Amazon193
Kapitel 9 Web 2.0 und Web-orientierte Architekturen198
9.1 Architekturkonzept200
9.1.1 Keep it Simple!200
9.1.2 Hochskalierbare Systeme mit REST201
9.1.3 AJAX: Neue Wege im Design von Web-basierten Benutzerschnittstellen202
9.1.4 JSON als leichtgewichtiger Ersatz für XML208
9.1.5 Event-basierte Programmierung mit Feeds209
9.1.6 Mashups: Daten- und Applikationsintegration im Browser211
9.1.7 Architektonische Probleme bei Mashups und AJAX212
9.2 Realisierungplattformen215
9.2.1 AJAX-Werkzeuge215
9.2.2 UI Libs216
9.2.3 Mashup IDEs217
9.2.4 Alternative Clients217
9.3 Code-Beispiele219
9.3.1 REST Client in Java219
9.3.2 JavaScript Mashup221
Teil III Auswahl einer konkreten Architektur224
Kapitel 10 Vergleichskriterien zur Architekturwahl226
10.1 Anforderungen aus dem Softwarelebenszyklus227
10.1.1 Analyse und Design228
10.1.2 Entwicklung und Test229
10.1.3 Betrieb230
10.1.4 Management und Umfeld231
10.1.5 Analyse der Architekturen232
10.2 Anforderungen der Anwendungen247
10.2.1 Grad an Interaktivität248
10.2.2 Zahl der Teilnehmer248
10.2.3 Ressourcenbedarf249
10.2.4 Dynamik249
10.2.5 Robustheitsanforderungen249
10.2.6 Anwendungsgebiet250
10.3 Zusammenfassung der Architekturbewertung250
Kapitel 11 Verteilte Anwendungen: Fallbeispiele aus der Praxis252
11.1 Fallbeispiele ”Klassische Web-Anwendungsarchitekturen und Verteilte Objekte“252
11.1.1 Klassische Web 1.0-Anwendungsarchitekturen252
11.1.2 3-Tier Web- und verteilte Objekte-Anwendung mit CORBA: ”UIS-Föderationsarchitektur“253
11.2 Fallbeispiele ”N-tier-Architekturen“254
11.2.1 .NET: ”3-Schicht-Anwendung vita.NET“255
11.2.2 Java EE/J2EE: ”Standard-Web-Anwendungen PetStore und Duke’s Bank“258
11.3 Fallbeispiele ”SOA“260
11.3.1 SOA und Web Services: ”Amazon.com“261
11.3.2 SOA und ESB: ”Einführung in einem mittelständischen Versicherungsunternehmen“261
11.3.3 SOA, CORBA und J2EE: ”Erfahrungen bei der Migration eines IMS-basierenden Kernbankenverfahrens in eine Service-orientierte Architektur“265
11.4 Fallbeispiele ”Peer-to-Peer“270
11.5 Fallbeispiele ”Grid“270
11.5.1 Huge Scale Grid: ”Worldwide LHC Computing Grid (WLCG)“270
11.5.2 Kleine Grids: ”ViSoGrid“272
11.6 Fallbeispiel Web 2.0: ”Flickr“274
Teil IV Ausblick und Zusammenfassung276
Kapitel 12 Künftige Entwicklungen278
12.1 Software as a Service278
12.2 Virtualisierung279
12.3 Appliances281
12.4 Cloud Computing283
12.5 Semantic Web284
12.6 Ubiquitous Computing286
12.7 Ultra-Large-Scale Systems287
Kapitel 13 Zusammenfassung290
Literaturverzeichnis292
Stichwortverzeichnis300

Weitere E-Books zum Thema: Systemadministration - IT

Technische Dokumentation

E-Book Technische Dokumentation
Praktische Anleitungen und Beispiele Format: PDF

Die 2. Auflage führt das bewährte Konzept - angereichert mit neuen Beispielen - weiter. Der Autor gibt einfach nachvollziehbare Vorgaben in Form von Bausteinen, nach denen Bedienungsanleitungen und…

Technische Dokumentation

E-Book Technische Dokumentation
Praktische Anleitungen und Beispiele Format: PDF

Die 2. Auflage führt das bewährte Konzept - angereichert mit neuen Beispielen - weiter. Der Autor gibt einfach nachvollziehbare Vorgaben in Form von Bausteinen, nach denen Bedienungsanleitungen und…

Linux-Systemadministration

E-Book Linux-Systemadministration
Grundlagen, Konzepte, Anwendung Format: PDF

Linux ist eine fest etablierte, für vielfältige Rechnerarchitekturen verfügbare Plattform und zeichnet sich insbesondere durch die hohe Stabilität und Sicherheit des Systems aus. Dieses Buch bietet…

Linux-Systemadministration

E-Book Linux-Systemadministration
Grundlagen, Konzepte, Anwendung Format: PDF

Linux ist eine fest etablierte, für vielfältige Rechnerarchitekturen verfügbare Plattform und zeichnet sich insbesondere durch die hohe Stabilität und Sicherheit des Systems aus. Dieses Buch bietet…

Linux-Systemadministration

E-Book Linux-Systemadministration
Grundlagen, Konzepte, Anwendung Format: PDF

Linux ist eine fest etablierte, für vielfältige Rechnerarchitekturen verfügbare Plattform und zeichnet sich insbesondere durch die hohe Stabilität und Sicherheit des Systems aus. Dieses Buch bietet…

Linux-Systemadministration

E-Book Linux-Systemadministration
Grundlagen, Konzepte, Anwendung Format: PDF

Linux ist eine fest etablierte, für vielfältige Rechnerarchitekturen verfügbare Plattform und zeichnet sich insbesondere durch die hohe Stabilität und Sicherheit des Systems aus. Dieses Buch bietet…

Weitere Zeitschriften

Card Forum International

Card Forum International

Card Forum International, Magazine for Card Technologies and Applications, is a leading source for information in the field of card-based payment systems, related technologies, and required reading ...

Correo

Correo

 La Revista de Bayer CropScience para la Agricultura ModernaPflanzenschutzmagazin für den Landwirt, landwirtschaftlichen Berater, Händler und am Thema Interessierten mit umfassender ...

DGIP-intern

DGIP-intern

Mitteilungen der Deutschen Gesellschaft für Individualpsychologie e.V. (DGIP) für ihre Mitglieder Die Mitglieder der DGIP erhalten viermal jährlich das Mitteilungsblatt „DGIP-intern“ ...

DULV info

DULV info

UL-Technik, UL-Flugbetrieb, Luftrecht, Reiseberichte, Verbandsinte. Der Deutsche Ultraleichtflugverband e. V. - oder kurz DULV - wurde 1982 von ein paar Enthusiasten gegründet. Wegen der hohen ...

FileMaker Magazin

FileMaker Magazin

Das unabhängige Magazin für Anwender und Entwickler, die mit dem Datenbankprogramm Claris FileMaker Pro arbeiten. In jeder Ausgabe finden Sie von kompletten Lösungsschritten bis zu ...