VWL in Heidelberg

Einträge werden als ‘dr dieter weinmann’ kategorisiert

Übungsfragewn Dieter Weinmann Wirtschaftsinformatik

April 11, 2007 · Kommentar schreiben

Aufgabe 10:

Definiere verteiltes System, verteilte Anwendung und Middleware

Definition Verteiltes System:
- Ein verteiltes System ist ein System
o In dem sich Hardware und Softwarekomponenten auf vernetzten Computern befinden und
o Nur über den Austausch von Nachrichten kommunizieren und ihre Aktionen koordinieren
Beispiel: das Internet, „The glue“ sind die Protokolle IP, TCP, UDP

Def.: Middleware
- wird von einer verteilten Anwendung als Zugriffsschnittstelle zum verteilten System genutzt
- Ziel: verbergen der Verteilungsaspekte der Anwendung
- Unterscheidung: Kommunikations und Anwendungsorientierte Middleware
o Bzw data management, platform und communication..
- Ziel: Verbergen der Verteilung = Transparenz
o Ortstransparenz
o Zugriffstransparenz
o Nebenläufigkeitstransparenz
o Fehlertransparenz
o Replikationstransparenz (Replikation von HW oder SW bleibt verborgen)
o Vollständige Transparenz ist nicht immer Sinn voll. Bsp. Fehlermeldungen beim Drucker? WO?

Def.: verteilte Anwendung:
- eine Verteilte Anwendung ist eine Anwendung,
o die ein verteiltes System zur Lösung eines Anwendungsproblems nutzt und
o aus verschiedenen Komponenten besteht, die mit den Komponenten des verteilten Systems sowie mit den Anwendern kommunizieren
o Bsp.: Flugbuchung, Internetshops
o ftp telnet usw..

Aufgabe 11:

Beschreiben sie, anhand eines Beispiels, wann sich der Einsatz einer Middleware lohnt, bzw. wann direkte Netzwerkprogrammierung angezeigt ist

-

Aufgabe 12:

Beispiel für Fälle, in denen Transparenz keinen Sinn macht
- zum Beispiel beim Netzwerkdrucker, da wäre es sehr sinnvoll, wenn jemand weiß, wo sich die ressource befindet oder, wenn ein Fehler auftritt, wie der Drucker angesteuert wird.

Aufgabe 13:
Die Verteilung von Anwendungen wirft viele Probleme auf. Begründen Sie anhand von Beispielen, warum es dennoch sinnvoll sein kann, eine Anwendung verteilt zu realisieren

Wesentlicher Grund: gemeinsame Nutzung der Ressource
- Hardwareressourcen (Netzwerkdrucker, Scanner)
- Gemeinsame Nutzung von Daten und Informationen – Datenbank, WWW, Fileserver  Informationsaustausch
- Gemeinsame nutzung von Funktionalität
o Zentralisierung der Funktionalität, Fehlervermeidung, wieder verwertung

Aufgabe 14:
Begründen Sie, warum 2 tier Architektur nicht für Internetanwendungen geeignet ist.

Engl: Stufe, Reihe. Achtung: nicht Schicht, schicht ist ein LAYER

- kennzeichnet einen unabhängigen Prozessraum innerhalb einer verteilten Anwendung
- n tier legt fest, wie viel unterschiedliche Stufen, also Client, Server Prozessräume es in einer verteilten Anwendung gibt.
- Prozessraum kann, muss aber keinem pysikalischen Rechner entsprechen – heute nicht mehr weil, Blades, Cluster und grid usw.
- Typische Aufgabenstellung in einem Inforamtionssystem sind:
o Präsentation
o Anwendungslogik
o Datenhaltung
- bei einer 2 tier Architektur gibt es nur 2 Schichten, das waren frühere Mainframes/Großrechner, wo auf dem Client nur die Präsentation der Daten möglich war.
- D.h. es wäre eine Direktverbindung zum nächsten Computer nötig, was aber beim Internet nicht der fall ist, da hier viele Rechner vernetzt sind und auch weitere Rechner den Middletier zur Übertragung bilden.
- 2 Tier wird noch bei Datenbanken eingesetzt, schwer wartbar, schwer skalierbar, update Problem – wenn dann kompletter Rechner

