VWL in Heidelberg

Verteilte Systeme Wirtschaftsinformatik Weinmann SS 2006

April 11, 2007 · Kommentar schreiben

Peer to Peer Systeme
P2P- Kommunikationssystem bei dem jedem

Verteilte Systeme:
Def:
- Unter einem verteilten System versteht man ein zusammenhängendes Rechnersystem, dass aus einer Menge unabhängiger kooperierender Rechner besteht, die über ein Netzwerk verbunden sind.
- aus Sicht des Anwenders erscheint das verteilte System als ein gemeinsames System.
- Serverprogramme, Klientprogramme, die Dienste in Anspruch nehmen.

Transparenz

-wichtige Forderung!, meint eher unsichtbar
- Orts Transparenz
- Fehlertransparenz
- Zeitransparenz

Schnittstellenbeschreibungssprache
- syntaktisch vollständig
- implementierungsneutral
- interoperabel
Interoperabilität und Portabilität
- zb. Java, das leicht portiert werden kann
- JavaVM

Skalierbarkeit:
- die Leitungsfähigkeit eines Systems kann bei höheren Anforderungen schrittweise erweitert werden.
- Erhöhung der Arbeitsteiligkeit
- Replikation
- Asynchronität
- verteilte Systeme sind Verwaltungsintensiver, da sie über viele Teilsysteme bestehen

Robustheit
- partielles Versagen
- vollständiges Versagen
- Fehlertoleranz
Kommunikation zwischen verteilten Systemen:
- Adressierung
- Blockierung
o Synchroner oder asynchroner Datenverkehr
- Puffering
- Kommunikationsmuster
o Mitteilung
-  Mitteilungs- oder auftragsorientierte Kommunikation

Fehlersemantik

Architektur von verteilten Systemen:
- Schichten und Stufen –> layer und tier
- 1-4 tier architecture
- Mit Präsentationsschicht, Anwendungsschicht, Datenschicht
- Ab 3 tier, Middleware
- 4 tier mit Klient: Webbrowser  Präsentationsschicht: Webserver , html Filter,  middleware: Anwendungsschicht Datenschicht
Schichten zur Reduktion der Komplexität
Stufen bezeichnen verteilte Komponenten, müssen über einen Kommunikationsdienst verbunden sein, wenn sie auf verteilten Rechnern liegen

1 Stufe: Großrechner
2 Stufen: Client Server
- client Server, kann geteilte oder serverbasierende Anwendungslogik haben

3 Stufen: wohl am weitesten verbreitet
- passiver Server mit zentraler Datenhaltung
Datenbankserver – Webserver – Klientprogramm

N tier architecture:
- Erweiterung durch spezialisierte Server z.B. für workfolw Kooperation, oder Web service Integration

Middleware:

Def.:
- Middleware bildet die kommunikationstechnische Infrastruktur zur Entwicklung verteilter Anwendungen und ermöglicht dem Entwickler dadurch Konzentration auf die Umsetzung der Anwendungslogik.
- Entsprechend werden allgemeine Softwarekomponenten, die von konkreten Realisierungen von Kommunikationsprotokollen abstrahieren und auf die Erleichterung der Interaktion zwischen verteilten Systemen abzielen, als Middleware bezeichnet..

- Kommunikation über Sockets (Kommunikationspunkte)
- Entfernte Datenaufrufe: RPC – Remote Procedure Call
o Def.: Über ein RPC kann ein Klientprogramm eine Funktion vom Serverprogramm aufrufen, das unter Umständen auf einem anderen Rechner installiert ist.
o Oft synchroner entfernter Dienstaufruf
o Z.B.: RPC Socket  TCP, UDP  IP
o Hier dann z.B. ist die RPC Bibliothek die Middleware die sich um die Kommunikation kümmert – Verbindungsaufbau, Rücksendung des Ergebnisses- wie die Post halt.

- Marhsalling: Zusammenstellung von Daten in einem bestimmten Format bevor diese in einem Netzwerk an potenziell heterogene Systeme versendet werden.
- Serialisierung

Formen von Middleware:

