Verteilte Objekte
Verteilte Objekte
Verteilte Objekte
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Internet und Intranet<br />
durch seine Zustandslosigkeit für Einsätze in großen Klient/Server Architekturen und als<br />
Plattform für verteilte <strong>Objekte</strong> ungeeignet.<br />
CGI ist die Schnittstelle zwischen einem HTTP-Server und einer Anwendung. Dadurch können<br />
Methoden (z.B. Datenverarbeitung und -suche) jenseits der Möglichkeiten von HTML und HTTP<br />
auf Serverseite ausgeführt werden. So kann zum Beispiel über CGI eine Anmeldung an eine<br />
Datenbank erfolgen, ein Datensatz gesucht und als HTML-Seite aufbereitet, über HTTP, an den<br />
anfordernden Klienten zurückgegeben werden. CGI ist auf unterschiedlichen Plattformen<br />
implementiert und wird oft als Skript bezeichnet, da es zumeist in Skript- oder Batchsprachen wie<br />
Perl, TCI und MS-DOS Batch realisiert ist [ORF97].<br />
Neben der Erweiterung der Mächtigkeit von HTTP durch CGI, kommt für den Einsatz im offenen<br />
Internet der Sicherheit des Gesamtmodells eine besondere Bedeutung zu. An der Schnittstelle<br />
zwischen Klienten und Server bietet das „Secure Socket Layer (SSL)“ 6 eine Möglichkeit der<br />
sicheren Kommunikation (vgl. Anhang B). SSL ist ein low-level Protokoll, das sichere<br />
Kommunikation zwischen WWW-Servern und Browser gestattet [DRAFT95]. In diesem<br />
Zusammenhang fällt auch der Begriff des „Hypertext Transfer Protocol with privacy (HTTPS)“.<br />
Eine HTTPS Verbindung ist eine HTTP Verbindung unter Verwendung der SSL-Verschlüsselung.<br />
Eine Beschreibung des Verbindungsaufbaus wird im Anhang B exemplarisch dargestellt.<br />
Damit sind die Grundlagen für den „aktuellen“ elektronischen Markt geschaffen. Klar wird aber,<br />
daß die vorgestellte Architektur die Einfachheit weit über die Effizienz legt. Die Kombination von<br />
HTTP und CGI ist sehr langsam und durch die Zustandslosigkeit als „Middleware“ ungeeignet.<br />
Weiter bietet es, ohne Kombination mit HTTPS, keine inhärente Sicherheit und unterstützt damit<br />
auch keine Transaktionen. Trotz dessen ist diese Kombination das zur Zeit meist verwendete<br />
Modell für 3-Tier-Anwendungen im Internet [ORF97]. Aufgrund der weiten Verbreitung ist diese<br />
detaillierte Betrachtung von CGI sinnvoll. CGI ist eine Möglichkeit, die es einem Browser<br />
ermöglicht, eine Anwendung auf dem WWW-Server auszuführen. Entweder werden CGI-Anwendungen<br />
in einer Skriptsprache formuliert und zum Beispiel durch einen Perl Interpreter<br />
ausgeführt, oder in C/C++ geschrieben und in eine Anwendung kompiliert. Letzteres hat unter<br />
WinNT erhebliche Vorteile in der Performanz, da die binäre DLL nur einmal in den Adreßraum<br />
geladen werden muß.<br />
Im Unterschied zu diesem Ansatz verwendet der NT Server von Microsoft nicht CGI, sondern<br />
das „Internet Server Application Programming Interface (ISAPI)“. ISAPI-Anwendungen sind<br />
DLLs anstelle von ausführbaren Programmen. Die ISAPI-DLL ist ein Kommunikationskanal<br />
zwischen dem „Internet Information Server“ und dem Internetdienst. Dieser WWW-Dienst lädt<br />
die ISAPI-DLL bei Bedarf in den eigenen Adreßraum. Eine ISAPI-Anwendung kann weiter die<br />
Vorteile der Win32-API und darüber auch die des „Open Database Connectivity (ODBC)“<br />
Standards ausnutzen. Darüber hinaus bieten diese Anwendungen bessere Performanz, da sie die<br />
Vorteile von Speicherzeiger ausnutzen können, und nicht für die Beantwortung wiederholter<br />
Anforderungen neu gestartet werden müssen. Die DLL wird erst wieder aus dem Arbeitsspeicher<br />
entfernt, wenn sie lange nicht angefordert wurde. Dadurch entfällt auch der Prozeßwechsel auf<br />
der WWW-Serverseite, da die DLL in den Adreßraum des anfordernden Prozesses, also des<br />
WWW-Servers, geladen wird. Wenn die ISAPI-DLL geladen ist, ist der Code Teil des WWW-<br />
Dienstes und die ISAPI-Anwendung dient lediglich als Erweiterung [MS963]. Der „Internet<br />
Information Server“ der Firma Microsoft arbeitet mit zwei unterschiedlichen Typen von ISAPI-<br />
DLLs:<br />
1. ISAPI-Anwendungen sind Erweiterungen, welche die dynamische Inhaltserstellung und bei<br />
Anforderung auch die explizite Inhaltserstellung ermöglichen. Explizite Seiten sind dabei auf<br />
dem WWW-Server abgelegt, dynamische Seiten werden erst bei Anfrage durch den Klienten<br />
erstellt.<br />
6 Vergleiche auch http://home.netscape.com/newsref/std/SSL.html.<br />
16