Aufgabe 15:
Sie erhalten eine hochverfügbare Internetplattform zur Versteigerung von DVDs. Erläutern sie kurz, welche Architekturmodelle bzw. Verteilungsmodelle sie einsetzen würden. Skizze!!

- Client= im Browser findet die Präsentation statt.
- Anwendungslogik und Datenhaltung beim Plattforminhaber. Dazwischen Kommunikationsmiddleware: INTERNET
- Bei der Plattform wird eine verteilte Architektur benötigt um die Hochlast und die dauernden Anfragen verarbeiten zu können…
- Wichtig: Lastverteilung
- 1. Eingangsrechner alleine nur zur Verwaltung der Seitenaufrufe
- 2. verteilt über verschiedenste Verfahren die Lasten auf die Rechner die die Anfragen bearbeitet.
- Hier: zb. jede Auktion auf einem bestimmten Rechner, vereinfacht Datenhaltung von Session Cookies, /Jave beans usw und wegen der dauernden Preisänderung.  also viele Webserver, die die anfragen verarbeiten.
- Für die Datenhaltung muss man im Hintergrund ein Grid aufbauen, dass die ganzen Datenbanken mit den Infos enthält die bei bedarf an den Webserver geliefert werden, wie Kundendaten, Auktionsdaten, Abrechnungsvorgänge,
- Dabei sollten systemkritische Prozesse, wie Abrechnung mit hoher Sicherheit und Kundendaten, die sich selten ändern auf unterschiedlichen Rechner mit unterschiedlichen Sicherheitsstufen gehalten werden, um Wartung zu vereinfachen
- Außerdem sollten die Seiten dezentral gespiegelt werden, wie z.b. bei ebay – Länderspezifische Websites um DoS Attacken zu vermeiden, oder Flash Crows am ende einer Auktion

Ultra thin client: nur Browser
Fat client: teile der Anwendung liegen auf Client –J2EE usw.

Aufgabe 16:
Middleware kann sowohl im EAI Bereich, als auch für verteilte Anwendungen eingesetzt werden. Erläutern sei, welche Eigenschaften Middleware jeweils unterstützen sollte.

EAI= Enterprise Application Integration
Integration vollständiger Anwendungen entlang der Wertschöpfungskette eines Geschäftsprozesses oder in einem Unternehmen
Ziel: Integration einfacher Anwendungen.
Middleware eignet sich zwar auch, erb nicht so gut zur Anwendungsintegration:
Unterschied SAP XI und Net Weaver
Middleware sollte auf jeden Fall die Interaktion der Anwendungen und die Kommunikation der Anwender vereinfachen

Für EAI wird eine hohe Anforderung an Skalierbarkeit und Sicherheit gestellt

Aufgaben zu Webservices

1.) Welchen neuen Aspekt unterstützen WebServices im Vergleich zu anderen Web Technologien?

- Ermöglichen web basierende RPC
- 4th generation von webAnwendungen  Browser über XMl zu webserver, der ruft dann noch von APP Server und DB Sachen ab.
- Neuer Aspekt: Kommunikation zwischen den Diensten aufgrund von Standards, dadurch durchmischen von Anwendungen, Interoperabilität, besseres Customizing an die Bedürfnisse des Nutzers.
- Verbindet die Dienste verschiedenster Anbieter innerhalb eines Geschäftsprozesses

2.) Was versteht man unter einem wohlgeformten XML Dokument? Wann kann ein XML Dokument als gültig angesehen werden?

- Daten werden mit der Endung .xml abgelegt
- XML sind wohlgeformt, wenn sie allen Regeln genügen (Syntax)
o Bedeutet nicht, dass diese auch sinnvoll sind
- Damit ein Dokument ein gültiges Doc ist, muss die Struktur interpretierbar sein
- 2 Spezifikationen von XML Semantik:
o DTD Date Type Definition, Spezifikationen für den Austausch von Dokumenten
o XML Schema: Nachfolger der DTD, XMl basiert

XML= auzeichnungssprache
- sprache zur Beschreibung von Elementen in einem XMl Dokument
- bietet Reihe von Basusdatentyen und komplexer Ausdruckstypen
- Datentypdefinitionen werden mit .xsd beschrieben
- Notation ist wieder xml
- Xml file enthält link auf die schema interpretation und kann so interpretiert werden.
- Jeder Namespace mit eindeutiger URI = universal Ressource Identifier
- W3c definiert das
Bietet die Möglichkeit, komplexe Datenstrukturen innerhalb eines Dokuments darzustellen
Zwischen Systemen und Plattformen austauschbar

