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


0 Antworten bis hierher ↓
Bis jetzt noch kein Kommentar ... Bring die Sache ins Rollen, und füll das untere Formular aus.