IOS, eine weitere REBOLution

ArticleCategory:

Applications

AuthorImage:

Georges Tarbouriech

TranslationInfo:[Author and translation history]

original in en Georges Tarbouriech 

en to de Robert Gummi 

AboutTheAuthor

Georges ist ein langjähriger Unix-Nutzer. Seine Aufmerksamkeit gilt jenen wirklich innovativen Produkten, die in der Lage sind, unsere heutigen Arbeitsabläufe nachhaltig zu verändern.

Abstract:

IOS steht für "Internet Operating System". Es handelt sich um ein kommerzielles Produkt, dazu gedacht Teamarbeit zu vereinfachen. Rebol hat diese beeindruckende Software entwickelt. LinuxFocus hatte die Gelegenheit, 30 Tage lang eine Evaluationsversion auszuprobieren. Dieser Artikel wird versuchen, Ihnen die REBOLution nahezubringen.

ArticleIllustration:

IOS

ArticleBody:[The article body]

Die Idee

Neben anderen Vorteilen hat REBOL eine einzigartige Eigenschaft: die extrem geringe Größe der Anwendungen, die man mit dieser Sprache entwickeln kann. Werfen Sie einen Blick in diesen "alten" Artikel, um zu sehen, wie mächtig sie sein kann und wie einfach man Applikationen für ungefähr 40 verschiedene Plattformen entwickeln kann. Rebol/View, zum Beispiel, hat 587 KB und man kann damit fast alles programmieren, was man braucht. Es kann kostenlos von der Rebol-Website heruntergeladen werden. Außerdem stehen mehr als 300 Beispielskripte zur Verfügung, die Ihnen alles beibringen.
Mit keiner anderen Programmiersprache können Sie so kompakte Anwendungen schreiben. IOS verfolgt die gleiche Philosophie. Das bedeutet, ein Server stellt alles nötigte bereit, und mit einem Client kann man von ungefähr 25 verschiedenen Betriebssystemen aus auf viele mitgelieferte Anwendungen zugreifen. Selbstverständlich können Sie eigene Anwendungen Ihren Bedürnissen entsprechend entwickeln. Dies hier ist jedoch nur eine sehr kurze Zusammenfassung, IOS ist viel mehr als das.

Die Fakten

Viele junge (und ältere) Leute wundern sich jetzt vielleicht : wovon redet dieser Mensch? Was kümmern uns Dateigrößen? Heutzutage haben wir 20 oder 40 Gigabyte-Festplatten, Hauptspeicher ohne Ende, Gigahertz-CPUs, warum sollte es noch auf kompakte Programme ankommen? Vielleicht wollen sie mir sagen: Komm schon, alter Knabe. Die Dinge haben sich geändert. Das ist richtig... ABER wie sieht es im Internet aus?
Wahrscheinlich haben Sie bemerkt, daß immer mehr Leute das Internet benutzen. Viele von ihnen verwenden Modems: zum Surfen, für Mail usw. Und offensichtlich wird dafür eine Menge Bandbreite benötigt. Das bedeutet, daß die Übertragungsraten sogar mit einem Kabelmodem oder einem DSL-Anschluß eher langsamer werden.
Ich weiß, das kümmert niemanden! Wer macht sich schon die "Mühe" Text oder HTML statt dieser verdammten Word- oder Excel-Dokumente zu verschicken? Oder JPEG statt BMP-Bildern? Nur sehr wenige!!! Von Webseiten mit Sound, Video, Riesenbildern etc. ganz zu schweigen. Entsprechend schwieriger wird von Tag zu Tag die Fernarbeit.
Dennoch arbeiten immer mehr Leute über das Netz. Große weltweit operierende Werbeagenturen, internationale Organisationen etc etc. Nicht zu vergessen die Gemeinde, die freie Software entwickelt, Dokumentation schreibt und ähnliches. Ich meine, weltweit verteilt arbeiten Leute, die miteinander in Verbindung bleiben müssen, am besten in Echtzeit. Das gibt es auch bereits... ohne Rebol. Also?