3.) Idee hinter den WS ist es, einem Anwender einen komplexen Dienst durch die transparente Zusammenarbeit mehrer Teildienste zur Verfügung zu stellen. Nennen sie mögliche Geschäftsmodelle für WS in der Zukunft

- Automatisierung, so dass die Maschinen untereinander kommunizieren können
- Ws sollen hauptsächlich im B2B Bereich eingesetzt werden und durch ihre Standardisierung Integration von verschiedensten Heterogenen Dienste bewerkstelligen, Ws sind nicht Middleware, es fehlt was auf der Vermittlungsschicht
- Darüber hinaus sind unzählige Szenarios möglich, wo ein WS genutzt werden kann Z.B. Local Based Services, wo Mobiltelefone in Funkzellen automatisch dienste zur Verfügung gestellt bekommen, ie wo gibt es in Wien das Wiener Schnitzel
-

4.) Nennen sie einige Vorteile der WebService Technologien gegenüber JAVA RMI. Wo sehen sie die wichtigsten konzeptionellen Unterschiede der beiden Technologien?

JAVA RMi (Remote Method Invocation)
- Java basierte Implementierung des RMI Kommunikationsmodells
- Integraler Bestandteil der JAVA Plattformen
- Client und Serverobjekte immer in JAVA
- Datentransformation: Objektserialisierung
- Intergrierter Namensdienst: JAVA Registry
- Verwendet das Sicherheitsmodell der J2EE  trusted, untrusted

Vorteile von WS gegenüber JAVA RMI
- übergreifende Standardisierung
- kein Java Runtime engine nötig – müsste auf allen Rechnern verfügbar sein, um die Befehle interpretieren zu können
- Bei Java müssen Teile der Anwendung zum Client geladen werden, WS rein über nachrichten und Dienstaufrufe
- Nur für reine JAVA Lösungen – Connectors z.B: zu SAP SOA sau teuer, und da wären noch haufenweise andere Sachen nötig, NetWeaver usw.…
- Parsen z.b. der Google Suche in die eigene Anwendung geht über WS ganz einfach, über JAVA nicht möglich, da müssten erst Prozesse definiert werden usw..
- Jeder Browser liest xml

Aber: JAVA RPC
JAVA Apis for xml based RPC (JAX RPC) sind der Standard einer Schnittstelle für JAVA Anwendungen auf WS
- erweitert SOAP um eine Java Schnittstelle
-

Gruppenarbeit WS:
- Anwendungsszenarien, Vorteile der Technologie, wieso noch so selten..

- Vorteile und Nachteile

- Vorteile:

o Webservices sind eine Middleware für das Internet, durch http einfach übertragbar, keine Firewallrpobleme
o Offene, flexible Architektur durch http, XML…
o Einfache zu implementieren
o Offene Standards
o Kostengünstig
Mit JAX RPC Java Platform für WS, mit ASP.net von MS
Grundlage bilden die drei Standards WDSL, UDDI, SOAP
Fehlende Standards erschweren den Einsatz
Nachteile:
- Fehlende Standards zu Sicherheit, Prozess- und Transaktionsverwaltung erschweren den Einsatz.
- Performance: Durch XML, gestiegene Dateigrößen und Parsen entsteht ein großes Datenaufkommen
- Noch keine Standards zu kostenpflichtigen Web Services (Bezahlmodelle)

Nachrichtenorientierte Middleware
1.) Begründen sie, wann die Übertragung einer Nachricht durch nachr. Orient. Middleware transaktional ist, also die 4 Eigenschaften einer Transaktion erfüllt. Welche Rolle spielen hierbei persistente Warteschlangen

- 4 eigenschaften einer Transaktion? ACID atomity, consistency, isolation durability

Asynchroner Transport von Daten zwischen 2 Prozessen
Daten werden innerhalb von Nachrichten übertragen
Reueset Reply Modell, Message Passing, Publish, Subscribe Modell
MOM= Message oriented Middleware zur Warteschlangenverwaltung, Unterstütz alles mögliche an Message zeug: Verbindungsmanagement, Warteschlangenverwaltung usw