Middleware ist komplexe Softwareinfrastruktur zur verteilten Verarbeitung
- Schnittstellendefinition
- Übersetzung der Schnittstellensprache
- Programmbibliotheken für RPC

- Transaktionsorientierte Middleware
- Älteste Form: Transaktionsmonitore
o Commit, rollback
o Stored procedures
o Transaktionsmonitor zur Realisierung der Tranksaktionssicherheit

- Objektorientierte Middleware
o Aufruf von Methoden von entfernten Objekten
o COBRA
o Sind fast alle Middlewaresysteme

- Meldungorientierte Middleware
o Asynchrone Prozeduraufrufe, das sogenannte MESSAGE-Queuing-Systeme
 Aufrufe kommen in Warteschlange
o Abk.: MOM
o Wichtig: IBM Webspehre MQ series
o Message Broker sind noch wichtig: Transformation und Filterung von Daten

SOA

Def.: ist eine Form einer verteilten Informationsarchitektur, deren Fokus auf der Ankündigung, dem Auffinden, und dem dynamischen aufrufen von hoch stehenden, anwendungsnahen und in sich abgeschlossenen Diensten liegt.

SOA kann rein technisch den RPC komplett übernehmen, aber bei Middleware ist Funktionsaufruf effizienter

Verzeichnisdienst: sog. Broker

DCE : Distributed Computing Environment
- Zwischenschicht zwischen Betriebssystem, Netzwerkdienst und einer verteilten Anwendung

COBRA = Common Object Broker Request

Def.: Standard zur Entwicklung objektorientierter Anwendungen in verteilten und heterogenen Systemen
Wichtigste Bestandteile: ORB-Object request Broker, stellt die Kommunikationsinfrastruktur zwischen verteilten Systemen bereit, eine Schnittstellenbeschreibungssprache mit Programmiersprachenanbindungen, eine Sammlung von Basisdiensten und Anwendungskomponenten

- dazu gehören beidseitige Sicherheitsdienste, Namensdienste, Persistenzdienste oder Tranksaktionsdienste
- unterschiedliche spezifikationen für vertical industries und horizontalen Anwendungsbereich( vertikal: einzelhandel, horizontal: Benutzerschnittstelle für Workflowmanagement)
- Klientobjekt  Methodenaufruf  Serverobjekt
- Proxy = stellvertreter, bevollmächtigter
- Kommunikationsmuster: synchroner Dienstaufruf, Einwegdienstaufruf, aufgeschobener Dienstaufruf

Web Services:

 junge Technologie, die eigens für SOA auf Basis der Internet Architektur entwickelt wurde

Def.:
- unter Web Service versteht man lose gekoppelte, verteilte Dienste, die über Internet basierte Protokolle und XML Nachrichten in einer SOA veröffentlicht, lokalisiert und aufgerufen werden können.
- 3 Kernstandards: SOAP, WSDL, UDDI (und halt XML)
- Sollen ähnliche Kostensenkung im B2B Bereich bringen wie der web Browser im B2C Bereich gebracht hat
- Nach außen Blackbox Funktionalität
- Dynamisches Binden ohne Mehraufwand
- Web Services basieren auf Nachrichten die auf Basis von XML Dokumenten zwischen Client und Server ausgetauscht werden.
- Format der Nachricht wird durch SOAP festgelegt
- WSDL definiert auf einheitliche Art den Web Service
- Die Beschreibungen werden über den Verzeichnisdienst UDDI veröffentlicht
- BPEL 4 WS = Business Process Execution Language for Web Services
o Damit können komplexe Abfolgen von WS als Geschäftsprozesse abgebildet werden
- auf Basis der Standards kann eine SOA realisiert werden

Übersicht:
Prozess und Kompositionsschicht BPEL 4WS, BPML…
Veröffentlichungsschicht UDDI
Beschreibungsschicht WSDL
Meldungsschicht SOAP
Übertragungsschicht http, smtp…
 Schichtenmodell für web Services

Dienstanbieter
 veröffentlichung von der Dienstbeschreibung
 beim UDDI Verzeichnisdienst
Dienstnachfrager
 sucht beim UDDI
 bekommt WSDL Beschreibung
 Dienstaufruf über SOAP beim Dienstanbieter

