Mit X Window-System und PASE laufen diese neuen Tools direkt auf iSeries.
Die kürzlich freigegebenen IBM PRPQ iSeries Tools for Developers (5799-PTL) stellen neue Annehmlichkeiten bereit für Entwickler von iSeries-Applikationen, die Anwendungen für iSeries programmieren bzw. auf iSeries portieren. In einem früheren Artikel dieser Serie über das neue Toolset untersuchten wir das EZ Editor-Tool. Hier sprechen wir u. a. darüber, wie sogar Windows-Benutzer diese neuen Editoren direkt auf iSeries verwenden können, ohne dass ein Unix Client dafür erforderlich wäre, ohne die Notwendigkeit, Dateien zwischen Host und Client per FTP zu übertragen. Ich werde Ihnen auch zeigen, wie Sie diese Tools sogar über einen beliebigen Standard-Browser benutzen können. Einige der Tools der iSeries Tools for Developers arbeiten mit Fenstern. Die Editoren EZ und Emacs sind zwei solche Tools. Sie bieten Fenster mit Bildlaufleisten, Graphik-Schaltflächen, Farben – alle diese Dinge, die Sie von einem modernen Editor erwarten – und alles ohne spezielle Software auf dem Desktop. Diese Applikationen laufen direkt auf iSeries, editieren Dateien im Integrated File System (IFS) oder in traditionellen, physikalischen Dateielementen. Sie verwenden dazu X Windows und das OS/400 Portable Application Solutions Environment (PASE), um graphische Fenster über einen X Window Terminalemulator, der auf Ihrem PC läuft, zu präsentieren. PASE ist der AIX Laufzeit-Anteil der iSeries und sorgt dafür, dass für IBM AIX Unix-Maschinen kompilierter Code hervorragend auf iSeries läuft. Im Folgenden werden wir genauer untersuchen, wie diese Applikationen Text und Graphik auf Ihrem Desktop direkt aus Ihrer iSeries präsentieren.
Voraussetzungen
Um X-basierte Graphik-Tools auf Ihrer iSeries einzusetzen, müssen
- OS/400 V4R5 oder V5R1 laufen
- PASE (Option 33 des Betriebssystems) installiert sein
- ein X Window Terminalemulator auf Ihrem PC laufen (manchmal auch X Server-Programm genannt; das ist die Software, die es Applikationen wie dem EZ Editor ermöglicht, Zeichen, Zeilen etc. auf Ihrem Client auszugeben
- ein Unix-basierter Desktop Client vorhanden sein (z.B. Linux, AIX), der auf Ihrem Windows-basierten PC läuft; alternativ zu einem PC ist auch ein Unix-basierter Desktop-Client mit eingebauter X Window Server-Software möglich.
Für einen PC, auf dem Windows läuft, können Sie Software von Fremdlieferanten verwenden, wie Exceed von Hummingbird (www.hummingbird.com/products/nc/exceed ), Reflection von WRQ (www.wrq.com/products/reflection/pc_unix ) oder WinAxe (www.labtam.fi ). Diese Programme emulieren einen X Server und laufen auf der Windows Plattform. Macintosh-Anwender können Exodus von Powerlan (www.powerlan-usa.com/exodus/ ) verwenden. Eine weitere Möglichkeit ist eine GNU General Public License (GPL)-Applikation, also Freeware, mit Namen Virtual Network Computing (=VNC; www.uk.research.att.com/vnc ), die auf Macintosh, Windows und Unix Desktop-Systemen läuft. Linux- und AIX-Boxen sind vielleicht nicht die Clients Ihrer Wahl. Und obwohl die gerade erwähnten Produkte eine gute Wahl für Desktop-PCs und Mac-Anwender sind, sind doch erhebliche Kosten mit jedem dieser Produkte verbunden. Die meisten Anbieter stellen eine downloadbare Testversion zur Verfügung; mein Vorschlag: probieren Sie es aus. Aber jetzt wollen wir uns genauer X und die Freeware-Alternative VNC ansehen.
Was ist X?
Prinzipiell verbunden mit Unix-basierten Betriebssystemen, ist X (X11 oder das X Window System) ein Protokoll zur Erzeugung von Text und Graphiken in rechteckigen Fenstern auf Bildschirmen. Die „11„ in X11 zeigt das elfte Haupt-Release im X Window-System an, einem Projekt, das ursprünglich im MIT Labor für Computerwissenschaft begann. Erweiterungen von X werden jetzt über ein formelles X Konsortium verwaltet. Eine einmalige und irgendwie verwirrende Sache mit X ist der Ausdruck X Server. Der X Server läuft tatsächlich auf der Client-Box, als ob er Anzeige-Dienste an die Applikation leisten würde, die in dieser Applikation als X Client bekannt ist. In einer normalen X Umgebung laufen eine oder mehrere Applikationen (X Clients) auf dem Host-System. Deren Bildschirmausgabe erfolgt auf den X Server, der auf demselben Host laufen kann. Tatsächlich kann der X Server Fenster von einer beliebigen Anzahl an Remote Host-Systemen ausgeben, genauso wie Ihr Web- Browser gleichzeitig eine Vielzahl an Websites anzeigen kann. Die Fenster erscheinen zusammen nahtlos auf Ihrem Desktop. Die X-basierten Applikationen EZ und Emacs sind Beispiele für X Clients, die auf iSeries laufen. Sie sehen aus und verhalten sich genauso wie jeder andere X Client dies auf einem X Server tut, der möglicherweise auf einem beliebigen Linux- oder AIX Desktop-Client läuft. EZ und Emacs können auch Bildschirmausgaben realisieren in Lösungen, die X Server emulieren (z. B. Exceed von Hummingbird). Ein weiterer Akteur in der X Umgebung ist der Window Manager. Dieses Programm steuert die Art und Weise, wie die Fenster auf dem Bildschirm präsentiert werden; d.h. es „verwaltet„ solche Dinge wie das Skalieren von Fenstern, ihre Platzierung auf dem Bildschirm und die laufende Verfolgung, ob sie minimiert, maximiert, teilweise sichtbar oder vollständig verdeckt sind.
Was ist VNC?
Geschaffen von Olivetti und jetzt unterstützt durch Bell Labs Research (www.uk.research.att.com/vnc ), verwischt VNC die Grenzen zwischen X Server und X Client. In einem VNC Szenario wird die Aufbereitung der Zeichen und Zeilen, die auf dem Bildschirm ausgegeben werden, auf der Host-Maschine (durch den VNC Server) bewerkstelligt anstatt durch einen X Server, der auf einem Client läuft. Berücksichtigen Sie, dass VNC an den traditionellen Definitionen von Server und Client festhält. Sie lassen einen VNC Server auf der Maschine ablaufen, auf der die Applikationen liegen, die sie ausführen wollen (z. B. EZ), und Sie lassen den VNC Client (den Viewer) auf Ihrer Desktop-Workstation ablaufen. VNC ist auch in der Hinsicht einzigartig, dass der VNC-Server auf vielen verschiedenen Plattformen (z. B. Macintosh, Unix, Windows, iSeries) laufen kann. Das Gleiche gilt auch für den VNC Viewer. Anwender können Viewer downloaden, um sie auf vielen Plattformen auszuführen. In dem Szenario iSeries/VNC Server-to-Windows/VNC Viewer gibt es einen VNC Server für jeden Anwender auf der iSeries. Der VNC Server läuft in der PASE Umgebung und gibt Bilder auf den VNC Viewer aus. Zur Bildaufbereitung benötigt VNC auch Zeichensätze, die auf iSeries installiert sind. Das letzte Teil, das wir noch benötigen, ist der Window Manager.
In einer Linux- und Exceed-Umgebung läuft der Window Manager auf der Desktop-Box. Da jedoch VNC die Bildaufbereitung auf der Host-Maschine abwickelt, muss auch der Window Manager dort laufen. Beispiele von Unix Window Managern beinhalten Motif Window Manager (MWM), Tab Window Manager (TWM), Featherweight Virtual Window Manager (FVWM) und Ice Window Manager (IceWM). In unserem Beispiel verwenden wir den IceWM Window Manager. Abbildung 1 zeigt die erforderlichen Bestandteile, um VNC auf iSeries zu benutzen. Der ILE CL-Befehl ez schickt einen Aufruf zu PASE, um den Ablauf des binären AIX ez anzustoßen, der das X-Protokoll benutzt, um Fenster auf Bildschirm auszugeben. Mit VNC jedoch realisiert der VNC Server den Bildaufbau. Der Window Manager ist ein weiteres Programm, das in PASE läuft. Es steuert so grundsätzliche Dinge wie die Festlegung, ob der Endbenutzer ein Fenster sieht oder aber ein Icon, das dieses Fenster repräsentiert. Das kleine Programm VNC Viewer läuft auf dem Windows Desktop, gibt Bildschirme aus und liefert Mausklicks und Tastenanschläge an den VNC Server zurück. Zusätzlich zu den niedrigen Kosten bietet VNC verschiedene weitere Vorzüge:
- Da der Bildaufbau auf dem iSeries Host geschieht, ist die Performance über das ganze Netzwerk generell gut, da jede einzelne X-Operation (z. B. das Zeichnen einer Linie als Teil der Grenze eines Fensters) einem Server zugeordnet ist, der auf demselben System läuft, nicht quer über das Netzwerk einem Server, der auf Ihrem Client läuft.
- Da die Fenster auf iSeries gesteuert werden, kann ein Anwender seine Verbindung zum VNC Viewer unterbrechen, anschließend wiederherstellen, und er wird die Fenster an derselben Stelle wiederfinden und sie werden dieselben Daten enthalten wie zu dem Zeitpunkt, als er die Verbindung unterbrochen hat. Diese Möglichkeit kann sehr praktisch sein, wenn z. B. Ihr PC neu gestartet werden muss.
- Der VNC Viewer ist ein echtes Leichtgewicht (weniger als 300 K). Das geht soweit, dass es eine verfügbare Java-Applet-Version von ihm möglich macht, jeden beliebigen Standard-Browser als VNC Viewer zu benutzen. VNC komprimiert auch Bildschirmänderungen, so dass nur die von dem auf dem Host liegenden Window Manager geänderten Pixels über das Netzwerk geschickt werden, und das bewirkt, dass VNC dem Benutzer sehr schnell und reaktionsstark erscheint.
Download und Installation von VNC
Die Rochester PartnerWorld Website (www.iseries.ibm.com/developer/factory/tools ) erklärt Ihnen, wie Sie vorgehen müssen, um VNC herunterzuladen und zu installieren:
1. Installation von VNC
Da VNC eine AIX-Applikation ist und wir in PASE arbeiten, würde dies normalerweise den Download von VNC einschließen; nach einer kleinen Feinbstimmung können Sie es auf einer AIX-Box kompilieren und dann per FTP an Ihre iSeries schicken.
2. Installation der Zeichensätze
Die erforderlichen Zeichensätze werden von der Adresse www.xfree86.org geholt. Erforderlich ist auch eine Farbkarten-Datei, die die Farben vom Englischen auf die hexadezimalen Äquivalente umsetzt.
3. Installation des Window Managers
Download des Codes vom Web, Feinanpassung und Kompilierung auf AIX; anschließend per FTP an iSeries.
4. Installation des VNC Viewers auf der Client Box
Dies ist eine einfache Angelegenheit, da der VNC Viewer eine recht leichtgewichtige .EXE-Datei ist. Wenn wir VNC bereits kompiliert haben (siehe oben), ist der VNC Viewer bereits ein Teil dieses Ergebnisses. Wenn nicht, wird er installiert als Link von der PartnerWorld Website.
5. Erzeugung einer Passwort-Datei
in Ihrem ~/.vnc-Verzeichnis auf iSeries. Dieses Passwort muss eingegeben werden, um den VNC Viewer mit dem VNC Server zu verbinden. Ein Befehl, um diese Datei zu erzeugen, wird in dem Softwarepaket enthalten sein.
6. Modifikation des xstartup-Scripts
um die gewünschten Tasks zu starten. Wenn z. B. der VNC Server startet, möchten Sie, dass auch Ihr Window Manager und verschiedene Applikationen wie EZ oder Emacs gestartet werden. Die Instruktionen auf der PartnerWorld Website zeigen das Beispiel eines xstartup-Scripts, das Sie nach Ihren Wünschen modifizieren können.
(Hinweis: Dieser Prozess ist noch in Entwicklung. Um die Arbeitsschritte, die der Anwender tatsächlich ausführen muss, zu beschränken, hofft IBM, auf der PartnerWorld Website eine Savefile bereitstellen zu können, die Interessenten downloaden und installieren können. Andernfalls erfordern die vorhergehenden Schritte eine Zugangsmöglichkeit zum Kompilieren auf einer AIX-Box)
VNC starten
Nach der Installation von VNC starten Sie dieses mit folgenden Schritten:
1. Begeben Sie sich in die iSeries Tools for Developers-Umgebung durch Angabe des Befehls STRPTL CLIENT (systemname Ihrer iSeries).
2. Begeben Sie sich in PASE, indem Sie CALL QP2TERM eingeben.
3. Starten Sie den VNC Server durch Angabe des Befehls vncserver.
4. Das Kommando wird verarbeitet, der Name des VNC Servers, den Sie damit starten, wird angezeigt. Der Name wird von der Art sein wie iseriesname.standort: Schreiben Sie sich diesen Namen auf; Sie werden nach ihm gefragt werden, wenn Sie den Viewer starten. (Berücksichtigen Sie auch, dass der Befehl vncserver auch alle Programme starten wird, die Sie in Ihrem ~/.vnc/xstartup-Befehl aufgelistet haben.)
5. Starten Sie den Viewer auf Ihrem Client, indem Sie den Befehl vncviewer eingeben.
6. Jetzt sollte das VNC Viewer Startup-Fenster erscheinen (Abbildung 2). Geben Sie den Namen des Servers ein, den Sie bei Punkt 4 aufgeschrieben haben, und das VNC Passwort-Fenster (Abbildung 3) erscheint. Geben Sie jetzt das Passwort ein, das Sie bei der Erzeugung der Passwort-Datei benutzt haben.
7. Warten Sie einen Augenblick und der VNC Viewer wird sich füllen mit Ihren Applikationen und dem laufenden Window Manager (Abbildung 4).
Über IceWM
Fensterverwaltungs-Programme unterscheiden sich in Funktionalität und Stil; welches Sie benutzen, ist Ihre persönliche Wahl. IceWM, auf das sich die PartnerWorld-Website bezieht, trifft die Microsoft Windows Benutzeroberfläche ziemlich genau, allerdings mit einigen Extraschnörkeln. Obwohl ich hier nicht groß ins Detail gehen will, erscheint es mir doch lohnend, einige der zentralen Leistungsmerkmale zu erwähnen. Für weniger Erfahrene unter den Lesern: IceWM besitzt die typischen Funktionen, die man mit einem Fenster verbindet, wie etwa die Fähigkeit, sich zu bewegen, Fenster zu minimieren, zu maximieren und zu skalieren. Enthalten sind auch einige Extras wie etwa das Rollup-Feature. Als eine Variation des Minimierens von Fenstern, lässt die Rollup-Funktion das Fenster erscheinen, als ob es sich zu seiner Kopfzeile aufrollen würde wie eine Jalousie an einem Fenster. Abbildung 5 zeigt die Fenster review und ezmrg in diesem Zustand. IceWM hat eine Startleiste in der linken unteren Ecke des Fensters. Wie mit der Windows Benutzeroberfläche kann diese Startleiste kundenspezifisch angepasst werden, um Applikationen Ihrer Wahl auszuführen. Sie bewerkstelligen dies, indem Sie VNC-Betriebsmitteldateien editieren. Ich habe die Starttaste mit dem Wert iSeries vorbelegt (siehe Abbildung 4). Die Option Fensterliste bei IceWM präsentiert eine Liste mit aktiven Applikationen. In dieser Liste können Sie eine Applikaktion auswählen und in den Vordergrund stellen. IceWM bietet auch ein sog. „Raum„-Konzept an. Indem Sie einige Applikationen verstecken und andere zeigen, kann der Window Manager es so erscheinen lassen, als ob Sie Ihre Applikationen in verschiedenen Arbeitsbereichen oder Räumen untergebracht hätten. Beachten Sie die nummerierten Auswahlknöpfe in der linken unteren Ecke auf der Startleiste (Abbildung 4). Klicken Sie auf Auswahlknopf 1 und Sie sehen alle Fenster, die mit einer einzelnen Task verbunden sind; klicken Sie auf Auswahlknopf 2 und Sie sehen jene Fenster, die mit einer zweiten Task verbunden sind.
VNC-Benutzerhinweise
Ein nettes Feature, das Sie mit VNC erhalten, ist die Möglichkeit, die Verbindung zum VNC Server zu unterbrechen und wiederherzustellen. Wenn Sie den Server und die Applikationen starten, und der Viewer gibt sie auf Bildschim aus, dann verschwinden diese nicht, nur weil der Viewer beendet wird. Sie können den Viewer verlassen und die Verbindung später oder von einer anderen Workstation aus wieder herstellen. Ein weiteres Feature von VNC erlaubt Ihnen, den Viewer als Java-Applet von einem Web-Browser aus laufen zu lassen. Das bedeutet, dass auf dem Client keine Software installiert werden muss. Sie können Ihre VNC-Session also auch jederzeit über den Web-Browser eines Nachbarbüros starten. Um die beste Performance mit VNC zu erreichen, sollten Sie die Luxus-Optionen Ihres Window Managers auf ein Minimum beschränken. Zum Beispiel geben einige Window Manager die Bilder im Hintergrund- oder „Root„-Fenster aus. Bei einigen erfolgt die Ausgabe in 3-D oder mit geschweiften Fensterbegrenzungen. Dies sind alles Extrabits, die durch das Netz geschickt werden und zu einem Verhalten vergleichbar einer sehr langsam ladenden Website führen, die mit bewegten Icons überladen ist. Je einfacher Ihr Window Manager aussieht umso schwungvoller wird wahrscheinlich die Verarbeitung ausfallen.
Probieren Sie es selbst aus
Wenn Sie iSeries Tools for Developers mit VNC benutzen, können iSeries Entwickler Vorteile aus Software und Tools ziehen, die früher auf der Plattform nicht verfügbar waren. Tools wie Emacs und VNC können jetzt unproblematisch auf iSeries laufen, und Tools wie der EZ Editor laufen selbst dann störungsfrei, wenn sie direkt aus der traditionellen ILE-Umgebung gestartet wurden, um Calls in die PASE-Umgebung oder außerhalb abzusetzen. Benutzer von Tools wie EZ in traditionellen Umgebungen bemerken nicht einmal, dass ihre Applikationen teilweise in PASE laufen. Mit PASE, iSeries Tools for Developers, VNC und der Power von X haben Sie eine geeignete Lösung, um Dateien und Tools direkt auf Ihrer iSeries zu editieren, ohne die Notwendigkeit, etwas per FTP vom Host zum Client zu schicken.
Der Autor Tim Massaro ist beratender Programmierer für IBM in Rochester, Minnesota; zur Zeit ist er Mitglied im DEV/2000 Tools Team. Sie können ihn erreichen unter tmassaro@us.ibm.com .
![Künstler Burgy Zapp [http://burgyzapp.de]](http://newsolutions.de/it/wp-content/uploads//at3_haw_IMG_0030_Z_Negativ-300x300.jpg)