- Persistente Warteschlangen
o Eine wesentliche Quality of Service Eigenschaft ist die garantierte Auslieferung der Nachricht
o Problem: Empfänger kann ausfallen, Netzwerk kann unterbrochen sein
o PERSITENTES Zwischenspeichern in DB
o Wenn der Empfänger bereit ist wird zugestellt
o Sagt also nichts über den Zeitpunkt aus
- Warteschlangeverwalter: Queue Manager

2.) Beschreiben sie Programmiermodelle, die mit nach.orient. Middleware umgesetzt werden können!

- asynchrone Kommunikation! Message Queuing
Klasse der nachrichtenorientierten Middleware fallen alle Middleware-Technologien, die auf dem nachrichtenorientierten Modell aufsetzen. Typisches Kennzeichen nachrichtenorientierter Middleware ist die Unterstützung komplexer Warteschlangensysteme.
Der aktuell wichtigste Standard für nachrichtenorientierte Middleware ist der Java Message Service (JMS). Bekanntes Beispiel und in gewisser Weise Quasi-Standard für eine nachrichtenorientierte Middleware ist WebSphereMQ von IBM, auch unter dem Namen MQSeries bekannt.
-

Nachrichtenorientierte Middleware bzw. Message Oriented Middleware (MOM) bezeichnet Middleware, die auf der asynchronen Kommunikation, also der Übertragung von Nachrichten (Messages) beruht. Das Format für die Nachrichten ist nicht festgelegt, in der Praxis hat sich jedoch XML als beliebtes Format etabliert.

MOM unterstützt drei verschiedene Kommunikationsprotokolle

Message Passing (Direkte Kommunikation zwischen Applikationen)
Message Queueing (Indirekte Kommunikation über eine Nachrichtenqueue)
Publish & Subscribe (Erzeuger (Publisher) stellt Konsument (Subscriber) Messages zur Verfügung)

Vorteile
asynchrone Kommunikation
Server/Dienst muss nicht sofort verfügbar sein
Message-Warteschlangen
meist schnellere Ausführung als Funktionsaufruf-basierte Programme
lose Kopplung von Server/Clients
mehr Toleranz für Änderungen der bestehenden Funktionen
verbesserte Verfügbarkeit der Systeme
parallele Verarbeitung von Nachrichten möglich

Nachteile
Komplexität beim Programmieren
Hoher Aufwand
Ausfall der MOM legt alle angeschlossenen Systeme lahm
Designen, Testen, Debuggen und Entwicklung der Bauteile sind für Synchron-Programmierer ungewohnt

Message Oriented Middleware mit XML [Bearbeiten]
Der Einsatz von XML als Sprachbasis für die Nachrichten bei Message Oriented Middleware ist in der Praxis weit verbreitet. Aufgrund des vergleichsweise selbsterklärenden und im Gegensatz zu Nachrichten im Binärformat leicht menschenlesbaren Formats ist es beim Einsatz von XML relativ einfach, auch die Kommunikation zwischen Middleware-Systemen zu ermöglichen, wenn sie unterschiedliche Sprachen verwenden, solange die Sprachen XML-basiert sind. Um die Kommunikation zu ermöglichen, kann ein XSLT-Prozessor als Übersetzer zwischengeschaltet werden, der mit Hilfe eines Transformations-Stylesheets Nachrichten von der XML-basierten Sprache des Quellsystems in die Sprache des Zielsystems übersetzt. Als Protokoll wird häufig SOAP eingesetzt.

3.) Überlegen sie sich für jedes der genannten nachrichtenorientierte Programmiermodell ein Anwendungsszenarien in der Praxis. Begründung.
RPC

JAVA RMI

MOM
- Publish subscribe – Newsletter im Internet
- Message Passing
o Point to Point
o Broadcsting =videodienst jeden tag um 8=tagesschau verlinkung einblenden oder so
o Request Reply Modell = eingebettete fragen und antworten in diensten zb. Akzetieren der Geschäftsbedinungen (da es hier eher im technik geht, die ohne menschliches klicken funktioniert…anderes beispiel)

Middleware: Kommunikations- und Anwendungs- Middleware

1.) Webanwendungen arbeiten häufig mit Sitzungen. Eine Sitzung bleibt über mehrere Seitenwechsel vorhanden. Diskutieren sie, zu welchen Problemen bei der Sitzungsverwaltung die Verwendung des back Buttons im Browser führen kann.

