2.2. Entwicklungsmodell


2.2.1. Überblick

Abbildung 2.1, »Entwicklung eines JBoss Fuse Projekts« zeigt eine Übersicht für den Build eines OSGi-Bündels oder eines Fuse Applikationsbündels, die in den Red Hat JBoss Fuse Container bereitgestellt werden.

Abbildung 2.1. Entwicklung eines JBoss Fuse Projekts

2.2.2. Maven

Apache Maven, das empfohlene Build System für JBoss Fuse, beeinflusst das Entwicklungsmodell auf die folgenden wichtigen Weisen:
  • Maven Verzeichnis-Layout—Maven besitzt ein Standard Verzeichnis, in dem Sie Ihren Java-Code, assoziierte Ressourcen, XML-Konfigurationsdateien, Einheiten-Testcode usw. platzieren.
  • Der Zugriff auf Abhängigkeiten durch das Internet—Maven besitzt die Fähigkeit, Abhängigkeiten automatisch über das Internet herunterzuladen, indem bekannte Maven Repositories heruntergeladen werden. Dies bedeutet, dass Sie Internetzugang besitzen müssen, wenn Sie Builds mit Maven durchführen. Siehe »Maven Repositories«.

2.2.3. Maven Archetypen

Eine einfache Weise, um mit dem Entwickeln zu beginnen, ist die Verwendung von Maven Archetypen, die analog zum Assistenten für ein neues Projekt ist (außer, dass es von der Befehlszeile aus aufgerufen werden muss). Ein Maven-Archetyp erstellt in der Regel ein komplettes neues Maven Projekt mit dem korrekten Verzeichnis-Layout und Beispiel-Code. Siehe zum Beispiel Abschnitt 3.1, »Erstellen eines Web-Dienst-Projekts« and Abschnitt 3.2, »Ein Router-Projekt erstellen«.

2.2.4. Maven POM-Dateien

Die Maven Project Object Model (POM) Datei, pom.xml, liefert die Beschreibung davon, wie der Build Ihres Projekts erfolgt. Die Anfangsversion eines POM wird in der Regel von einem Maven-Archetyp generiert. Sie können das POM dann nach Bedarf anpassen.
Für größere Maven Projekte gibt es zwei besondere Arten von POM-Dateien, die Sie möglicherweise ebenfalls benötigen:
  • Aggregator POM—eine komplette Applikation setzt sich in der Regel aus mehreren Maven-Projekten zusammen, die in einer bestimmten Reihenfolge erstellt werden müssen. Um den Build solcher Mehrprojekt-Applikationen zu erleichtern, ermöglicht Maven Ihnen das Definieren eines Aggregator POM, das alle diese Unterprojekte in einem einzelnen Schritt erstellen kann. Weitere Informationen finden Sie unter Abschnitt 3.3, »Ein aggregiertes Maven Projekt erstellen«.
  • Übergeordnete POM—in einer Applikation mit mehreren Projekten enthalten die POMs für die Unterprojekte oftmals viele identische Information. Die Wartung dieser über mehrere POM-Dateien verteilten Informationen wäre auf lange Sicht zeitraubend und anfällig für Fehler. Um die POMs besser verwaltbar zu machen, können Sie eine übergeordnete POM definieren, die alle geteilten Informationen enthält.

2.2.5. Java Code und Ressourcen

Maven reserviert einen Standardspeicherort src/main/java für Ihren Java-Code und für die assoziierten Ressourcendateien src/main/resources. Erstellt Maven eine JAR-Datei, so kompiliert es automatisch sämtlichen Java-Code und fügt ihn dem JAR-Paket hinzu. Ebenso werden alle unter src/main/resources gefundenen Ressourcendateien in das JAR-Paket kopiert.

2.2.6. Frameworks für die Einspeisung von Abhängigkeiten

JBoss Fuse bietet eingebauten Support für zwei Frameworks für die Einspeisung von Abhängigkeiten: Spring XML und Blueprint XML. Sie können diese einzeln oder gemeinsam benutzen. Die JBoss Fuse zugrundeliegenden Projekte (Apache Camel, Apache CXF, Apache ActiveMQ und Apache ServiceMix) bieten alle starken Support für die XML-Konfiguration. In vielen Fällen ist es sogar möglich, eine komplette Applikation zu entwickeln, die in XML geschrieben wurde, ohne dass Java-Code überhaupt eingesetzt werden muss.

2.2.7. Bereitstellungs-Metadaten

Je nachdem wie ein Projekt gepackt und bereitgestellt wird (als ein OSGi-Bündel oder ein WAR), sind unterschiedliche Dateien im JAR-Paket eingebettet, die als Bereitstellungs-Metadaten interpretiert werden können, zum Beispiel:
META-INF/MANIFEST.MF
Das JAR Manifest kann für das Liefern von Bereitstellungs-Metadaten für ein OSGi Bündel verwendet werden (in Bündel-Headern).
META-INF/maven/groupId/artifactId/pom.xml
Die POM-Datei ist normalerweise in ein beliebige Maven-erstellte JAR-Datei eingebettet.
WEB-INF/web.xml
Die web.xml Datei ist der Standard-Deskriptor für eine als Web Archive (WAR) gepackte Applikation.

2.2.8. Administrative Metadaten

Die folgenden Arten Metadaten sind Administratoren zugänglich und können von diesen angepasst oder derart verändert werden, dass sich dass Verhalten des Bündels zur Runtime ändert:
  • Apache Karaf features—eine Funktion, die eine verwandte Collection von Paketen festlegt, die gemeinsam bereitgestellt werden können. Durch Auswahl, welche Funktionen installiert (oder deinstalliert werden sollen), kann ein Administrator leicht steuern, welche Funktionsblöcke im Container bereitgestellt werden.
  • OSGi Config Admin Eigenschaften—der OSGi Config Admin Dienst legt dem Administrator zur Runtime die Konfigurationseigenschaften offen, so dass sich das Verhalten der Applikation bequem anpassen lässt (etwa durch Anpassen der TCP Port-Nummern an einem Server).
Nach oben
Red Hat logoGithubredditYoutubeTwitter

Lernen

Testen, kaufen und verkaufen

Communitys

Über Red Hat Dokumentation

Wir helfen Red Hat Benutzern, mit unseren Produkten und Diensten innovativ zu sein und ihre Ziele zu erreichen – mit Inhalten, denen sie vertrauen können. Entdecken Sie unsere neuesten Updates.

Mehr Inklusion in Open Source

Red Hat hat sich verpflichtet, problematische Sprache in unserem Code, unserer Dokumentation und unseren Web-Eigenschaften zu ersetzen. Weitere Einzelheiten finden Sie in Red Hat Blog.

Über Red Hat

Wir liefern gehärtete Lösungen, die es Unternehmen leichter machen, plattform- und umgebungsübergreifend zu arbeiten, vom zentralen Rechenzentrum bis zum Netzwerkrand.

Theme

© 2025 Red Hat