Die REBOLution

Um heutzutage Telearbeit zu leisten, benutzt man wohlbekannte Hilfsmittel: 50 MB Browser, 20 MB Mailprogramme, 10 MB Konferenz Software, 10 MB Messenger, 1 GB Datenbankprogramme... für jede Art von Datenaustausch. Vorzugsweise sehr große Datenmengen (Siehe oben!). Was hat Rebol Neues zu bieten? Eigentlich nichts! Meine Kollegen haben mir gesagt: Der Messenger erlaubt Messenging, das Mailprogramm verschickt Mail, der Terminplaner verwaltet Termine...
So weit so gut. Außer, daß das Mailprogramm 2915 Byte groß ist (kein Tippfehler!), der Messenger 14.5 KB, das Adressbuch 7372 Byte, die Konferenz Software 14.41 KB, und so weiter! All diese Tools stehen auf dem Desktop zur Verfügung, benötigt wird nur eine ausführbare Datei von 610 KB Größe, um die Serververbindung herzustellen. Dies ist die Größe des Linux Clients; das gleiche gilt für alle anderen Plattformen : 25 zur Zeit der Entstehung dieses Artikels.
Und so sieht das ganze aus:

desk


Um das ganze Konzept richtig zu verstehen, muß man wissen, daß REBOL eine sehr universelle Produktpalette mitbringt. Rebol/View wurde schon erwähnt (kostenlos verfügbar oder als erweiterte Version für einen geringen Betrag), außerdem Rebol/Core (kostenloser Download) und Rebol/Command (kommerziell, also kostenpflichtig), welches in Zusammenarbeit mit einem RDBMS (Relationales DatenBank Managment System) oder zum Beispiel mit CGI-Skripten verwendet wird. Natürlich können all diese Produkte innerhalb von IOS genutzt werden. Das ergibt einen ansehnlichen "Werkzeugkasten": eine atemberaubende Programmiersprache, die Möglichkeit, Programme (reblets genannt) mit existierenden Datenbanken, Webservern oder was auch immer zu verknüpfen. Wie gesagt: Grenzen setzt nur die eigene Vorstellungskraft. Ein Beispiel macht das ganze verständlicher:

Der Test

Wir haben Rebol um eine Evaluationsversion von IOS gebeten und sie waren einverstanden. Wir bekamen also 3 Client-Accounts auf dem Rebol-Server. Wie man sieht, konnten wir die Server-Seite des Produktes nicht testen, mehr dazu später. Da es sich um einen Test für LinuxFocus handelte, testeten wir... den Linux Client.
Dazu mußten wir nur eine kleine ausführbare Datei herunterladen und ausführen (Auch ich hasse Binärdateien, aber in diesem Fall vertraue ich Rebol). Dadurch wird der Client auf Ihrem Computer installiert: es dauert weniger als eine Minute!
Bei einer Rebol/View-Installation muß man clientseitig nicht einmal etwas konfigurieren, da die benötigten Informationen wie Email-Adresse oder pop- und smtp-Server bereits existieren. Man muß nur noch Benutzernamen und Passwort, die man von Rebol erhalten hat, eingeben, und das war es: Fertig!
Man kann jedes auf dem Desktop vorhandene Tool verwenden: Messenger, Email, Konferenz-Software, etc. Es kommen übrigens häufig neue Reblets hinzu. Auch Utilities wie Taschenrechner, Zwischenablage und Info Panel sind dabei. Bittesehr:

deskutil


