- Jakarta Commons
-
Apache Commons ist ein Projekt der Apache Software Foundation mit der Zielstellung, allgemein verwendbare Klassenbibliotheken für die Programmiersprache Java zu erstellen. Da die Bibliotheken unter der Apache License Version 2.0 stehen, können sie auch in kommerziellen Projekten verwendet werden. Die Schwerpunkte liegen dabei auf der Unabhängigkeit von anderen Bibliotheken und für Server relevante Funktionen. Vor einer Umstrukturierung der Stiftung wurden die Bibliotheken unter dem Namen Jakarta Commons entwickelt.
Inhaltsverzeichnis
Strukturierung
Da das Projekt aus sehr vielen einzelnen Bibliotheken besteht, die sich auf ein sehr begrenztes Aufgabenfeld beschränken, werden diese projektintern nach ihrem Reifezustand unterschieden. Bibliotheken die den Status "Component" (engl. Bestandteil) erreicht haben sind offizieller Bestandteil der Commons. Projekte die bereits funktionsfähig sind, aber noch nicht die nötigen Kriterien erfüllen werden in der "Sandbox" (engl. Sandkasten) geführt. Alle anderen Bibliotheken, die sich noch im Entwurf befinden oder deren Betreuung nicht sichergestellt ist, werden als "Dormant" (engl. schlummernd) kategorisiert.
Allgemeine Bibliotheken
Zu den wichtigsten Bibliotheken gehört „Commons Collections“, welche das Java Collections Framework um viele hilfreiche Klassen zur Verwaltung von Datenbeständen erweitert. Die Bibliothek „Commons Lang“ erweitert die Grundfunktionen des Paketes java.lang, in welchem sich die grundlegenden Klassen von Java befinden, um viele nützliche Klassen und deren Methoden. Mit Hilfe von „Commons Logging“ wird eine einheitliche API für die verschiedenen Logging-Klassenbibliotheken, wie beispielsweise log4j oder java.util.logging geschaffen. Weitere allgemeine Erweiterungen der Standardbibliotheken von Java sind unter anderen:
- Commons BeanUtils
- Commons CLI
- Commons Configuration
- Commons Math
Bibliotheken für Webanwendungen
Einige der Bibliotheken sind speziell auf Webanwendungen zugeschnitten um es Entwicklern zu erleichtern häufig wiederkehrende Aufgaben mit geringen Aufwand umzusetzen. So stellt "Commons Net" viele bekannte Protokolle wie FTP, POP3 oder Telnet zur Verfügung, während "Commons FileUpload" für Servlets und Webanwendungen einen einfachen Mechanismus für das Hochladen von Dateien bereitstellt. Die folgende Auflistung zeigt einige weitere für Webanwendungen interessante Bibliotheken:
- Commons IO
- Commons Transaction
Nicht mehr dazu gehört "Commons HttpClient", da dieser Bestandteil bereits im Jahr 2004 an das übergeordnete Jakarta-Projekt übergeben wurde und seit 2007 sogar zu einem eigenständigen Top Level Projekt aufstieg.
Bibliotheken für XML-Verarbeitung
Da auf Servern häufig Java Beans verwendet werden bietet "Commons Betwixt" eine, in beiden Richtungen mögliche, Abbildung von XML-Strukturen auf Java Beans. "Commons Digester" ist auf die Initialisierung von Java Objekten aus XML-Daten spezialisiert, während "Commons Jelly" die Ausführung einer XML-basierten Skriptsprache ermöglicht.
Literatur
- Henrik Hörning, Reidar Hörning, Torsten Curdt: Jakarta Commons. 1. Auflage. Software & Support, Dezember 2004, ISBN 3935042604 (367 Seiten).
- Timothy O'Brien: Jakarta Commons Cookbook. 1. Auflage. O'Reilly Media, Inc., 16. November 2004, ISBN 059600706X (400 Seiten).
- Christian Gross: Applied Software Engineering Using Apache Jakarta Commons. 1. Auflage. Charles River Media, 18. November 2003, ISBN 1584502460 (350 Seiten).
Weblinks
Wikimedia Foundation.