SOAP:

Def.:
- ist ein Protokoll zum Austausch von strukturierter Information zwischen Softwarekomponenten in verteilten Systemen
- SOAP Spezifikation definiert ein XML Nachrichtenformat für zustandslose Einwegkommunikation.
- Eine SOAP Nachricht ist ein XML Dokument, das von der SOAP Spezifikation vorgegebenen Struktur entspricht
Übertragung über 3 SOAP Knoten: Sender, Empfänger, Intermediär

WSDL:

- eine Schicht höher als SOAP.
- Beschreibt, welche Web S angeboten werden, bildet somit ein Metadatenformat für SOAP

Def.:
- ist eine XML basierende Scriptsprache, zur Beschreibung von WS.
- Diese Beschreibung definiert unter anderem, welche Funktionen von den beschriebenen Web Services bereitgestellt werden und wie ein Klientenprogramm möglichst automatisiert auf die WebS zugreifen kann

-beschreibt ex post die WS textlich und formal
- zur Lokalisierung z.B.
WSDL Beschreibung:
WS, darin eine Protokollanbindung, daran dockt der SOAP Endpunkt an – Verbindung über http oder so – verbindet die SOAP Nachrichten dann

WSDL Schema umfasst:
1. Definition von dienstspezifischen Argumenttypen
2. Definition von Nachrichtentypen
3. Schnittstellenbeschreibung
4. Protokollbindung
5. Dienstbeschreibung

WS werden also mit WSDL in ihren Funktionen definiert und in ihrer Nutzung dokumentiert

UDDI Dienstverzeichnis
- definiert einen Verzeichnisdienst für Web Services. Definiert ein Datenmodell für die Beschreibung von Web Services und deren Anbietern

 dient zum Auffinden von WS von unterschiedlichen Anbietern für bestimmte Problem oder Aufgabenbereiche
 die Beschreibungen im UDDI sind eigentlich auch im WSDL enthalten, aber jetzt zusätzlich auch, wer die WS überhaupt anbietet
 wie Telefonbuch, gelbe Seiten oder so

- UDDI ist somit eine konkrete Realisierung eines Verzeichnisdienstes in einer SOA
- ZIEL: Kategoriesierung der Information, genaue Identifizierung mit den Geschäftspartner, den Anbietern der Services
- Firmennummer: DUNS
- , GLN, oer EAN (alles nur bei übergriefender Nutzung)

UDDI selbst ist ein WebServices, der für suchen und finden der WS verantwortlich ist
- unterstützun ovn umfangreichen Sicherheitseinstellungen
- eierbestlungsbeispiel
o nummer im UDDI. Bäcker sucht eierlieferant anhand einer nummer u kann eierbestellformular in den eigenen BP implementieren, bei vielen anbietern kann bäcker direkt im formular den blligsten auswählen (ja ja )

Geschäftsprozessmodellierung mit BPEL 4WS

- Web Service Orchestration
- BPM Initiative BPML  OASIS industriekonsortium

Zusammenfasssung:

- durch lose gekoppelte Web services erhofft sich die Wirtschaft eine Reihe von Vorteilen gegenüber den eng gekoppelten Middleware Systemen
o einfache und unaufwändige Implementierung von Informationssystemen
o Die Bereitstellung von Internetbasierten Diensten für Dritte
 ASP= Application service Provision
 Achtung bei MS heißt Asp Active Server Pages
o Interoperabilität
o Just in Time
o Kapselung und Abstraktion
o IT Herstellerunterstützung: weite Verbreitung von XML Standards

Gegenüberstellung von Middlewaresystemen wie COBRA, DCE und WebServices

- RP = Remote Programming. Dadurch ist es möglich nicht nur Programmteile sondern ganze Programme zum client zu ladn und dort auszuführen
- Mobiler Code braucht also eine Laufzeitumgebung JAVA!!!
- Auch Softwareagent genannt

EAI = Enterprise Application Integration