Über die verschiedenen Buttons auf dem Desktop gelangt man in die Bereiche Applikationen, Dokumentation, etc. Der Benutzer-Button ist ein besonderer Knopf, denn in diesem Arbeitsbereich kann man eigene Verzeichnisse erstellen. Man kann Zugriffsberechtigungen auf diese Ordner einrichten, indem man die Benutzernamen in die entsprechenden Felder einträgt. Anschließend kann man in das Verzeichnis packen, was man will, seien es Programme, Bilder oder Dokumente. Diesen Bereich könnte man als "weltweit zugängliches" NFS (Network File System) betrachten... ohne dessen Sicherheitslücken! Nur zugelassene Benutzer können, entsprechend den Rechten, die man ihnen gegeben hat, lesend und schreibend darauf zugreifen. Natürlich befinden sich all diese Dateien auf der eigenen Festplatte. Mit anderen Worten: man kann sie offline nutzen.
Was haben wir darin gespeichert?
Ein kleines Programm, um die letzte LinuxFocus Ausgabe aufzurufen. Das gleiche haben wir schon in dem früheren Artikel über Rebol verwendet, außer daß es zu einer anderen LinuxFocus Ausgabe führte. Warum ich das gleiche Programm nochmal geschrieben habe? Weil sich die Syntax seitdem etwas geändert hat. Hier ist der neue Quellcode.

Wie sieht es aus?

lfissue


Dieses Programm hat 2182 Bytes, aber es enhält nur Text, Buttons, URLs und ein Hintergrundbild... und nicht viel Code. Nicht sehr aussagekräftig, oder?
Versuchen wir etwas anspruchsvolleres.
Wieder muß LinuxFocus als Beispiel herhalten. Wir werden eine sehr einfache Datenbank erstellen. Sie soll es zugelassenen Benutzern erlauben, Datensätze einzusehen, zu schreiben und zu löschen. Da es sich um ein sehr einfachen Beispiel handelt, sind natürlich keine Abfragen möglich, man kann immer nur einen Eintrag nach dem anderen wählen. Die Datensätze sind in einem Textfile namens articles.r gespeichert.
Das Programm heißt lfdb.r und umfasst nur 5983 Bytes!
Es wurde dem Programm rebodex.r von Carl Sassenrath (dem Rebol-Gründer) entnommen und gehört zu den oben erwähnten Beispielprogrammen.
Hier ist der Quellcode.

So sieht es in Aktion aus:

deskdb


Wie man sieht nichts besonderes, aber es funktioniert und es ist sehr klein. Das ermöglicht flüssiges Arbeiten über das Netz, egal welche Netzanbindung vorliegt.
Man kann alles mögliche in sehr kurzer Zeit entwickeln und Leuten am anderen Ende der Welt zur Verfügung stellen, als ob sie im Büro nebenan wären. Denken Sie dran, Sie können ihr "Werk" auch offline nutzen, da es auf die Platte geladen wird.
Es handelt sich, wie man sieht, auch hier um ein sehr einfaches Beispiel. Wie schon erwähnt, könnte Rebol/Command auch eine Verbindung zu einem RDBMS Server herstellen. Wie gesagt gibt es keine Grenzen für das, was Sie mit IOS tun können.
Dies ist nur eine Art, IOS zu nutzen, es gibt viele andere. Versuchen Sie sich die ausgeklügelten Anwendungen auszumalen, die man damit erstellen könnte.
Aber nun zum Wichtigsten: die Sicherheitsfrage.

Sicherheitsaspekte

Sobald es um Kommunikation über das Internet geht, ist die Sicherheit gefährdet. Wie geht Rebol damit um?
Wie üblich hielten sie die Dinge überschaubar und vertrauenswürdig.

Der Server

