Ein portables Konfigurationssystem für Java SE-, ME- und EE-Umgebungen

Was ist Apache Tamaya?

Michael Thomas
Apache Tamaya-Logo (© Apache Software Foundation)
Titel

Apache Tamaya

Hersteller

Apache Software Foundation

Lizenz

Apache 2.0

Download
Link

Konfiguration ist ein übergreifendes Problem, dem nach wie vor ein allgemeiner Standard fehlt. So ist Java EE 7 beispielsweise in den meisten Bereichen nur während der Build-Time der bereitgestellten Artefakte konfigurierbar. Insbesondere eine dynamische Bereitstellung von Ressourcen oder eine Runtime-Konfiguration werden nicht unterstützt und sind in vielen Fällen nur dann möglich, wenn der zugrunde liegende Anwendungs-Server manipuliert wird. Andererseits macht es auch wenig Sinn, für Java EE und Java SE zwei separate Konfigurationslösungen heranzuziehen. Vielmehr wäre es von großem Vorteil, über ein vereinheitlichtes Konfigurationsmodell zu verfügen, dass flexibel genug ist, um sowohl in Java SE, als auch in EE und ME einsetzbar zu sein.

In diese Richtung zielt Apache Tamaya: Bei dem seit kurzem im Apache Incubator befindlichen Projekt handelt es sich um eine portable – d.h. Server-übergreifende – Konfigurations-Lösung für komplexe Anwendungsszenarien. Neben einem Typen-sicheren, Property-basierten Konfigurations-API bietet Tamaya ein leistungsfähiges Umgebungsmodell und eine flexible SPI.

Komponenten

Tamaya verfügt über ein modulares Design, das insgesamt vier Bausteine umfasst.

Der API-Baustein enthält ein komplettes API und SPI mit Schnittstellen für Configuration, Environment, PropertyProvider und den Bootstrap-Mechanismus des Frameworks.

Der Core-Baustein implementiert eine auf Java SE basierende Minimal-Version des API. Da das API keine externen Abhängigkeiten aufweist, kann es direkt angesprochen und als Artefakt konsumiert werden. Als gültige Eingabeformate werden von Haus aus _.-Properties, .xml-Properties und .ini-Dateien unterstützt. Außerdem kann das Core-Modul Konfigurations-Ressourcen aus dem Classpath, dem Dateisystem und jeder durch eine URL adressierbaren Ressource lesen. Eine zusätzliche Environment-Implementierung kann CLI-Argumente sowie System- und Environment-Properties in eine Root-Umgebung mappen.

Der Modules-Baustein umfasst Extensions und Adapter, um Tamaya in andere Frameworks wie Apache Commons Configuration oder Spring zu integrieren sowie zusätzliche Helfer-Module, die Entwickler bei der Zusammensetzung komplexer Meta-Modelle aus einfacheren Providern unterstützt. Zudem enhält er verschiedene vorkonfigurierte Umgebungsmodelle und umgebaute Konfigurations-Meta-Modelle.

Der Documentation-Baustein schließlich enthät mehrere Dokumentationen im AsciiDoc-Format.

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.