
Das IT-Magazin der ORDIX AG mit Fachbeiträgen zu Datenbanken, Unix und Java/XML.
Da JBoss in reinem Java implementiert ist, ist er ebenso plattformunabhängig wie Java selbst.
JBoss ist der erste Open Source Application Server, der von Sun für J2EE 1.4 zertifiziert wurde (unter Links).
Ein Teil der unterstützten Standards kann der Abbildung 1 entnommen werden.
| Spezifikation/Standard | WebSphere 5 (Stand 05/04) |
JBoss 4.0 (Stand 11/04) |
Borland ES 5.2.1 | BEA Weblogic | Oracle AS |
|
CORBA |
X |
v2.3.1 |
|
|
|
|
EJB |
v2.0 |
v2.1 |
|
|
|
|
IIOP |
X |
durch CORBA |
|
|
|
|
J2EE |
v1.3 |
v1.4 |
|
|
|
|
JAAS |
v1.0 |
v1.0 |
|
|
|
|
JAF |
1.2 |
v1.0 |
|
|
|
|
JAXP |
1.1 |
v1.2 |
|
|
|
|
JAXR |
X |
v1.0 |
|
|
|
|
JAX-RPC |
1.0 |
v1.1 |
|
|
|
|
JCA |
v1.0 |
v1.5 |
|
|
|
|
JCE |
X |
durch J2SE 1.4 |
|
|
|
|
JDBC |
v2.0 |
durch J2SE 1.4 |
|
|
|
|
JMS |
v1.0 |
v1.1 |
|
|
|
|
JMX |
X |
v1.2 |
|
||
|
JNDI |
X |
v1.2.1 |
|
||
|
JSP |
v1.2 |
v2.0 |
|
||
|
JSSE |
X |
X |
|
||
|
JTA |
v1.0 |
v1.0.1B |
|
||
|
LDAP |
X |
durch jndi |
|
||
|
RMI |
X |
X |
|
||
|
Java Servlets |
v.2.3 |
v2.4 |
|
||
|
Java Mail |
1.2 |
v1.3 |
|
||
|
SAAJ |
1.1 |
v1.2 |
|
||
|
SOAP |
1.1 |
v1.1 |
|
||
|
UDDI |
2.0 |
v2 |
|
||
|
WSDL |
1.0 |
v1.1 |
|
||
|
X.509 |
X |
durch JAAS |
|
||
|
XML |
X |
X |
|
| Abb. 1: Überblick über unterstützte Spezifikationen und Standards bei WebSphere 5 und JBoss. Die anderen Application Server werden in den nächsten Teilen dieser Reihe analysiert. |
Von der Konkurrenz grenzt sich JBoss auch durch das von ihm unterstützte neue Themenfeld der "aspect orientation" (AO) ab. Es verspricht den Entwicklern stark vereinfachte Entwicklungsmodelle, ohne Service-Funktionen zu opfern. Im Kern geht es darum, auf der Stufe von Application Servern, Java-Objekte dynamisch zur Laufzeit ohne zusätzliche Codierung um Funktionalitäten anzureichern oder vorhandene Funktionalitäten zu ändern. Dies können zum Beispiel Funktionen wie Clustering, Persistenz, Transaction, Security oder Distributed Cash sein. Diese und weitere sogenannte "Aspekte" stellt JBoss 4.0 dem Entwickler bereits zur Verfügung.
Der von JBoss genutzte EJB-Container ist kompatibel zum EJB Standard 2.1. Da die JBoss Group im Java Community Process (JCP) mitwirkt und im Rahmen einer Expertengruppe (JSR 220) an der Gestaltung der neuen EJB 3.0 Spezifikation mitwirkt, ist abzusehen, dass der JBoss Community neue EJB-Features zeitnah bereitgestellt werden.
JBoss implementiert mit dem J2EE 1.4 Standard auch die neuen "J2EE Web Services". Dem Entwickler ermöglicht dies z. B. über Firewallgrenzen hinweg über den normalen Web-Port Remote-Procedure-Calls als XML-verpackte Nachrichten aufzurufen (JAX-RPC). Die JBoss-Implementierung (JBossWS) basiert dabei auf dem ausgereiften "Apache Axis" als unterliegendes "web service framework".
Bei der Administration des Systems kommt immer wieder der Grundgedanke der einfachen Handhabung ins Blickfeld.
Der JBoss-Entwickler muss sich keine Gedanken über RMI-Stubs und -Skeletons machen, wenn er neue Komponenten verteilen will. Die Komponenten-Archive müssen lediglich in das passende Deploy-Verzeichnis des laufenden JBoss kopiert werden und schon ist die jeweilige EJB zugreifbar. Intern wird dies möglich, da von Anfang an Features wie dynamische Proxies und Hot Deploy/Hot Redeploy in den Application Server integriert wurden.
Der Microkernel von JBoss ist auf dem J2EE-Standard zum Management verteilter Java-Applikationen aufgebaut (JMX). Somit können alle Komponenten von der eigenen EJB bis zum Verhalten im Cluster über eine einheitliche Schnittstelle gesteuert werden. Einheitliche Standards wie SNMP, WBEM oder HTTP erleichtern die Steuerung. JBoss entspricht dabei auch den Anforderungen einer Service-orientierten Architektur (SOA). Als Beispiel für deren Akzeptanz sei erwähnt, dass Novell seinen internen Application Server in seinen Portallösungen ab 2005 komplett durch JBoss ablösen will.
Im Cluster lässt sich jedes Java-Objekt ausfallsicher und lastverteilt verwalten. Neben EJBs, JMS und HTTP lassen sich sämtliche Arten von Java-Objekten verwalten – so auch die guten alten "POJOs" (Plain Old Java Objects). Besondere Features sind auch die automatische Erkennung von neuen Knoten im Cluster, oder "farming" bzw. "distributed Deployment" von JBoss-Komponenten.
JBoss fällt unter die GNU Lesser General Public License (LGPL). Somit fallen für den Anwender keinerlei Lizenzkosten zur Nutzung des Produkts an. Die "JBoss Group", die das Produkt vertreibt, erwirtschaftet ihre Umsätze durch kommerzielles Coaching und Consulting – Mailinglisten und Foren sind die preiswerte Alternative. Die Handbücher zum Server sind mit weniger als 10 $ kostenpflichtig. Eine gute Onlinedokumentation und Tutorials erleichtern jedoch den schnellen Einstieg. Der Support wird durch eine stetig wachsende Schar an "JBoss Authorized Service Partner"-Firmen ständig erweitert. Mehr als 100.000 Downloads verzeichnet die JBoss Group jeden Monat.
Mit dem JBoss 4.0 ist neben Linux und Apache ein weiteres Beispiel für eine gute Open Source-Alternative erwachsen. Kein anderer Application Server hat eine ähnlich hohe Zuwachsrate, gemessen an der Zahl der Produktivinstallationen. Wer sich dafür interessiert, in welchen kommerziellen Produkten JBoss mit Erfolg eingesetzt wird, sei auf die JBoss-Webseite (unter Links) verwiesen. Bevor Sie die Entscheidung für einen Application Server treffen, sollten Sie sich den JBoss einmal näher anschauen.
Lesen Sie als Entscheidungshilfe auch die nächsten Teile unserer Reihe. Wir werden uns mit Borland ES, BEA Weblogic und natürlich auch mit dem Oracle AS beschäftigen, dessen Bedeutung in den letzten Monaten erheblich zugenommen hat.
Holger Bartnick (info@ordix.de).