- Verwendung des Back Buttons –
o Führt ohne Clientseitigen Cache zum datenverlust zb auf der Eingabemaske vorher
 Lösung Session Cookie oder Java Beans

2.) Erläutern sie den Unterschied zwischen horizontaler und vertikaler Transaktionen.

Verteilte Transaktionen:
- bei dezentrierten Anwendungen werden die Daten aus der Anwendung im Cache der Middleware gespeichert
- Ein Transaktionsdienst hat die Aufgabe, dass die Daten im Cache mit den Daten der DB konsitent sind
- Mittel der Wahl ist Tier übergreifende Verwaltung
- Wird auf middle tier ausgeführt

Horizontale Transaktionen:
- Erweiterung der Vertikal verteilten Transaktionen
- Mehrere Ressourcen müssen integriert werden. DBen oder so
-
Cross industry app müssen vertical integriert werden.also gleiches programm in unterschiedlichen branchen
Zb 2 lagerprogramme geichen den bestand ab oder so

Horizontal:
Abgleich von 2 unterschiedlichen programmen. Vertriebler braucht verbingund von google earth mit vw verkäufen in heidelberg über BI Modul als WS Dienst oder so

Dann braucht er anwendungsorientierte Middlware, die die unterschiedlichen abgleiche von programmen vornimmt und erstmal versteht und übersetzt, das ine kommunikation möglich ist

Anwendungsorientierte Middleware erweitert die Kommunikation um
- Laufzeitumgebung zb. .net oder J2EE
- Dienste zb GPS einbetten
- Komponentenmodell: was von welchem programm wird benötigt?

Middlewaretechnologien:
- ORB – object request broker zb.b CORBA
- Application Server
- Middleware Platform – J2EE

3.) Beschreiben sie das Modell der Open Group zur Verwaltung verteilter Transaktionen.
Erläutern sie, warum eine einfache Transaktionsverwaltung bei verteilten Systemen nicht mehr ausreicht. Wo können Probleme auftreten?

- Es gibt ein heute allgemein anerkanntes Modell für die Verwaltung von verteilten Transaktionen
- Das Modell wurde von der Open Group entwickelt  offener Standard
- Das Modell beschreibt die Rolle der beteiligten Komponenten
o Die Anwendung
o Der Transaktionsverwalter
o Die Ressourcenverwalter
o Begin/Commit/rollback

Ablauf:
- Anwendung BEGIN
- Transaktion ist nun aktiv
- Jeder Ressourcenverwalter teilt über JOIN mit, dass er an der Transaktion beteiligt ist
- Anwendung will mit COMMIT das ende der Transaktion
- Transaktionsverwalter fordert die Ressourcenverwalter auf, die Änderungen festzuschreiben (2 Phasen Commit)

4.) Optimistisches Sperren erlaubt eine feine Abstimmung der Isolierung von Transaktionen durch so genannte Sperrmodi. Diskutieren sie, welche so genannten Sperrmodi denkbar sind.

5.) Welche Phänomene können bei unzureichender Isolierung paralleler Transaktionen gegeneinander auftreten? Wie wirken sie sich aus?

- Probleme der Ressourcentrennung z.B. bei WebServices

6.) Erläutern sie den Zusammenhang zwischen Nebenläufigkeit, threats und Transaktionen

- Nebenläufigkeit:
o Bezeichnet die isolierte parallele Bearbeitung von Aufrufen
o Wird möglich durch Prozesse und Threats
o

7.) Versicherungsanwendung, 20 Sachbearbeiter, jeder arbeitet im Schnitt 6 Stunden täglich mit der Anwendung. Es werden 10 Stunden Verfügbarkeit gefordert. Ausfälle darf es nicht geben. Mit welcher Strategie würde sie diese Anforderung erfüllen. Begründung.

- Cluster erfüllt diese Bedingungen
- Load Balancing Cluster
o Alles arbeitet parallel
o Zur Lastverteilung
- Fail over Cluster: zus Ausfallsicherheit

Systemarchitekt entscheidet, ob Cluster notwendug oder nicht, hier JA
Blade Cluster zur schnellen erweiterbarkeit
On demand service auf keinen fall

8.) Komponentenmodelle erleichtern die Entwicklung verteilter Anwendungen erheblich. Dennoch sind die Meinungen über ihren Nutzen geteilt. Pro u Kontra Argumente finden!

