Software-Lego nicht nur für Marsmänner

Komponentenkonferenz: Re-Use in neuer Dimension

26.07.1996

"Java wird der Komponententechnik bereits in eineinhalb Jahren zum Durchbruch verhelfen", streicht Diethelm Bienhaus, Konferenzbesucher vom Fachbereich Grafische Simulation, Wissensbasierte Systeme der Universität Gesamthochschule Kassel, die Bedeutung der Programmiersprache heraus. Obwohl man derzeit noch (Socket-)Experten benötige, die bewerkstelligen können, daß sich Java-Applets unterhalten, sieht er in der plattformunabhängigen Sun-Programmiersprache Java ein wichtiges Werkzeug. Damit ließen sich preisgünstige GUIs für die im Hintergrund auf Komponenten verteilte Logik erstellen. Ideal wäre es seiner Ansicht nach, wenn die netzfähige Compound-Document- Technik Opendoc so flexibel wäre, daß sie auf jedem käuflichen oder in Betriebssysteme integrierten Request Broker (ORB) aufsetzen könnte, so daß dieser für den Anwender nicht mehr sichtbar wäre. Java-Anwendungen könnten so einfach miteinander gekoppelt werden. Bisher läuft Opendoc lediglich auf der Corba- Implementation von der IBM, dem System Object Management (SOM).

Insgesamt fehlt es noch an Tools, die eine breitere Anwendung von Komponenten in den Unternehmen ermöglichen. Da Firmen derartige Techniken als Wettbewerbsvorteil empfinden und deshalb meist nicht bereit sind, darüber zu sprechen, blieb auch der Anwender der Finanz- anwendung, die Bruce Cottman vorstellte, anonym. In seinem Vortrag über das Life Cycle Management von Komponenten stellt der I-Kinetics-Geschäftsführer ein erfolgreich laufendes Risiko- Management-System vor. Zu Beginn der Entwicklung bestand die Server-Seite aus den Modulen zur Berechnung von Optionen und Staatsanleihen, einer Benchmark-Datenbank sowie einer Aggregations-Engine. Darüber wurde ein Component-Bus mittels Corba und OLE angelegt, auf dem die Clients mit Kontrolleiste, einem Spreadsheet und der Logik für das Risiko-Management aufsetzten.

In Visual Basic installiert, ließ sich die Logik schließlich zu einer neuen Komponente verpacken, so daß die Applikation nach neun Monaten verteilt werden konnte und nun nicht mehr nur zehn Anwender damit arbeiten können, sondern 1000.

Das Life-Cycle-Management, wie Cottman es sieht, muß sich sowohl auf die Entwicklung als auch auf das Zusammenfügen und den Gebrauch von Komponenten beziehen. Während für die Programmierer ein vergleichsweise gutes Angebot an Software-Tools vorliege, herrsche auf der "Sammler"-Seite Mangel. Um beispielsweise herauszufinden, welche Komponenten es gibt, bietet Corba lediglich Services, die deren Beziehungen aufzeigen können. Um die Komponenten gegebenenfalls in der Unternehmens-DV aufzu- spüren, stellen weder Corba noch OLE/COM Dienste bereit.

Die von David Smyth, einer der IT-Verantwortlichen vom Nasa-Labor Jet Propulsion Laboratory (JPL), beim Projekt "Mars Pathfinder" erstellte Komponeneten-Software soll helfen, den Mars zu erforschen. Smyth, der nun damit beschäftigt ist, drei verschiedene Intranet-Lösungen zu entwickeln, konnte die Software für das Marsprojekt drei Monate vor der vereinbarten Übergabe an die Nasa-Startbasis Cape Canavaral ausliefern.

Das Projektteam entschied sich bei der Entwicklung im wesentlichen für C und nicht für C++, obwohl die Softwarekomponenten objektorientiert entwickelt wurden. C++ sei vor allem wegen der inhärenten Vererbungsmechanismen viel zu schwer erlernbar. Sie verlagerten die Abhängigkeiten der Objekte in die Semantik, so daß die Entwickler bei dem Versuch, die Objekte wiederzuverwenden, hineinschauen müßten. Das aber widerspräche den Absichten objektorientierter Programmierung. Inzwischen werden die Komponenten jedoch reimplemetiert - in Java (siehe Kasten).

Eine der schwierigsten Aufgabenaber ist laut Smyth, ein Team mit Zusammengehörigkeitsgefühl und gemeinsamen Visionen zusammenzustellen. Inakzeptabel seien Leute, die keinen Teamgeist aufbrächten, unfähig seien und deren Tun nicht vertrauenswürdig erscheine. "Neun von 150 Projektmitgliedern mußten wir feuern", erschreckte Smyth das Auditorium.

Unorthodox ist auch sein Vorschlag, fachfremdes Know-how und Manpower ins Boot zu holen für den Mars Pathfinder waren das neben einem Rechtsanwalt etwa eine Bibliothekarin für die Organisation der Projektdokumentation sowie "Vollblutbürohengste", die die anderen Mitarbeiter von dem Verwaltungaufwand entlasteten.

Das alles trägt nur Früchte, wenn das Zusammenspiel gewährleistet ist. Dafür rät Smyth: "Verbrennen Sie das Organigramm. Sie brauchen keine Aristokratie im Unternehmen. Verantwortlichkeit heißt die Devise, nicht Autorität..

Java in der Unternehmens-DV

"Nur weil sich die Syntax von Java/Javascript und C/C++ ähneln, heißt das noch lange nicht, daß auch die Programme einander gleichen", räumt David Smyth, IT-Manager am Jet Propulsion Laboratory (JPL), mit einem Vorurteil auf, dem er häufig begegnet. Javascript biete Kommunikation mit anderen Fenstern und Feldprüfungen, Java dagegen Threads, Netzkommunikation und eventuell Statusinformationen. "Die Nachteile von Java? Bugs, Bugs und noch mehr Bugs", so Smyth. Auch die Programmierumgebungen bekamen ihr Fett ab.

Erstens seien sie schwer erlernbar, und zum anderen funktionierten sie nicht richtig. Trotzdem empfiehlt Smyth, besser heute denn morgen mit Java-Implementierungen zu beginnen. "Machen Sie nicht zuviel, die Sprache ist noch immer zu langsam. Statt dessen nutzen Sie Java für kontextsensitive Hilfefunktionen, für ausgeklügelte Manipulationen von Daten im Binärformat, für die Datenströme, die an den Client gehen, und bei mehreren Internet-Protocol- Verbindungen."

Den richtigen Ansatz wählt man laut Smyth mit der Hypertext Markup Language (HTML) und der Interpreter-Sprache Perl. Bei fortgeschrittenem Projekverlauf sollten zunächst Java-Komponenten zur Interak- tion und dann für aktive Server-Verbindungen sowie für die Datenmanipulation hinzugefügt werden.

Zusätzlichen Rat erteilt Smyth bezüglich Betriebssysteme: "Schauen Sie sich Macintosh-Rechner an. Dort gibt es die besten grafischen Tools und die beste Java-Performance. Außerdem schaffen Sie sich Unix an. Darauf läuft Java gut, und die Systeme eignen sich als Web- und Datenbank-Server." MS-Technik schmettert Smyth ab. Zwar stammten rund 60 Prozent aller Hits auf Web-Servern von Windows- Clients, aber die Microsoft-Technik läuft nur auf einer Plattform, nämlich Windows. Offene Technologie unterstützt dagegen alle - einschließlich Windows.