# OSGI und Datemodell



## Andreas29 (9. Jun 2010)

Hi Leute,

Ich beschäftige mich gerade mit Spring Dynamische Modules und wollte mir dafür ein kleines Beispielprojekt aufbauen. Das sieht so aus:
Datenmodell - hier wollte ich meine Entities mitsamt dem Mapping auf die Datenbank unterbringen.
Core - hier befinden sich die Service-Methoden, die dann die Entities nutzen und manipulieren.
Webservice - eine kleine schmale Facade, die die Webserviceaufrufe entgegen nimmt u an den core weiterleitet.
Client - der Client, der die Webservice-Schnittstelle nutzt, um dem anwender die daten zu präsentieren.

Das Datenmodell sieht für mich jetzt weniger wie ein Service a la OSGI. Sprich, ich denke momentan darüber nach, mein Datenmodell in ein einfaches jar zu packen u als maven dependency im core einzutragen. Ist das ein sauberes design im Sinne von OSGI?

Vielen dank für jeden Tipp,
Andreas


----------



## Noctarius (9. Jun 2010)

Generell sollte man Non-OSGi-Abhängigkeiten vermeiden wo immer es geht (so zumind. mein Verständnis von OSGi).


----------



## maki (9. Jun 2010)

OSGi Bundles müssen keine OSGi Services enthalten 
Das Felix Plugin erstellt dir das Bundle inkl. Manifest, oder du nimmst das SpringDM 2.0 Plugin dafür, kenne ich persönlich aber nicht.


----------



## Noctarius (9. Jun 2010)

Achso, hatte verstanden ob er einfach nur ein normales JAR nehmen kann / soll, für mich war die frage nicht ob ein Bundle zwangsweise Services enthält.


----------



## maki (9. Jun 2010)

Mein Post war an den TS gerichtet, hatte ihn so verstanden: Weil es keine OSGi Services gibt, sollte es kein OSGi Bundle sein.


----------



## Noctarius (9. Jun 2010)

Ok noch mal nachgelesen, denke wir haben beide Recht. Er fragt ob ein normales JAR machen kann / soll / darf weil das Datenmodell kein typisches OSGi Bundle mit Services wäre, stimmt 

Ich versuche die Antworten noch mal eben zu kombinieren:
Ein OSGi Bundle muss nicht zwangsweise Services enthalten. Ein Bundle ist wie ein JAR-File eine Ansammlung von Klassen und Zusatzinformationen (Manifest). Ich kenne es prinzipiell nur so, dass man Abhängigkeiten zu nicht Bundles möglichst vermeiden sollte, geschweige denn diese selber erzeugen.
Wie maki bereits angemerkt hat, kannst du mit dem Felix Bundle Plugin direkt in Maven ein Bundle erzeugen (dieses Bundle ist dann ein etwas aufgemotztes Standard-Java-JAR).

@maki:


maki hat gesagt.:


> Mein Post war an den TS gerichtet


war mir schon klar


----------