Kategorien: SOA · dr dieter weinmann · sommer 2006 · verteilte systeme · web 2.0

Verteilte Systeme Wirtschaftsinformatik Weinmann SS 2006 Teil 1

April 11, 2007 · Kommentar schreiben

Wirthschaftsinformatik III : Computergestützte Planungsverfahren und Applikationssysteme

IS- Entwicklung:
- Geschäftsprozessmodellierung
- Requirements Engineering
- Systementwurf
- Implementierung
- Test
- Change Management

IS- Phasen:
- Konzeption
- Umsetzung
- Einführung

Software:
- Softwarearten:
o Systemsoftware
o Entwicklungssoftware
o Anwendungssoftware: Standard- und Individualsoftware
o Anwendungssoftware, Entwicklungssoftware, Systemsoftware
o Siehe Hansen, 2001, Wirtschaftsinformatik S. 151f
- Softwarekomponenten
o Definition
o Kategorien
 Infrastrukturkomponenten
 Anwendungskomponenten
 Branchenkomponenten
o Vorteile
- Open Source Software
o Definition
o Vorteil
o Beispiele

- Client Server Architektur
o 3 Arten
o Definition:
Unter der Client-Server-Architektur ( engl.: client-server architecture) versteht man eine kooperative Form der Informationsverarbeitung, bei der sich ergänzende Softwarekomponenten auf unterschiedliche Rechner aufgeteilt werden. Die verschiedenen Rechner sind über ein Rechnemetz verbunden. In einem solchen Netzwerk bieten einige Softwarekomponenten Dienste an (eng.: server), die von anderen Komponenten (engl.: clients) bei Bedarf in Anspruch genommen werden.
o von H. R: Hansen, G. Neumann im Buch Wirtschaftinformatik I (1978) im Text Planung, Entwicklung und Betrieb von Informationssystemen

3 Arten:
1. Client: Repäsentations/Oberfläche, Anwendungsfunktionen, Dezentrale Datenhaltung  Server: Zentrale Datenhaltung

2. Client: Repräsentation/Oberfläche, Anwendungsfunktionen  Server: Datenhaltung

3. Client: rerpäsentation/Oberfläche  Server: Anwendungsfunktionen, Datenhaltung

Verteilung der Schichten:
o Single Tired
o Two Tired
o Three Tired
o N-Tired

Verteilte Softwarekomponenten:
- Motivation
- Arten der Kommunikation
o Synchrone Kommunikation
o Asynchrone Kommunikation
- Middleware Techniken
o RPC (Remote Procedure Call)
o COBRA (Common Object Request Broker Architecture)

Das tier (engl. Schicht, Stufe)

- Das Tier kennzeichnet einen unabhängigen Prozessraum innerhalb einer verteilten Anwendung
- Die tier dient als Grundlage für n-tier Architekturen
- N.tier Architekturen sind eine Erweiterung /Verfeinerung des Client Server Architekturmodells
- Eine n tier Architektur legt fest, wie viele unterschiedliche Client Server Prozessräume es innerhalb einer Verteilten Anwendung gibt
- Das n gibt an, wie viele Prozessräume beteiligt sind
- Ein Prozessraum kann, muss jedoch nicht (!), einem physikalischen Rechner entwprechen (Nicht bei Grid, Pervasive usw…)
- Die Verwendung von n-tier Architekturen macht vor allem für Informationssysteme Sinn:
o Verteilung der Software zur Reduktion der Komplexität
o Interaktive Mensch Machine Schnittstelle
o Dezentriertes Vorgehen

- Das Tier Modell:
o Typischen Aufgabenstellungen in einem Informationssystem:
 Präsentation – Schnittstelle zum Anwender
 Anwendungslogik – Bearbeitung der Anfragen
 Datenhaltung – Speicherung der Daten in einer Datenbank
o Im Tier Modell wird jede dieser Aufgaben der Anwendungskomponente einer einzelnen Tiers zugeordnet
- Die Art der Zuordnung macht den entscheidenten Unterschied der verschiedenen n- Tier Architekturen
- Welche n-Tier Architekturen gibt es?
o 2 Tier
o 3 Tier
o 4 und mehr Tier Architekturen