Wie bereits erwähnt waren wir nicht in der Lage, den IOS Server selbst zu testen. In der IOS Dokumentation ist aber auch ein Administrator-Handbuch enthalten. Außerdem sind die Leute bei Rebol so nett, einem Fragen zu beantworten. Das ist nicht überall der Fall und sollte deshalb nicht unerwähnt bleiben. Besonders interessant: sie beantworten Ihre Fragen in Echtzeit mit Hilfe der IOS Messenger-Applikation. Nicht schlecht, oder? (Wann schlafen die eigentlich, immerhin beträgt die Zeitverschiebung etwa 9 Stunden?)
Der Server kann auf vielen verschiedenen Betriebssystemen laufen. Die meisten Unix oder Windows Server können diese Aufgabe übernehmen. IOS Sicherheit wird intern verwaltet und ohne Änderungen an der Infrastruktur in das existierende Netzwerk integriert. Dazu sollte Ihr Netzwerk am besten schon mit Firewall, Proxy, NIDS (Network Intrusion Detection System), IP-tunnelling, etc. versehen sein.
IOS setzt auf dem Webserver auf und verwendet das HTTP Protokoll für einen IP-Tunnel. Dieser Webserver dient als Gateway für die Verbindung mit dem IOS Server. Ein CGI-Programm arbeitet als Proxy, um Daten vom Webserver an den IOS-Server umzuleiten. Die ganze Kommunikation läuft verschlüsselt ab. Der IOS Server speichert die Daten, ein anderer Prozess synchronisiert sie zwischen Client und Server, neue Daten werden automatisch auf die Festplatte heruntergeladen.
Schließlich und endlich dauert die Server-Installation nur 5 Minuten, wenn bereits ein Webserver läuft.
Das ist natürlich nur eine sehr kurze Erklärung, aber es zeigt, daß die Rebol-Philosophie auch hier angewandt wurde. Übrigens stellt Rebol auch Reblets zur Verfügung, die die Administration vereinfachen.

Der Client

Die einfache Client-Installation wurde bereits beschrieben. Dem ist nicht viel hinzuzufügen, da es nur 1 Minute dauert.
Der Client verbindet sich mit dem Server mit Session-spezifischen Schlüsseln, dadurch wird die Autentizität garantiert. Alles was im Netzwerk übertragen wird, ist verschlüsselt. Verbindungen können auf bestimmte IP-Adressen oder Ports beschränkt werden, es entsteht dann eine Art Peer-to-Peer-Verbindung.
Die Zugriffsrechte für Dateien und Verzeichnisse können recht einfach verwaltet werden. Die Zugriffe sind auf einen lokalen Bereich beschränkt. Das bedeutet, daß ein Benutzer nur auf seinen eigenen Bereich zugreifen kann.
Über das IOS Sicherheitskonzept gibt es noch viel mehr zu sagen, aber das würde mehrere Artikel erfordern.
Um es kurz zu machen: Die IOS Sicherheit ist gut durchdacht. Ich habe die übertragenen Datenpakete mit tcpdump mitgeschnitten, konnte aber außer der Verbindung selbst nichts entdecken. Den Server habe ich mit nmap gescannt und überhaupt keine Antwort erhalten. Natürlich bedeutet das nicht, daß das System unverwundbar ist. Hundertprozentige Sicherheit gibt es nicht. Rebol scheint seine Sache aber gut gemacht zu haben.

Der "Kommerzielle" Teil

Na gut, Rebol vertreibt proprietäre Software. Sie müssen natürlich von etwas leben, selbst wenn man viele der Produkte kostenlos bekommt. IOS wird auf verschiedene Arten verkauft, es folgt eine Liste der IOS Produkte:
IOS Express für große und mittlere Unternehmen
IOS Lite für kleine Unternehmen
IOS Host: Rebol hosts auf ihren Servern
IOS Alliance ist ein Support Programm für gewerbliche Entwickler.
Aus dieser Auswahl wird ersichtlich, daß die Preise recht unterschiedlich sein werden. Der Einführungspreis für den Server und 10 Clients beträgt $2000, jeder weitere Client kostet $100. Für größere Mengen kann ein Rabatt ausgehandelt werden.
Das alles dient nur der Orientierung und kann sich in der näheren Zukunft ändern, auch je nach der Zahl der Anwendungen für IOS.

