Verteilte Objekte
Verteilte Objekte
Verteilte Objekte
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