Def.:
- unter einer branchenübergreifenden Anwendungsintegration versteht man die Integration von heterogenen, autonomen Anwendungssystemen, die entweder innerhalb eines Betriebs, oder zwischen Betrieben stattfinden
- Die Anwendungsintegration wird durch lose Kopplung von Anwendungssystemen wesentlich vereinfacht
- Wird vor allem beim ERP gebraucht!!!
o Da sonst nur standardmäßige Teillösungen
- getrennt entwickelte systeme zu einem ganzen zusammenführen
- Automatisierung von funktionsübergreifenden Geschäftsprozessen
- Betriebsübergreifende Informationssysteme entang der Wertschöpfungskette
-  bei Nutzung von verschiedenen Standardprodukten verschiedener Hersteller entstehen Integrationsprobleme der Teilsysteme

Unterscheidung von mehreren prinzipiellen Integrationsarten:
- Persistenzschicht
- Anwendungsschicht
- Präsentationsschicht

1. Persistenzschicht

- Def.: Integration von Anwendungen über (zwischen-)gespeicherte Daten
- (AI on persistence layer)
- Weiterhin wird unterschieden:
o Informationsaustausch über Dateien
 Wird bei EDI eingesetzt
o Informationsaustausch über heterogene Datenbanken
 Heterogenes MultiDB system
 Es bestehen lokale Schemata
 Sollen in globales Schema integriert werden
 Heterogenität in:
• Der Plattform
• Ebene von Syntax und Struktur
• Auf semantischer Ebene

 Benutzerschnittstelle gemeinsames globales Schema _ Mediator  lokales schema 1, 2 oder 3 (alles DBen)

2. Anwendungsschicht

Def.: es werden in den beteiligten Applikationen Schnittstellen geschaffen, damit die laufenden Anwendungen direkt miteinander kommunizieren können.–> dies erfolgt odt durch MIDDLEWARE!!!

- nachrichtenbasierte Integration
o Austausch von Nachrichten zwischen den Applikationen
o Weiterentwicklugn von persistenzschicht
o Middleware wickelt jetzt alles ab

- RPC basierende funktionale Integration
o Stellen Anwendungen Funktionen wecheslseitig zur Verfügung

Oft auch integration der WS, da im betrieb sicherheit zweitranig

Integration auf Präsentationsschicht
3. Präsentationsschicht

Def.:
- es werden die bestehenden Benutzerschnittstellen eines Anwendungssystems genutzt, um automatisiert mit weiteren Anwendungssystemen Daten auszutauschen. Diese Integrationsform eignet sich auch für Programme, die nur in ausführbarer Form (als BLACK Box) vorliegen
- Screen Scraping
- Web Scraping

XML:

Def.:
- eine Auszeichnungssprache ist eine Sprache, die Regeln zur Auszeichnung von Textelementen bereitstellt. Beliebigen Textelementen können auf deklarative Weise eigenschaften zugewiesen werden, wodurch deren Bedeutung ausgedrückt werden kann (Semantik).
- Die Txtelemente werden durch eine Startmarkierung eingeleitet, die die Art der enthaltenen Daten bestimmt, und von einer Endmarkierung abgeschlossen
- XML:
o Ist eine Metasprache für die Definition von anwendungsspezifischen Auszeichnungssprachen.
o Mittels XMl können somit Markup Sprachen für beliebige anwendungen maßgeschneidert werden, die anwendungsspezifische Datenstrukturen beschreiben.
o Mittels XML können Dokumenttypen definiert werden, die eine Klasse von XML Docs. In ihrem aufbau und ihrem Inhalt
o XML Docs sind auchohn e anwendungsspezifische Werkzeuge für den Menschen intuitiv verständlich und sind zudem relativ einfach maschinll weiterverarbeitet

Eigenschaften: wohlgeformtes XML
- entsprechen den syntaktischen rEgeln von XML
- DTD
- XMl Namensräume
- Transformation von XML Dokumenten: XSLT
o Style sheet transforamtion
o Grafische Aufbereitung: RDF, Metadaten

Kategorien: client server · verteilte systeme · web 2.0 · xml

0 Antworten bis hierher ↓

  • Bis jetzt noch kein Kommentar ... Bring die Sache ins Rollen, und füll das untere Formular aus.

Kommentar schreiben