- 2 Tier Architektur
o Das Modell unterstützt 2 Tier: Client und Server
 Zuordnung von Aufgaben zu Tiers:
• Präsentation – Client Tier
• Anwendungslogik – Client Tier und/oder Server Tier
• Datenhaltung – Server Tier
o Die Verteilung der Anwendungslogik auf Client und Server Tier kann variieren

- erstes und ältestes Verteilungsmodell
- Wird häufig im Zusammenhang mit stored Procedures und 4gl eingesetzt:
o 4gl = fourth language generation
 Unterstützt direkt Sprachelemente zum zugriff auf die Datenbank
 Stored Procedures sind vordefinierte SQL Statements, die in der Datenbank abgelegt und zur Laufzeit aufgerufen werden
- Vorteile:
o Einfach und schnell umzusetzen
o Performant
- Probleme:
o Schwer wartbar
o Schwer skalierbar
o Software Update Problem

3 Tier Architekturen

- Das Modell unterstützt 3 Tiers:
o Client – Tier
o Middle – Tier
o Server – Tier
- Zurodnung von Aufgaben zu Tiers:
o Präsentation  Client Tier
o Anwendungslogik  Middle Tier
o Datenhaltung  Server Tier
- Ist das Standardverteilungsmodell für einfache Webanwendungen:
o Client Tier = Browser zur Anzeige
o Middle Tier = Webserver mit Servlets/ASP/Anwendung
o Server – Tier

4- Tier und mehr Tier Architekturen

- Unterschied zur 3-Tier Architekturen: Die anwendungslogik auf der Middle Tier wird auf mehrere Tiers verteilt
- Motivation:
o Minimierung der Komplexitiät (Divide and Conquer)
o Besserer Schutz einzelner Anwendungsteile
o Verwendung mehrerer Anwendungsprozesse (Webserver, Application Server)
o Viele verteilte Informationssysteme liegen auf 4 Tier und mehr Tier Architekturen verteilt vor

- Eine typische 4 Tier Web-Anwednung
o Webclients  Firewall – SMZ/Webserver  Firewall – Webserver (Tier 2), Anwendungsserver (Tier 3)– Datenbankserver (Tier 4)

Ultra-Thin Client /Thin – Client / Fat-Client Architekturen

- Thin – und Fat Client Architekturen sind Verfeinerungsmodelle für die Zuordnung der Anwendungslogik
o Ultra Thin Client Architekturen: Die Präsentation auf der Client Tier beschränkt sich auf reine Anzeige von Dialogen
o Präsentationskomponente ist ein Browser
o Thin – Client- Architekturen: Die Präsentation auf der Client- Tier beschränkt sich auf Anzeige von Dialogen und die Aufbereitung der Daten zur Anzeige
o Fat-Client Architekturen: Teile der Anwendungslogik liegen zusammen mit der Präsentation auf der Client Tier

- Ultra Thin Client Architekturen sind ausschließlich bei 3 und mehr Tier Architekturen möglich
- Thin und Fat LCient Architekturen sind bei allen n-Tier Architekturen möglich
- In der Regel sind 2 tier Architekturen FAT Client Architekturen

Was ist EAI?
- EAI = Enterprise Application Intergration
- Konglomerat an Konzepten und Technologien, die in ihrer Gesamtheit die Integration vollständiger Anwendungen unterstützen
- Ziel: Integration einfacher Anwendungen zu komplexen neuen Anwendungen (Anwendungsintegration)

Abgrenzung zu Middleware und verteilten Anwendungen
- Kommunikation zwischen vollständigen Anwendungen, nicht innerhlab einer verteilten Anwendung
- Kopplungsgrad der Anwendungen eher gering (bei Middleware und verteilten Systemen eher hoch)
- Unterschiedliche Technologien wahrscheinlich (bei Middleware und verteilten Systemen eher weniger)
- Middlewaretechnologien eignen sich auch zur Anwendungsintegration, sie decken jedoch bei weitem nicht alle Anforderungen ab.
- Hierzu sind spezielle EAI Werkzeuge sowie Konzepte notwendig
- EAI ist nicht Thema der Vorlesung, wird jedoch immer wieder eine Rolle am Rande spielen

 Weiterführende Literatur empfohlen für Verteiluingen, Client Server, EAI

Übungsaufgaben

