25.09.2013 Aufrufe

Verteilte Objekte

Verteilte Objekte

Verteilte Objekte

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Internet und Intranet<br />

andere unterstützen [SIN97]. Die WinSock API 1.1 ist konsistent zur BSD 4.3 Socket<br />

Schnittstelle und bietet weiter MS Windows spezifische Methoden zur Anwendungsprogrammierung<br />

auf Basis von Sockets an.<br />

Es gibt also zwei Definitionen für den Begriff „Socket“, die wie folgt differenziert werden sollen:<br />

Ein Socket ist eine Kombination aus IP-Adresse und Port mit entsprechendem API.<br />

WinSock ist ein Industriestandard für die Socket Programmierung unter MS Windows.<br />

Im weiteren soll unter dem Begriff Socket sowohl die Definition selbst, als auch eine WinSock<br />

Verbindung auf Basis von Sockets verstanden werden. Eine Trennung ist so nicht notwendig.<br />

Aus der Sicht eines Programmierers vereinfachen Sockets die Netzwerkkommunikation stark.<br />

Dabei gibt es drei Arten von Sockets:<br />

1. Datagram Sockets auf Basis des verbindungslosen UDP.<br />

2. Stream Sockets auf Basis des verbindungsorientierten TCP.<br />

3. Raw Sockets auf einer sehr niedrigen Schicht eignen sich vor allem zum Testen.<br />

Verbindungsorientierte Protokolle erlauben eine zuverlässige, bidirektionale Kommunikationsverbindung<br />

innerhalb einer Sitzung. Jedes ausgetauschte Informationspaket erhält eine eindeutige<br />

Sequenznummer und wird individuell quittiert. Diese „Sicherheit“ in der Kommunikation<br />

erfordert allerdings einen erheblichen Overhead für den Aufbau und für die Verwaltung der<br />

Sitzung. Verbindungslose Protokolle, wie Datagram Sockets, bieten eine einfache, aber unsichere<br />

Form der Kommunikation. Mächtigere Protokolle wie NetBIOS stellen erweiterte Broadcast<br />

Fähigkeiten (Multicast und Broadcast) zur Informationsverbreitung zur Verfügung. Datagramme<br />

werden vor allem für schnelle Informationsverbreitung verwandt [ORF97]. Diese unterschiedlichen<br />

Voraussetzungen führen dazu, daß Stream Sockets ca. 150 mal langsamer als<br />

Datagram Sockets sind [ORF97].<br />

Die Verwendung von Sockets für die Implementierung verteilter <strong>Objekte</strong> ist, da das Socket<br />

Konzept auf einer sehr tiefen Schicht operiert, sehr aufwendig. Insbesondere die Verwaltung von<br />

vielen Klienten und Verbindungen führt zu erheblichem Programmieraufwand. Da für eine<br />

sichere Kommunikation auf Stream Sockets zurückgegriffen werden muß, ist dieses Modell auch<br />

sehr langsam. Die folgende Tabelle faßt die Eigenschaften von Sockets zusammen und dient am<br />

Ende dieses Abschnittes für den Vergleich der vorgestellten Technologien.<br />

Eigenschaft Datagram Stream<br />

Sichere Verbindung nein ja<br />

Parameter Marshalling nein nein<br />

Schnittstellenbeschreibung nein nein<br />

dynamic discovery / dynamic invocation nein nein<br />

Garbage Collection nein nein<br />

Zugangskontrolle nein nein<br />

Sicherheit ja (SSL) ja (SSL)<br />

Einsatz durch Firewalls ja ja<br />

proprietär nein nein<br />

Tab. 1: Eigenschaften von Sockets [ORF97].<br />

Diese Tabellenstruktur wird in den folgenden Kapiteln wiederholt, um dem Leser eine<br />

vergleichende und übersichtliche Darstellung der präsentierten Technologien zu ermöglichen. Bei<br />

Bedarf werden einzelne Punkte zugefügt oder ausgelassen.<br />

Im besonderen bedeuten die aufgeführten Eigenschaften:<br />

• Parameter Marshalling: Plattformunabhängige Übertragung von Methodenparametern.<br />

• Schnittstellenbeschreibung Öffentlich verfügbare Beschreibung der Schnittstellendefinition.<br />

14

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!