Apache Felix
Apache Felix
| |
---|---|
Basisdaten
| |
Entwickler | Apache Software Foundation |
Programmiersprache | Java |
Kategorie | Standard |
Lizenz | Apache License 2.0 |
felix.apache.org |
Apache Felix ist ein Open-Source-Framework für die Referenz-Implementierung der OSGi-Spezifikation. Die Codebasis wurde gespendet von OW2 aus dem Oscar Projekt.[1]
Geschichte
Im Juli 2005 wurde der Wunsch geäußert, dass auf der Codebasis von Oscar ein neues Apache Projekt gestartet werden soll. Der Code wurde von Richard Hall gespendet.[1] Oscar wurde 2004 zum ersten Mal veröffentlicht und war mit der OSGi Spezifikation Version 3 kompatibel.[2] Am 16. Juli 2007 wurde Version 1.0 veröffentlicht und das Projekt verließ die Inkubationsphase bei Apache.[3]
Unterprojekt von Apache Felix
Felix ist in Projekte unterteilt, welche auf die einzelnen Aspekte der OSGi Spezifikation eingehen:[4]
- Config Admin - Eine Implementierung der OSGi Configuration Admin-Dienstspezifikation zum Verwalten der Eigenschaften der Bundle-Konfiguration
- Dependency Manager - Ein API-basiertes Komponentenmodell zur Vereinfachung der OSGi-basierten Entwicklung
- Event Admin - Eine Implementierung der OSGi Event Admin-Dienstspezifikation für die ereignisbasierte Kommunikation
- File Install - Ein einfacher, verzeichnisbasierter Verwaltungsagent zum Verwalten der Bundle-Bereitstellung
- Framework - Eine Implementierung des OSGi R6-Kernframeworks
- Gogo - Eine erweiterte Shell für die Interaktion mit OSGi-Frameworks
- Health Checks - Ein erweiterbares Framework zur Überwachung des Status des OSGi-Containers zur Laufzeit
- HTTP-Dienst - Eine Implementierung der OSGi-Spezifikation für HTTP-Whiteboards und HTTP-Dienste
- Inventory Printer - Ein einfaches und erweiterbares Framework zum Abrufen von Inventardaten zu Anwendungen, die in einem OSGi Framework ausgeführt werden
- iPOJO - Ein ausgeklügeltes serviceorientiertes Komponentenmodell zur Vereinfachung der OSGi-basierten Entwicklung
- Protokoll - Eine einfache, speicherbasierte Implementierung der OSGi-Protokolldienstspezifikation
- Felix Logback - Apache Felix Logback ist eine kleine Integration des Logback-Backends mit OSGi
- Maven Bundle Plugin - Ein Maven-Plugin zur Vereinfachung der Erstellung von Bundles
- Maven SCR-Plugin - Ein Maven-Plugin zur Vereinfachung der Verwendung deklarativer Dienste
- Metatype - Eine Implementierung des OSGi-Metatype-Dienstes zur Beschreibung von Typen, die von Bundles benötigt werden
- OSGi-Bundle-Repository - Ein Bundle-Repository-Service, der das Erkennen und Bereitstellen von Bundles und deren Abhängigkeiten vereinfacht
- Preferences - - Eine Implementierung der OSGi-Voreinstellungsdienstspezifikation zum Speichern von Einstellungen und Voreinstellungen
- Remote Shell - Eine textbasierte Remote-Schnittstelle zur Apache Felix Shell
- Service Component Runtime - Eine Implementierung der OSGi Declarative Services-Spezifikation, die ein serviceorientiertes Komponentenmodell zur Vereinfachung der OSGi-basierten Entwicklung bereitstellt
- Shell - Ein sehr einfacher Shell-Service, der als Bundle für die Interaktion mit einer OSGi-Framework-Instanz implementiert ist
- Shell TUI - Eine einfache, textbasierte Schnittstelle zur Apache Felix Shell
- UPnP - Eine Implementierung der OSGi UPnP-Gerätedienstspezifikation für die UPnP-Geräteintegration
- Webkonsole - Ein einfaches Tool zum Überprüfen und Verwalten von OSGi-Framework-Instanzen mit ihrem bevorzugten Webbrowser.
Einsatzbereich
OSGi war ursprünglich für embedded Geräte bzw. IoT geplant.[4] Aber die Modularisierung von Java[5] und deren Umsetzung bzw. Spezifikation mit OSGi hat den Einsatzbereich erweitert, da so die Software-Entwicklung mehr Funktionalität in die Java-/Webanwendung bringen konnte.[6] Um Abhängigkeiten über JAR-Archive und Modularität zu erhalten bzw. aufzulösen kann Felix in IDE's eingebunden werden.[7]
Projekte die Apache Felix einsetzen:[8]
- Apache Karaf
- Apache ServiceMix
- Apache Sling
- Ascert VersaTest
- DySoWeb
- GlassFish
- OW2 JOnAS
- iDempiere hat es eingesetzt, ist aber gewechselt zu Eclipse Equinox[9]
- Eclipse Jetty[10]
Um mit Felix zu arbeiten wird ein eine aktuelle Programmversion benötigt.[11][12] Nach dem Auspacken des Archives kann durch einen Aufruf aus der Befehlszeile mit folgendem Befehl das Framework gestartet werden
java -jar bin/felix.jar
Literatur
Weblinks
- Felix Committee auf der Apache Webseite
- Git Repository
- Apache Felix auf Open Hub
Einzelnachweise
- ↑ Hochspringen nach: a b [proposal] Oscar OSGi Project. Abgerufen am 1. Januar 2020.
- ↑ Oscar - An OSGi framework implementation. Abgerufen am 1. Januar 2020.
- ↑ Added some documentation and the change logs to framework and main su… · apache/felix@2cd5bed. Abgerufen am 1. Januar 2020 (englisch).
- ↑ Hochspringen nach: a b Apache Felix - Welcome to Apache Felix. Abgerufen am 1. Januar 2020.
- ↑ The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 277. Abgerufen am 2. Januar 2020.
- ↑ Webkomponenten mit OSGi – einfach und elegant. In: JAXenter. 4. August 2015, abgerufen am 1. Januar 2020.
- ↑ OSGi mit Apache Felix und IntelliJ IDEA. Abgerufen am 1. Januar 2020.
- ↑ Apache Felix - Projects Using Felix. Abgerufen am 1. Januar 2020.
- ↑ ADempiere/OSGi Integration - ADempiere. Abgerufen am 1. Januar 2020.
- ↑ OSGI. Abgerufen am 1. Januar 2020.
- ↑ Apache Felix - Apache Felix Framework Usage Documentation. Abgerufen am 1. Januar 2020.
- ↑ Apache Felix - Downloads. Abgerufen am 1. Januar 2020.