Aber noch nicht Java-2-konform

Apptivity 3.0 erleichtert die Web-Programmierung

04.06.1999
"Apptivity", ein Web-Applikations-Server der ersten Stunde, liegt seit kurzem in der Version 3.0 vor. In der neuesten Ausführung aktualisierte Progress seine Middleware um Unterstützung für Enterprise Javabeans, vereinfachte die Entwicklung von Corba-Objekten und wertete die Programmierumgebung auf. Thomas Nitsche* gibt einen Überblick über die Fähigkeiten des Produkts.

Die vielleicht signifikanteste Neuerung der Version 3 verbirgt sich hinter dem Begriff "Smart Adapters". Damit bezeichnet Progress ein Framework, das speziell auf die Nutzung nicht relationaler und mit Java Database Connectivity (JDBC) inkompatibler Datenquellen zugeschnitten ist. Darunter fallen zwar auch XML-Dateien oder proprietäre Formate, in erster Linie dient diese Technik aber zur Anbindung von Altanwendungen und betriebswirtschaftlicher Standardsoftware an das Web. Nur über diese Fähigkeit kann der noch recht neue Middleware-Typus des Web-fähigen Anwendungs-Servers seinen Anspruch als Integrationsplattform einlösen.

"Portal"-Funktionen stehen im Vordergrund

Die wichtigsten Konkurrenten von Progress können ähnliche Techniken vorweisen, bei Suns "Netdynamics" heißen sie beispielsweise Platform Adapter Components (PACs). Diese Vermittlerfunktion zwischen Bestehendem und dem Internet und Intranet vermarkten ihre Anbieter mittlerweile als die eines "Enterprise-Portals". Progress bietet solche Smart Adapters in Zusammenarbeit mit Partnern bereits an und arbeitet an einer Reihe weiterer. Zu diesen Modulen gehören solche für Peoplesoft, SAP R/3, "QAD MFG/Pro", "Bea Tuxedo" und "IBM Cics". Sie zählen allerdings nicht zum Lieferumfang und müssen gesondert gekauft werden.

Die Anstrengung aller Anbieter von Java-basierten Applikations-Servern gilt momentan der Umsetzung von Suns Spezifikation der Enterprise Javabeans (EJB). Gleichauf mit "Netdynamics 5.0" und "Bea Weblogic 4.0" ist Apptivity 3.0 eines der ersten Produkte, in denen dies realisert wurde. Als Hauptvorteil der EJB-Unterstützung gilt, daß sich Entwickler auf die Programmierung der Geschäftslogik konzentrieren können und sich nicht auf Basisfunktionen wie Threading oder Transaktionssicherheit konzentrieren müssen.

Um Apptivity 3.0 auch für unternehmensweite Anwendungen zu positionieren, verfügt der Applikations-Server über Leistungsmerkmale, die inzwischen als Standard in diesem Marktsegment gelten. Hierunter fallen dynamische Lastverteilung, ein fein abstufbares Sicherheitskonzept und Corba-Unterstützung. Für letztere gehört der Object Request Broker (ORB) "Orbix Web" von Iona zum Lieferumfang.

Auffallend ist, daß der Applikations-Server in der Version 3.0 in mehrere Komponenten zerlegt wurde. Kernstück ist der "Component Manager", der für alle datenbankrelevanten Aufgaben zuständig ist und der die Geschäftslogik in Form von Enterprise Javabeans abarbeitet.

Der "Distribution Manager" organisiert beliebig viele Component Manager zu einem Cluster und garantiert Lastverteilung, indem er eingehende Anfragen auf alle verfügbaren Prozesse gleichmäßig verteilt. Wenn Client und Server über eine Firewall in Verbindung treten müssen, empfiehlt sich dafür die Nutzung des mitgelieferten "Proxy Managers".

Dieser richtet außerhalb der Firewall Stellvertreterobjekte für die auf dem Server abgelegte Geschäftslogik ein und reicht ankommende Anfragen an diesen weiter. Er kann aus Sicherheitsgründen nicht von außerhalb der Firewall konfiguriert werden. Daneben beherrscht Apptivity die Secure Sockets Layer (SSL) und HTTP-Tunneling.

Auf seiten der Entwicklungsumgebung fallen vor allem zwei Änderungen ins Auge. Zum einen lassen sich jetzt Versionsverwaltungsprogramme wie Microsofts "Source Safe" in die Entwicklungsumgebung integrieren, um so Teams bei der Programmierung zu unterstützen. Die Arbeit erleichtern sollen zudem eine Vielzahl von Wizards, die besonders die ersten Schritte beim Entwurf einer Anwendung vereinfachen. Darunter fallen etwa ein Corba-Wizard zum Lokalisieren und Initialisieren benötigter Corba-Objekte und ein Businessbean-Wizard zur Nutzung von Enterprise Javabeans. Weitere Wizards, etwa für Java-GUIs oder HTML-Formulare, ergänzen die Entwicklungsumgebung zu einem zeitgemäßen RAD-Tool.

Anderseits macht sich der Rückstand in der Java-Unterstützung bei der Erstellung von Front-ends bemerkbar. Auf der Client-Seite kommt wahlweise ein Java- oder ein HTML-Interface zum Einsatz. Die vom Browser unterstützte HTML- oder Java-Version stellt ein eigenes Servlet fest. Für Java-Benutzeroberflächen setzte Apptivity seit jeher nicht das "Java Abstract Windows Toolkit" (AWT) ein, sondern Netscapes "Internet Foundation Classes". Mit Java 2 erhob Sun aber die reichhaltigeren Swing-Klassen zum Standard, die erst später Eingang in Apptivity finden werden. Hier sind möglicherweise noch Schwierigkeiten beim Umstieg zu erwarten.

Trotz seiner umständlichen Bedienung kann die neue Version des Debuggers als fortschrittlich angesehen werden. Diese abgespeckte Ausführung des hauseigenen "Protospeed" ist darauf ausgelegt, verteilte Anwendungen zu analysieren. So ist es möglich, sich in einen laufenden Prozeß auf dem Applikations-Server einzuklinken und ihn zu überwachen. Da Web-Applikationen mittlerweile eine große Komplexität erreichen können, sollten solche Debugging-Tools eigentlich zur Standardausstattung von Entwicklungswerkzeugen zählen.

Andere Liga

Apptivity läßt sich nicht mit Java-Entwicklungswerkzeugen vergleichen wie beispielsweise "Borland Jbuilder" oder Symantecs "Visual Café". Vielmehr will Progress mit seinem Produkt eine Java-basierte Infrastruktur bereitstellen, wie sie von transaktionsorientierten Anwendungen im Intra- oder Internet benötigt werden. Diese Aufgabe übernimmt der Applikations-Server, der Features wie Load-Balancing, Session-Management, Connection-Pooling und Datenbank-Caching beherrscht. Darüber hinaus unterstützt er die Objektmodelle Enterprise Javabeans und Corba. Im Vergleich zu den genannten Allzweck-Tools ist die Entwicklungsumgebung von Apptivity eingeschränkt, dafür aber eng mit der Middleware integriert.

*Thomas Nitsche arbeitet als freier Autor in München.