Mit der Einführung des Personal Computers (PC) hatte der Nutzer erstmals die Möglichkeit, das Arbeitsinstrument "Computer" bezüglich Hardware und Software seinen individuellen Bedürfnissen optimal anzupassen.Heutzutage werden viele der ihn interessierenden Dienste von Netzwerken, z.B. dem Internet, angeboten. Anders als beim PC hat der Nutzer keine Handhabe, den Aufbau des Netzwerks gemäß seinen Wünschen zu gestalten. Er muß die Menge der Dienste und ihre organisatorische Verwaltung als etwas Unabänderliches hinnehmen.
In diesem Artikel zeigen wir, wie man die mit dem PC assoziierte Idee der persönlichen Arbeitsumgebung im Kontext des Internets wiederbeleben kann und welche Vorteile sich daraus für den Nutzer ergeben.
Mittlerweile gibt es HTML-Browser für alle gängigen Plattformen und Betriebssysteme. Inzwischen können sie auch weit mehr, als nur einfachen Text anzeigen. Andere Dienste des Internet, wie e-Mail, ftp oder News sind soweit in das WWW integriert, daß keine speziellen Kenntnisse mehr zu ihrer Benutzung benötigt werden. Über interaktive Gestaltungselemente kann der Anwender Informationen mit Anbietern im Netz austauschen. Auf diese Weise entwickeln sich Anbieter von statischen Informationen allmählich zu spezialisierten Diensterbringern. Gängige Beispiele sind Auskunftssysteme für WWW-Adressen (sogenannte Suchmaschinen), für Postleitzahlen oder Online-Wörterbücher.
Der allbekannte HTML-Browser entwickelt sich damit mehr und mehr zur universellen Bedienoberfläche der Zukunft. Gleichzeitig wandelt sich das "Netz" vom einfachen Übertragungsmedium zwischen Rechnern zum universellen globalen Dienstanbieter. Viele Dienste müssen nicht mehr lokal vom eigenen Rechner realisiert werden, sondern können z.B. über das WWW angefordert werden. Dabei ist es in der Regel unerheblich, welcher Rechner im Netz den Dienst letztendlich erbringt. Der eigene Rechner mutiert schrittweise zum universellen, mit eigener Intelligenz ausgestatteten Zugangspunkt zum Netz (Terminal). Der Kauf und die Installation großer Softwarepakete werden damit hoffentlich einmal der Vergangenheit angehören. Alle benötigten Dienstleistungen werden dann von (vermutlich auch kommerziellen) Dienstanbietern des Netzes bereitgestellt. Dafür treten nun Fragen der Abrechnung und Entlohnung für die Erbringung von Diensten in den Vordergrund.
Diese Entwicklung wirft aber auch neue Probleme auf, für die wir in diesem Artikel Lösungen skizzieren wollen. Durch den rapiden Zuwachs der im Netz verfügbaren Ressourcen wird es für den Benutzer immer schwieriger, das vorhandene Angebot zu überblicken. Zukünftig wird es also nötig sein, die Menge der verfügbaren Netzwerkressourcen für jeden Nutzer individuell einzuschränken. Jeder Nutzer schafft sich eine von administrativen Gesichtspunkten unabhängige Sicht auf das Netz, die an seinen persönlichen Bedürfnissen orientiert ist und ihm einen optimalen Zugriff auf bestimmte, von ihm benötigte Dienste des Netzes ermöglicht. Wir werden diese maßgeschneiderte Arbeitsumgebung im weiteren als personalisierte Arbeitsumgebung des Nutzers bezeichnen.
Die aus dem WWW bekannten Homepages stellen bereits eine Vorstufe
solcher personalisierten Arbeitsumgebungen dar.
Ihre Adresse, ein URL (Uniform Resource Locator), ist weltweit
eindeutig.
Der Zugriff ist von jedem beliebigen Ort mittels eines HTML-Browsers
möglich.
Die dargestellte Seite erscheint dabei prinzipiell immer in der
gleichen Form, selbst wenn man textbasierte Browser wie lynx
berücksichtigt.
Über in das HTML-Dokument eingebaute Verweise, sogenannte Links,
kann auf andere Dienste im WWW zugegriffen werden.
In der Regel sind solche Homepages allerdings statischer Natur. Sie enthalten damit Bestandteile, die an bestimmten Orten wenig Sinn ergeben. So wird ein in seiner Homepage eingebauter Verweis auf das Kinoprogramm seines Heimatortes für einen Dienstreisenden sicher nutzlos sein. Was er bräuchte, wäre ein generischer Verweis auf das aktuelle Kinoprogramm an seinem augenblicklichen Aufenthaltsort.
Eine solcherart mit Intelligenz ausgestattete Homepage fungiert dann nicht mehr als Präsentationsseite nach außen, sondern als universeller, auf die Bedürfnisse des Nutzers ausgerichteter Einstiegspunkt zum Netz.
Abbildung 1 gibt einen zusammenfassenden Überblick über die Komponenten des Systems und veranschaulicht ihr Zusammenwirken.
Abbildung 1: Bereitstellung personalisierter Arbeitsumgebungen im WWW.
In unserem Fall kann diese Aufgabe sehr einfach durch einen WWW-Server
(httpd) erfüllt werden.
Da jedoch die aktuelle PWE eines Nutzers bei jeder Abfrage
neu erzeugt werden muß
(um auf zwischenzeitliche Änderungen der Umgebung zu reagieren),
kann der Server nicht einfach ein statisches, als Datei vorliegendes
HTML-Dokument zurückliefern.
Statt dessen muß er mittels eines CGI-Skriptes
die aktuelle PWE jedesmal neu "errechnen".
CGI steht dabei für Common Gateway Interface
und ist durch eine Sammlung von Programmen, meist Shell-Skripten,
realisiert, die über einen URL adressiert werden können
(z.B. http://www.hu-berlin.de/cgi-bin/skript1).
Diese CGI-Skripte werden vom Betreiber eines WWW-Servers installiert
und erzeugen dynamisch ein HTML-Dokument als Ausgabe,
das dem Browser als Antwort auf seine Anfrage zurückgeliefert wird.
Bei der Ausführung eines CGI-Skripts stehen in den Umgebungsvariablen
REMOTE_HOST der Rechnername und in REMOTE_ADDR die
IP-Adresse des HTML-Browsers (also des MINT) zur Verfügung.
Diese Informationen reichen allerdings in vielen Fällen zur
Lokalisierung des Nutzers nicht aus, wie dies z.B. beim Zugang über
einen Telefonanschluß (Modem) zum Internet der Fall ist. Folglich
muß der Nutzer den UPS mit weiteren Lokalisierungsinformationen
versorgen. Dies können beispielsweise Telefonnummern bei stationären
Anschlüssen oder physische Koordinaten auf der Erdoberfläche sein,
wie man sie beispielsweise mit einem bereits in PCMCIA-Format
erhältlichen Global Positioning System (GPS) ermitteln kann.
Unbedingt zu beachten ist,
daß vom HTML-Browser keine Proxy- WWW-Server verwendet werden dürfen,
da in diesem Fall der UPS die physische Adresse dieses Proxy-Servers
und nicht die des Nutzer-Terminals (MINT) in der Variablen
REMOTE_ADDR erhalten würde.
Damit könnten vom UPS falsche Rückschlüsse
auf den aktuellen Aufenthaltsort des Nutzers gezogen werden.
Für die Authentisierung eines Nutzers gibt es mehrere Möglichkeiten.
Zum einen lassen sich die durch das Protokoll http bereits
vorgesehenen Mechanismen nutzen. Der Zugriff auf ein Verzeichnis
läßt sich durch das File .htaccess regeln. Dieses hat z.B.
das in Abbildung 2 gezeigte Aussehen.
AuthName User Profile Service AuthType Basic AuthUserFile /var/httpd/conf/passwd AuthGroupFile /var/httpd/conf/group <LIMIT GET> require valid-user </LIMIT>Abbildung 2: Regelung des Zugriffes auf Dokumente eines WWW-Servers mittels
.htaccess.
Um auf ein vom UPS (httpd) bereitgestelltes Dokument zuzugreifen, übermittelt das MINT (d.h. der HTML-Browser) die folgende Zeichenkette an den Server:
GET /ups/access HTTP/1.0Daß es sich bei dem als
/ups/access spezifizierten
Dokument um ein CGI-Skript handelt, ist dabei nur dem Server bekannt.
Befindet sich auf dem Server im Verzeichnis /ups
die oben skizzierte Datei .htaccess,
so wird vom Nutzer eine Authentisierung mit Paßwort verlangt.
In diesem Fall kann innerhalb des Skriptes der Name des Nutzers
über die Umgebungsvariable REMOTE_USER ermittelt werden.
Diese Vorgehensweise besitzt den Vorteil,
daß die notwendige Authentisierung bereits durch das
Zusammenspiel von HTML-Browser (MINT) und httpd-Server (UPS)
durchgeführt wird.
Nutzer, die nicht in der Paßwort-Datei /var/httpd/conf/passwd
registriert sind, erhalten keinen Zugang. Nachteilig wirkt sich die
Tatsache aus, daß auf diese Weise keine zusätzlichen
Lokalisierungsinformationen übertragen werden. Zudem können als
Nutzerkennungen nur die üblichen, aus acht Zeichen bestehenden Namen
verwendet werden.
Zum anderen können die zur Authentisierung benötigten Informationen
mit der Methode POST vom MINT zum UPS übertragen werden.
Dazu bietet es sich an, auf der Eingangsseite des UPS das in
Abbildung 3 dargestellte Formular bereitzustellen.
<FORM METHOD=POST
ACTION="http://ups.informatik.hu-berlin.de/ups/access">
<PRE>
User: <INPUT TYPE=text SIZE=33 NAME=user><BR>
Password: <INPUT TYPE=password SIZE=33 NAME=password><BR>
Location: <INPUT TYPE=text SIZE=33 NAME=location><BR>
</PRE>
<INPUT TYPE=submit VALUE="Enter network">
</FORM>
Abbildung 3:
Anmeldeformular für den Benutzer eines MINT.
Damit ergibt sich allerdings innerhalb des Skriptes /ups/access
der Aufwand, die in der folgenden Form übertragenen Daten einzulesen
und sie für die Weiterverarbeitung in geeigneter Form bereitzustellen:
POST /ups/access HTTP/1.0 user=somebody&password=MySecret&location=phone%28001+1234%29Einige Zeichen werden dabei gesondert kodiert übertragen. So verbirgt sich beispielsweise hinter der Variablen
location der Wert phone(001 1234).
Weiterhin muß durch das Skript die Authentisierung des Nutzers
anhand der Werte von user und password durchgeführt
werden. Ein entsprechendes CGI-Skript (als Perl-Skript realisiert)
ist in Abbildung 4 zu sehen.
#!/usr/bin/perl
$| = 1; # schalte "flushing" ein
print "Content-type: text/html\n\n"; # http-Header
$line = <STDIN>;
chop($line);
do {
($record,$line) = split('&', $line, 2);
($f1,$f2) = split('=', $record, 2);
if ($f1 eq "location") {
$location = $f2;
# Dekodierung der geposteten Informationen
$location =~ tr/+/ /;
$location =~ s/%([0-9A-F][0-9A-F])/chr(hex($1))/eg;
# Definition der Umgebungsvariablen REMOTE_LOCATION
$ENV{"REMOTE_LOCATION"} = $location;
}
# ... analog Einlesen von user und password
# ... Setzen der Umgebungsvariablen REMOTE_USER
} until $line eq "";
# Authentisierung
$pwd = (getpwnam($username))[1];
$salt = substr($pwd, 0, 2);
if (crypt($password, $salt) ne $pwd) {
$check_passwd = "wrong";
}
Abbildung 4:
Erster Teil des CGI-Skripts /ups/access.
Hier wird die Anfrage an den UPS (httpd) aufbereitet und die
Authentisierung des Nutzers durchgeführt.
Die Dekodierung der durch das Formular erfaßten Daten erfolgt, indem zunächst alle Pluszeichen in Leerzeichen umgewandelt und anschließend die in Hexadezimalform kodierten Zeichen in ihre normale Darstellung zurückverwandelt werden.
Als Nutzernamen lassen wir zunächst (analog zur ersten Variante) nur normale UNIX-Accounts zu. Zur Überprüfung des Paßwortes wird hier der Einfachheit halber die Nutzer-Paßwortdatei herangezogen.
Problematisch für beide Möglichkeiten der Authentisierung ist der
geringe Schutz der
übertragenen Daten. So werden die mittels POST gelieferten
Einträge des Formulars im Klartext über das Netz geschickt,
insbesondere auch das Paßwort. Die vom http-Protokoll
verwendete Verschlüsselungsmethode Basic (siehe
AuthType im File .htaccess) läßt sich ebenfalls relativ
einfach wieder entschlüsseln. Fortschritte sind hier mit der
Weiterentwicklung des http-Protokolls und dem von Netscape
entwickelten Verfahren der Secure Sockets Layer (SSL) zu erwarten.
Zu guter Letzt muß der in Abbildung 5
wiedergegebene zweite Teil des Skriptes access die dem Nutzer
gehörende abstrakte PWE bereitstellen (Zeile 1 und 2)
und sie in eine aktuelle PWE umwandeln (ab Zeile 4).
$userhome = (getpwnam($username))[7];
$filename = $userhome . "/.public_html/PWE/index.pwe";
if (-r $filename && $check_passwd ne "wrong") {
$pwetrader = "/var/httpd/htdocs/ups/pwetrader " . $filename;
system($pwetrader);
}
else {
# ... geeignete Fehlerausschrift in HTML
}
Abbildung 5:
Im zweiten Teil des CGI-Skriptes /ups/access wird die
abstrakte PWE bereitgestellt und in eine aktuelle PWE umgewandelt.
Jeder in unserem System registrierte Nutzer kann folglich
in der Datei $HOME/.public_html/PWE/index.pwe seine eigene
abstrakte PWE hinterlegen.
Der mit dieser Datei als Argument aufgerufene PWE-Trader erzeugt daraus
eine aktuelle Instanz und schreibt sein Ergebnis auf die
Standardausgabe.
Das so erzeugte HTML-Dokument wird vom UPS (httpd) zum MINT
(HTML-Browser) zurückgeliefert und von diesem dem Nutzer präsentiert.
REMOTE_USER,
REMOTE_HOST, REMOTE_ADDR und
REMOTE_LOCATION mitgeteilt.
Durch den NIIS wird unter Berücksichtigung dieser Variablen eine
Liste verfügbarer Ressourcen bereitgestellt, aus denen der PWE-Trader
eine geeignete auswählen muß.
Dazu können verschiedene Strategien verwendet werden
(z.B. die erste passende oder wenn möglich, dann die
gleiche wie letztes Mal, usw.).
Die abstrakte PWE ist im wesentlichen ein HTML-Dokument.
In ihm können, eingeschlossen in die für unsere Zwecke zusätzlich
eingeführten Tags <PWE> und </PWE>, abstrakte Ressourcen
spezifiziert werden. Dabei gibt es zunächst die Möglichkeit, den
Inhalt von Umgebungsvariablen mittels $VARIABLE auszugeben:
Ihr Remote-Rechner heißt: <PWE> $REMOTE_HOST </PWE>.Für den Aufbau einer Ressourcen-Spezifikation ist in Abbildung 6 eine entsprechende Grammatik angegeben.
description : resource ("|" resource)*
resource : resourceName (attribute)*
attribute : attributeName op value
op : "=" | "<" | ">" | "<=" | ">=" | "<>"
value : String | Integer | Real
Abbildung 6:
Aufbau einer Ressourcen-Spezifikation
in einer abstrakten PWE.
Pro Beschreibung können alternativ mehrere durch senkrechte Striche (|) getrennte Ressourcen mit abnehmender Priorität angegeben werden. Jede Ressourcen-Anforderung besteht dabei aus einem Namen und einer Liste von Attributen, die spezielle Eigenschaften dieser Ressource spezifizieren.
Angenommen, wir benötigen einen Laserdrucker mit mindestens 300 dpi. Falls ein solcher nicht verfügbar ist, würden wir uns auch mit einem Farb-Tintenstrahldrucker zufrieden geben, vorausgesetzt, der Preis pro Seite liegt unter 10 (Pfennigen). Diese Anforderung läßt sich nun wie folgt spezifizieren:
<PWE> printer type=laser dpi>=300 | printer type=inkColor price<10 </PWE>Schließlich sind an jeder Stelle innerhalb der PWE-Tags mit dem Hash-Zeichen (#) beginnende Zeilenendekommentare möglich.
Als Besonderheit wurde die Ressource text message=...
eingeführt. Sie ist immer verfügbar (Notanker) und führt dazu,
daß ein entsprechender Text mit der hinter message angegebenen
Ausschrift bereitgestellt wird.
Mit ihrer Hilfe lassen sich geeignete Fehlermeldungen formulieren,
falls für keine der vorangehenden Ressourcen eine Entsprechung
gefunden werden konnte:
<PWE> printer type=laser dpi>=300 | printer type=inkColor price<10 | # kein Drucker gefunden ... text message="no printer!" </PWE>
In der jetzigen prototypischen Implementation erhält der NIIS seine Informationen aus einer lokalen Datenbank, in der Informationen über Rechner und vorhandene Ressourcen eingetragen sind. Abbildung 7 zeigt ein Beispiel.
| artus | merlin | |
|---|---|---|
| printer | type=laser dpi=400 { Raum 220 }
| - |
| phone | { Raum 221 }
| { Raum 221 }
|
Für einen Nutzer am Rechner artus ist als Drucker ein
Laserdrucker mit 400 dpi im Raum 220 verfügbar, während am Rechner
merlin kein Drucker
zur Verfügung steht. Die Frage nach dem nächsten Telefon liefert für
beide Rechner einen Hinweis auf Raum 221. Die tabellenartige Darstellung
verführt zu der Annahme, daß pro Rechner-Ressourcen-Paar maximal
eine reale Ressource zur Verfügung steht. Dies ist in der Regel nicht
der Fall. Weiterhin fehlen in diesem Beispiel Angaben darüber, welche
Nutzer diese Ressourcen unter welchen Umständen überhaupt benutzen
dürfen.
Abbildung 8 verdeutlicht noch einmal die vom NIIS beeinflußte Arbeitsweise des PWE-Traders.
Abbildung 8: Die Übersetzung einer abstrakten PWE in eine aktuelle PWE erfolgt durch den PWE-Trader unter Zuhilfenahme der vom NIIS ermittelten Angaben über die beim Nutzer vor Ort verfügbaren Ressourcen.
Ein prinzipielles Problem besteht dabei in der Autorisierung des
Ressourcen-Zugriffs.
Der Dämon httpd arbeitet in einem UNIX-System beispielsweise
in der Regel unter dem User-ID -1 (nobody).
Damit hat er zunächst keinen Zugriff
auf geschützte Daten, wie z.B. auf die Mailbox eines Nutzers. Ein
entsprechendes Programm, das diesen Zugriff ermöglichen soll, muß
daher dem privilegierten Nutzer root gehören und in seinen
Zugriffsrechten die set-uid-and-gid-on-execution-Bits gesetzt
haben. Nach erfolgter Authentisierung des Nutzers gegenüber dem UPS
kann dieses Programm seinen effektiven User-ID auf den des Nutzers
setzen und so mit definierten Zugriffsrechten die Ressource benutzen.
Ein Nachteil des Protokolls http besteht in der Tatsache,
daß es ein zustandsloses Protokoll ist. Nach der Beantwortung einer
Anfrage wird die Verbindung zwischen HTML-Browser und Server
(httpd) gelöst, die Authentisierungsinformationen auf
Server-Seite gehen wieder verloren. Jeder neue Zugriff benötigt damit
eine erneute Authentisierung durch den Nutzer. Bei Verwendung des
http-eigenen Authentisierungsverfahrens wird der Nutzer davon
verschont, da der HTML-Browser einen einmal abgefragten
Nutzernamen und das dazugehörige Paßwort speichert und von sich aus
bei Bedarf an den Server sendet. Davon machen wir nun Gebrauch,
um uns die erneute Programmierung einer Authentisierung für den
Zugriff auf die Mailbox eines Nutzers zu ersparen.
Zunächst trägt der Nutzer in seine PWE einen Verweis auf ein
"Mail-Programm" ein, dem als Parameter die Mail-Datei übergeben wird.
Der UPS (httpd) muß folglich über das lokale Filesystem auf
diese Datei zugreifen können. Die entsprechende Passage
in der als HTML-Dokument bereitgestellten aktuellen PWE
könnte für den Nutzer somebody so aussehen:
<A HREF="/ups/mail.pl?/usr/spool/mail/somebody">meine Mail</A>Hinter
mail.pl verbirgt sich das in Abbildung 9
abgebildete Perl-Skript, das unter Zuhilfenahme des Programmes
rootcat die angegebene Datei einliest und eine entsprechende neue
Seite erzeugt.
Das in C geschriebene Programm rootcat ermittelt über die
Umgebungsvariable REMOTE_USER den angemeldeten Nutzer, setzt
seinen effektiven User-ID auf den des Nutzers und führt anschließend
das Programm cat aus.
#!/usr/bin/perl
$user = $ENV{"REMOTE_USER"};
$mailfile = $ENV{"QUERY_STRING"};
print "<HTML><HEAD><TITLE>Mail</TITLE></HEAD>\n";
print "<BODY><H1>Mailbox of user $user</H1>\n";
print "<TABLE>\n";
$count=0;
open (MAIL, "rootcat " . $mailfile . "|");
while ( $line = <MAIL> ) {
if ($line =~ /^From /) { # Beginn einer Mail
# ... Parsen von Titel ($subject) und Absender ($from)
$count = $count + 1;
print "<TR> <TD> $count ";
print "<TD> <A HREF=\"showmail.pl?$count&$mailfile\">";
print "$from </A>";
print "<TD> <A HREF=\"showmail.pl?$count&$mailfile\">";
print "<strong>$subject</strong></A><BR>\n";
}
}
close (MAIL);
print "</TABLE></BODY></HTML>\n";
Abbildung 9:
Bereitstellung eines Mail-Zugangs mit definierten Zugriffsrechten.
Für jede Mail wird ein Link innerhalb einer Tabelle erzeugt, über
den dann auf diese Mail zugegriffen werden kann. Das ebenfalls in Perl
geschriebene Skript showmail.pl besitzt den gleichen
prinzipiellen Aufbau wie mail.pl. Als Parameter wird
zusätzlich zur Mail-Datei die Nummer der Mail übergeben.
Zur Demonstration haben wir an unserem Institut vor kurzem einen User Profile Service in Betrieb genommen. Jeder Student oder Mitarbeiter des Institutes kann für sich eine abstrakte PWE erstellen und über den UPS darauf zugreifen. Hinter dem URL
http://ups.informatik.hu-berlin.deverbirgt sich eine Eingangsseite, die das anfangs beschriebene Formular enthält. Zusätzlich haben wir einen Gastzugang
guest geschaffen, der die hier vorgestellten Beispiele noch
einmal demonstriert, unter anderem auch das Mail-Beispiel. Da wir zur
Zeit mit der Implementation des NIIS noch ganz am Anfang stehen, werden
mit großer Sicherheit keine Ressourcen außerhalb unseres
Instituts zur Verfügung gestellt werden können.
Für die Zukunft sind noch eine Reihe von Problemen zu lösen: Zunächst muß eine geeignete verteilte Implementation des NIIS geschaffen werden. Offenbar kann nicht ein NIIS-Server allein Wissen über Ressourcen der ganzen Welt verwalten, vielmehr wird er sich anderer Dienste zur Informationsbeschaffung bedienen müssen (z.B. X.500, IN). Zur Implementation eines weltweiten NIIS kann der Namensdienst des Internet (DNS) als technologische Vorlage dienen. Besitzt der lokale Server kein Wissen über ein bestimmtes Gebiet auf der Erde, so gibt es vielleicht einen anderen Server, an den die Frage delegiert werden kann. Weiterhin sind Agenten denkbar, die nur Wissen über bestimmte Arten von Lokalisierungsinformationen verwalten, etwa nur über GPS-Koordinaten oder Telefonnummern. Wir werden in Kürze die Implementation eines solchen verteilten NIIS auf der Basis von CORBA in Angriff nehmen.
Weiterer Forschungsbedarf besteht in der Weiterentwicklung der Ressourcen-Spezifikation für den PWE-Trader. Hier sollten sich auch logische Verknüpfungen in der Art: "Ich benötige diese und diese Ressource, ansonsten zwei andere" ausdrücken lassen. Weiterhin sollte jeder Nutzer bei Bedarf seinen eigenen PWE-Trader einsetzen können. Denkbar wäre auch ein universeller PWE-Trader, der sich umfangreich konfigurieren läßt, etwa hinsichtlich der Auswahlstrategie.
Abhängig von dem vom Nutzer verwendeten Endgerät (z.B. stationäre Workstation mit schnellem Netzzugang oder über ein Funknetz angeschlossener Laptop) müssen zukünftig verschiedene PWEs bereitgestellt werden können. Auf diese Weise kann auch ein einfaches Telefon zum Netzendgerät werden, indem beispielsweise eingegangene Mails vorgelesen oder ihr Ausdruck per Fax über ein Voice-Menü veranlaßt werden kann.
Weiterhin müssen alle Ressourcen nach außen ein einheitliches
Interface bereitstellen, über das auf sie zugegriffen werden kann.
Im günstigsten Fall läßt sich der gewünschte einheitliche Zugriff
auf das http-Protokoll abbilden und das Interface in HTML
"programmieren". Dies dürfte eine starke Vereinfachung in der
Bedienung unterschiedlichster Ressourcen für den Benutzer mit sich
bringen. In diesem Fall kann der HTML-Browser tatsächlich die
Bedienoberfläche der Zukunft werden.
Große Hoffnungen setzen wir in dieser Richtung auf die
Einbeziehung von Java-Applets, wie sie zur Zeit beispielsweise
von Netscape genutzt werden können.
Eine gegenwärtig von der Firma IONA entwickelte Verbindung von Java
und CORBA würde dann schließlich sogar den Zugriff auf alle
über CORBA (und damit dank dem CORBA 2.0 Interoperability-Standard
unter anderem auch über DCE) erreichbaren Ressourcen ermöglichen.