Blick in die Zukunft

IOS ist seiner Zeit soweit voraus und so einfach in der Anwendung, daß es schwer fällt, alle seine Vorteile zu erklären. Solange die Menschen im Alltag andere Produkte einsetzen, können sie nicht erkennen, daß diese Produkte gar nicht die am besten geeigneten sind. Entweder sind sie daran gebunden oder nicht neugierig genug, etwas anderes auszuprobieren. Manchmal haben sie auch keine Wahl. Verglichen mit dem, was wir heute benutzen, kommen Produkte wie IOS einer Revolution gleich. Mit dieser großartigen Software ist Rebol konkurrenzlos. Das Problem, seiner Zeit zu weit voraus zu sein, besteht darin, daß Mitbewerber viel Zeit haben, davon zu profitieren. Im Computergeschäft gibt es viele traurige Beispiele.
Nun zum üblichen "off-topic"-Teil.
Rebol's Gründer, Carl Sassenrath, arbeitete früher für Commodore (für die jüngeren unter uns: früher ein bekannter Computerhersteller) Der Amiga war eines ihrer Produkte und das Amiga-OS war das fortgeschrittenste System seiner Zeit: der erste Multitasking-Personal-Computer, erster echter Multimedia-Computer, der erste mit mehreren spezialisierten Chips usw. Commodore war leider nicht in der Lage, ihn entsprechend zu verkaufen. Andere Hersteller brauchten Jahre, um den gleichen technischen Stand zu erreichen, aber diese "anderen" verkauften sich besser oder "zwangen" Leute dazu, ihre Produkte zu kaufen.
Carl war an der Enwicklung des großartigen Amiga OS beteiligt.

Später arbeitete er, immer noch für Commodore, am CDTV, einer Art "Ahnherr" der Set-Top-Boxen. Und wieder einmal konnte Commodore sie nicht verkaufen. Einige Monate nach dem Erscheinen des CDTV jedoch brachte ein Mitbewerber etwas ähnliches heraus... und hatte Erfolg. All das zeigt, daß Carl seiner Zeit voraus war, vielleicht zu weit. Was eigentlich ein Vorteil sein müßte, wurde ein Nachteil. Seine Arbeiten waren später nützlich für andere.

Ein weiteres Beispiel wäre die Firma NeXT mit ihrem Betriebssystem NeXTSTEP. Mehr als zehn Jahre später entdecken die Leute MacOS X, meist ohne zu wissen, daß es sich um ein sehr altes System handelt... früher NeXTSTEP genannt. Diese Geschichte mag etwas anders sein, da hinter beiden Systemen derselbe Mann steht.
Dennoch scheint es, daß zu weit voraus zu sein nur Nachteile bringt. Auf den Punkt gebracht besteht die "richtige" Arbeitsweise darin: "Wir kopieren nicht, wir versuchen nur, die Fehler der Pioniere zu vermeiden, die diesen Weg zuerst gingen." (oder so ähnlich). Wer hat das wohl gesagt, Vorschläge?

Dieser Exkurs führt uns zu der Frage: Werden Carl und seine Freunde wieder nur dafür arbeiten, daß andere die Früchte ernten? Nun, viele Leute erkennen nicht, wie fortschrittlich IOS und die Rebol-Produktpalette sind. Andere könnten davon "auf Ideen kommen". Aber eine Sache werden sie nicht "kopieren" können: die Kompaktheit der Anwendungen und die Sprache, um sie zu erstellen. Da ich nicht daran glaube, daß die Übertragungsgeschwindigkeiten im Internet sich in der nahen Zukunft deutlich verbessern, denke ich, daß Rebol die einzigen sind, die das Problem wirklich verstanden haben. Ich bin mir sehr wohl der hohen Geschwindigkeit bewußt, die im Internet bereits erreicht wird, aber wann wird das wohl für jederman verfügbar sein? Von den Kosten mal ganz zu schweigen.
Sicher, verglichen mit Modem und ISDN stellen Kabelmodem und DSL eine Verbesserung dar. Aber auch mit Hochgeschwindigkeitszugängen werden kleine Applikationen immer schneller sein als große. Für eine Firma ist das durchaus wichtig: es bedeutet geringere Kosten (durch kürzere Verbindungszeiten), mehr Effizienz (die Mitarbeiter können offline arbeiten, ohne sich Megabytes an Daten herunterladen zu müssen), mehr Sicherheit (viele der derzeitigen Server haben Löcher wie ein Sieb), und so weiter.

