J2EE-Umgebung samt Ökosystem

J2EE-Umgebung samt Ökosystem

5. Dezember 2008 - Suns J2EE-Applikationsserver Glassfish ist nicht nur Referenzimplementation des aktuellen J2EE-Standards, sondern auch eine leistungsfähige Plattform für den Alltag.
Artikel erschienen in IT Magazine 2008/22

D ie J2EE-Umgebung dient zur Entwicklung verteilter Geschäftsanwendungen. Ein J2EE-Applikationsserver stellt dabei die Laufzeitumgebung für Softwarekomponenten (dies umfasst Lifecycle Management und Deployment) sowie verschiedene Services (Transaktionen, Security, Namens- und Verzeichnisdienste, Persistenz-Mechanismen) zur Verfügung. Weiter wird ein Web-Container angeboten, der Unterstützung für Servlets und Java Server Faces bietet. Das Komponentenframework ist explizit auf ver­teil­te Komponenten ausgelegt und bietet entsprechende Remoting-Methoden und Schnittstellen zu Messaging Middleware (JMS) sowie Webservices an. Das Management von Komponenten erfolgt über die standardisierte Java Management Extension.



Ein grosser Vorteil der Jave 2 Enterprise Edition gegenüber beispielsweise .Net von Microsoft ist die Tatsache, dass J2EE ein offener Standard ist, der von vielen verschiedenen Anbietern, Open Source wie proprietär, implementiert wird. Dadurch ist auch eine Austauschbarkeit des Middleware-Anbieters leichter möglich: Es gibt tatsächlich eine grosse Anzahl an J2EE-Applika­tionsservern, darunter einige bekannte proprietäre Varianten wie Websphere von IBM oder Weblogic von Bea beziehungsweise Oracle. Im Open-Source-Umfeld sind vor allem JBoss sowie das Glassfish-Projekt (Sun) und Geronimo (Apache) zu nennen.



In den ersten Versionen hatte die J2EE-Umgebung (jedenfalls bei den meisten Programmierern) aber keinen sehr guten Ruf. Anwendungen, die mit früheren Versionen entwickelt wurden, enthielten ein hohes Mass an Konfigurations-Code, das Zusammenspiel der verschiedenen Komponenten sowie die Architektur waren oft sehr schwierig zu verstehen. Die Einarbeitungszeit in die Plattform stand folglich oft in keinem guten Verhältnis zum Nutzen der Plattform. Andere leichtgewichtige Komponententechnologien wie das Spring-Framework hatten vor diesem Hintergrund daher ein vergleichsweise leichtes Spiel. Mit den neueren Versionen, vor allem J2EE 5, hat sich dies allerdings deutlich geändert. Die neue J2EE-Version wurde sehr gründlich überarbeitet und es wurde auf Kritik von Entwicklerseite reagiert:



- Statt komplexen Konfigurationsdateien kommen nun Java-Annotationen zum Einsatz.



- Parallel kommt das «Convention over Configuration»-Paradigma zur Anwendung; also die Idee, dass das System vernünftige Vorgaben macht, mit denen man schnell und leicht starten kann und diese nur ändert, wenn es wirklich erforderlich ist. Im Gegensatz dazu standen umfangreiche Konfigurationen bei früheren Versionen.



- Es wird Dependency Injection unterstützt – ein Pattern, das flexibles Lifecycle-Management, Wiederverwendbarkeit und Konfiguration von Komponenten erlaubt.



- Dank Unterstützung Aspekt-orientierter Pro­grammierung wird es leichter, Funktionen wie Security, Logging oder Transaktionen, die viele Teile einer Anwendung betreffen, unabhängig von bestimmten Modulen zu entwickeln und wiederzuverwenden.



- JPA, also die Java Persistence API, wird unterstützt.
Dank dieser Modifikationen ist die Verwendung von J2EE erheblich einfacher.


Glassfish-Applikationsserver

Im Open-Source-Umfeld dominierte bisher sicherlich die «Produktlinie» von JBoss, dies aber vielleicht nicht mehr ganz zu Recht: Denn mit Glassfish gibt es eine sehr leistungsfähige Alternative. Glassfish ist ein Applikationsserver, der von Sun initiiert und zum Grossteil auch implementiert wurde. Zunächst war Glassfish im wesentlichen die Referenzimplementation des J2EE-5-Standards, hat sich aber mittlerweile auch zu einem sehr leistungsfähigen Produktionssystem entwickelt, bei dem man immer von der Unterstützung der aktuellen J2EE-Standards profitiert. Glassfish kann in einem von zwei Lizenzmodellen verwendet werden: als Open-Source-Produkt unter der CDDL (Common Development and Distribution License) sowie in einer kommerziellen Variante von Sun, die entsprechenden Support beinhaltet.
Die wesentlichen Persistenz-Komponenten in Glassfish, die die Java Persistence API (JPA) implementieren, werden in den Produktionsversionen durch das Toplink-Framework bereitgestellt. Toplink war früher ein proprietäres Produkt der Firma Oracle und wurde dann der Open-Source-Community um Glassfish zur Verfügung gestellt.



Die Glassfish-Projekt-Familie

 
Seite 1 von 3

Neuen Kommentar erfassen

Anti-Spam-Frage Wieviele Zwerge traf Schneewittchen im Wald?
Antwort
Name
E-Mail
SPONSOREN & PARTNER