Vorlesungsagenda:
- Grundlagen kommunikationsorientierter Middleware
o Programmiermodelle
 Remote Procedure Call
 Remote Methood Invocation
 Nachrichtenorientierte Middleware
o Middleware Technologien
 SUN RP
 Java RMI
 Web services
 Nachtichtenorientierte Middleware

Grundlagen anwendungsorientierter Middleware

Ein Rückblick: Webanwendungen der 1. Generation:
Html Seiten
- Am Webserver liegen statische html Seiten
- werden über http in den Browser geladden
- ca. Mitte/Ende der 80er Jahre
- Mensch – Maschine Kommunikation

Webanwendungen der 2.Generation: dynamische HTML Seiten, CGI, Servlets

- Webseiten werden dynamisch (abhängig von Anfrageergebnissen) aufgebaut. Zugriff auf Daten ist möglich
Beispiele für Technologien:
- CGI (Common Gateway Interface); Prozessbasierende Bearbeitung von http Requests über Skripten (Perl, C)
- Servlets/JSP; threadbasierte Bearbeitung von http-Requests (nur Java)
- Mensch –Maschine Kommunikation

Webanwendungen der 3.Generation: Einführung von 4-und mehr Tier Architekturen

- Erweiterung der dynamischen Webseiten um Funktionalität im Anwendungsserver
- Anwendungsserver sind Laufzeitumgebungen auf der Middle Tier
- Der Webserver leitet die Aufrufe an den Anwendungsserver weiter
o Bearbeitet die Request
o Schickt Ergebnisse an den Webserver zurück
o Ergebnisse werden in http Response verpackt und an den Browser zurückgeschickt
- Vorteile: Skalierbarkeit
- Mensch Maschine Kommunikation

Webanwendungen der 4.Generation: Web Services
o Anwendungen(auf Webservern) kommunizieren unabhängig vom Anwender
o Vision Automatisierung
 Anwendungen suchen sich automatisch Dienste im Web, die sie zur Bearbeitung einer Anfrage benötigen.
 Die Kommunikation bleibt transparent
 Maschine Maschine Kommunikation
Browser- webserver –xml/Web – Webserver – AS – DB
Was sind Web Services?

- Ermöglichen webbasierte RPCs
- Sind einer der Hypes der letzten Jahre
- Sind eine sehr junge Technologie (kamen ca. 2000 auf im Zusammenhang mit MS .net)
- Sind nichtsdestotrotz eine vielversprechende Technologie der Zukunft
- Die Weiterentwicklung der Standards rund um Web Services wird Hauptsächlich vom W3C vorangetrieben

Ein visionäres Beispiel …
Clientanwendung – Internet – ReiseService
 HotelService (Webservices)
 Flugbuchungsservice (Webservice)
 Autobuchungsservice (Webservice)

Die Basiskomponenten von WebServices
- XML (extended MarkupLanguage): Erweiterbares Textformat für den Austuasch von strukturierten Daten
- SOAP (Simple Object Access Protocol): Realisiert Entfernten Prozedurabruf (RPC), Transportiert XML Nachrichten beispielsweise über http
- WSDL: web Service Description Language: XML Notation zur Beschribung von web Services
- UDDI: Universal Description, Discovery and Intergration: Verzeichnisdiesnt zur Veröffentlichung von WebServices

XML:
- Bietet die Möglichkeit komplexe Datenstrukturen innerhalb eines Dokuments darzustellen
- Die Darstellung erfolgt als Text mit Angabe des verwendeten Zeichensatzes (z.B. UTF-8)
- Ist beliebig zwischen Systemen und Plattformen austauschbar
- Breite Industrieunterstützung. Viele Werkzeuge arbeiten mit XML
- Viele Open Source Werkzeuge zum Lesen und zur Manipulation von XML Dateien stehen zur vErfügung

Struktur eines XMl Dokuments

]>

Sehr geehrte/r &Kunde;,

Hier steht irgendetwas. Verlieren Sie keine Zeit, liebe/r &Kunde;!

Im Kopf stehen die Version der vewendeten XML Spezifikation und der benutze Zeichensatz
Danach folgt der Datenbereich. Er enthält Daten in strukturierter Form

S.2 der Vorlesung Webservices

Kategorien: SOA · client server · dr dieter weinmann · sommer 2006 · verteilte systeme · web 2.0 · wirtschaftsinformatik · xml