Schließlich und endlich wird der Hauptteil an Sicherheit vom IOS Server verwaltet und benötigt daher keine Spezialkenntnisse in Netzwerksicherheit. Das bedeutet für Sie, wenn Sie eines dieser "Siebe" besitzen, daß Sie alleine durch die ordentliche Installation des IOS Servers einen gewissen Sicherheitsgewinn haben - auch wenn ich das nicht empfehlen würde!

Schlußplädoyer

Es gibt immer mehr Team-Telearbeit. Es existieren viele bekannte Lösungen, die aber meist zu teuer und zu schwer zu implementieren sind. Rebol bietet eine neue Art zu arbeiten und zu denken an: schlanke, verteilte Anwendungen. Bezüglich der "verteilten Anwendungen" ist dieser Zugang nicht besonders neu, wohl aber, wenn man "schlank" hinzunimmt.
Produkte wie IOS und Konsorten stehen für einen wirklich neuen Ansatz. Wie üblich "führen viele Wege nach Rom", aber der von Rebol ist einfach unglaublich. Ich will nicht sagen, daß alle anderen Programmiersprachen oder Programme überflüssig sind. Perl oder MySQL z.B. "liebe" ich weiterhin. IOS ist einfach etwas anderes: in Verbindung mit Rebol/Core, Rebol/View und Rebol/Command ist es das ultimative Werkzeug für Team-Telearbeit.
Natürlich lesen Sie gerade LinuxFocus und hier geht es normalerweise um Freie Software. Trotzdem kann man proprietäre Software, wenn sie wirklich innovativ ist, nicht auslassen, besonders wenn sie unter den meisten verfügbaren Betriebssystemen läuft.
Es wäre ignorant, diese offensichtliche Tatsache abzulehnen.
Außerdem sind die Leute bei Rebol nicht nur nett und hilfsbereit, sondern auch sehr weltoffen, was nicht überall der Fall ist, auch in der Open Source Szene. Sorry, aber das ist nur eine weitere Tatsache!
Mein Vorschlag: probieren Sie einmal die Produkte von Rebol, und wie Apple so schön sagt: "think different". Vergessen Sie das, woran Sie gewöhnt sind, und spielen Sie etwas mit der Rebol Software herum. Ich bin mir sicher, Sie werden die Zeit nicht bedauern. Für einen guten Start besuchen Sie die Rebol Webseite. Laden Sie sich Rebol/View und die Beispielskripte herunter: Sie werden die REBOLution verstehen.
Sie können auch das Buch "Rebol" von meinem Kollegen Olivier Auverlot vom französischen Magazin "Login" lesen. Das Buch wurde auf französisch geschrieben, aber eine englische Übersetzung ist in Arbeit und sollte bald erscheinen (Falls sie bei Erscheinen des Artikels noch nicht veröffentlicht wurde).
Wenn Sie mehr über Rebol wissen wollen, werden Sie eine Menge Informationen auf der Rebol Webseite finden. Dieses Szenario wird besonders zum Lesen empfohlen, da es eine Menge Beispiele dafür enthält, was ein mittelgroßes Unternehmen mit IOS tun kann.
Viel Spaß!
Leben wir nicht in einer großartigen Zeit?