Apache Karaf
Apache Karaf ist eine modulithische Laufzeitumgebung, die mehrere Frameworks und Programmiermodelle (REST/API, Web, Spring Boot, ...) unterstützt. Sie bietet fertige Funktionen, die Sie ohne Aufwand direkt nutzen können, verpackt als mutable oder immutable Anwendung.
Übersicht
- Hot Deployment: Karaf unterstützt das Hot Deployment von Anwendungen (im deploy-Verzeichnis).
- Dynamische Konfiguration: Karaf verwendet einen zentralen Ort (etc-Verzeichnis) für die Konfiguration (in verschiedenen Formaten, Properties, JSON) und kann an bestehende Konfigurations-Backends angebunden werden.
- Logging-System: Karaf nutzt ein zentrales Logging-Backend, das von Log4J unterstützt wird, und unterstützt eine Reihe verschiedener APIs (JDK 1.4, JCL, SLF4J, Avalon, Tomcat, ...)
- Provisioning: Die Bereitstellung von Bibliotheken oder Anwendungen kann auf verschiedene Arten erfolgen, wobei sie lokal heruntergeladen, installiert und gestartet werden. Es interagiert mit dem Resolver, um die erforderlichen Komponenten automatisch zu installieren.
- Erweiterbare Shell-Konsole: Karaf bietet eine komfortable Textkonsole, mit der Sie die Dienste verwalten, neue Anwendungen oder Bibliotheken installieren und deren Status verwalten können. Diese Shell ist leicht erweiterbar, indem Sie zusammen mit neuen Features oder Anwendungen dynamisch neue Befehle bereitstellen.
- Fernzugriff: Verwenden Sie einen beliebigen SSH-Client, um eine Verbindung zum Kernel herzustellen und Befehle in der Konsole auszuführen.
- Sicherheits- & ACL-Framework: basierend auf JAAS, das eine vollständige RBAC-Lösung bietet.
- Instanzverwaltung: Karaf bietet einfache Befehle zur Verwaltung von Karaf-Instanzen. Sie können über die Konsole einfach Karaf-Instanzen erstellen, löschen, starten und stoppen.
- Enterprise-Features: Karaf bietet eine Reihe von Enterprise-Features, die Sie in Ihren Anwendungen nutzen können (JDBC, JPA, JTA, JMS, ...).
- HTTP-Dienst: Karaf bietet einen voll funktionsfähigen Webcontainer, der das Bereitstellen Ihrer Webanwendungen ermöglicht.
- REST & Services: Karaf unterstützt verschiedene Service-Frameworks wie Apache CXF, sodass Sie Ihre Dienste einfach implementieren können.
- Karaf-Erweiterungen: Das Karaf-Projekt ist ein komplettes Ökosystem. Die Laufzeitumgebung kann durch andere Karaf-Teilprojekte wie Karaf Decanter, Karaf Cellar, Karaf Cave, ... erweitert werden.
- Third-Party-Erweiterungen: Karaf ist eine unterstützte Laufzeitumgebung für viele andere Projekte wie Apache Camel und viele mehr.
Erste Schritte
Für eine Apache-Karaf-Quellverteilung lesen Sie bitte BUILDING.md für Anweisungen zum Erstellen von Apache Karaf.
Für eine Apache-Karaf-Binärverteilung lesen Sie bitte RELEASE-NOTES.md für Installationsanweisungen und eine Liste der unterstützten und nicht unterstützten Funktionen.
Das PDF-Handbuch ist der richtige Ort, um alle Informationen über Karaf zu finden.
Die Beispiele bieten eine Reihe von schlüsselfertigen Minimalanwendungen, die Sie in Apache Karaf bereitstellen und nach Belieben erweitern/als Vorlage verwenden können.
[NOTE]
Windows-Benutzer sollten 7zip oder ein anderes Entpackprogramm verwenden, um Dateien mit mehr als 255 Zeichen zu unterstützen.
Kontakt
Um sich an Apache Karaf zu beteiligen:
Wir haben auch einen Beitragsleitfaden.
Vielen Dank, dass Sie Apache Karaf nutzen.
Das Apache Karaf Team