# OSGi Bibliothek für alle



## Siassei (21. Nov 2010)

Hallo,

gleich noch mal was. In diversen Blogs, Bücher, .. heist es am Anfang immer, dass man die Ausführungsumgebung beeinflussen kann. Jetzt sieht es für mich so aus, als wäre standardmäßig die Java-Umgebung gewählt.

Jetzt würde ich gerne die Scala-Bibliotheken (+ eine eigene) zu dieser Standardumgebung hinzufügen.
Geht das jetzt nur per Bundle oder kann man dies auch noch anders erledigen?

Achja, in diesem Zusammenhang fählt mir gerade ein, dass man
- Modules
- Life Cycle Layer
definiert. Auf der offiziellen Seite
OSGi Alliance | About / OSGi Technology
redet man bei Modules von classes and resources. Beim Life Cycle Layer hingegen von Bundles. Ist das nun das gleiche bzw. sind Bundles "Module + Verwaltung"?
Wenn nicht, dann wäre es doch sinnvoll die Scala-Library über Modules einzubinden.

Ihr seht schon, ich stehe noch ganz am Anfang. Aber wäre trotzdem um etwas Unterstützung dankbar.

Gruß,
  Thomas


----------



## Gelöschtes Mitglied 5909 (21. Nov 2010)

Scala Blog: OSGi matters! - Scala libraries as OSGi bundles

https://github.com/weiglewilczek/scalamodules

// EDIT:

Scala 2.8.1 liegt bereits als oSGi Bundles vor, von daher musst du das nur verwenden und fertig 

// Edit2: mh ne doch net. nur die tools aus der scala-compiler.jar. Strange


----------



## Gelöschtes Mitglied 5909 (21. Nov 2010)

Ich hab mal wieder viel zu schnell gepostet, ohne mir das durchzulesen.

Auf der ersten Seite sind die Links tot, und das zweite ist ne Scala DSL für OSGi.

Im Spring bundle Repository findet man leider kein scala, aber auf der scala-tool.sorg seite.

Index of /repo-releases/org/scala-lang-osgi/

Leider ist das nur v 2.7.7.

Du kannst dir aber z.b. in Eclipse aus den Scala 2.8.1 jars OSGi Bundles machen:

New -> Plugin from existing jar


----------



## Siassei (21. Nov 2010)

raiL hat gesagt.:


> Ich hab mal wieder viel zu schnell gepostet, ohne mir das durchzulesen.


Trotzdem danke. Hat mir sehr geholfen 



raiL hat gesagt.:


> Du kannst dir aber z.b. in Eclipse aus den Scala 2.8.1 jars OSGi Bundles machen


Etwas Offtopic, aber ich nutze dazu maven. Ich möchte mich nicht auf eine IDE festlegen und das klapt bis jetzt sehr gut.

Eine Frage würde ich hier gerne noch anschließen.

Ich möchte gerne OSGi mit Glassfish verwenden. Ein Beispiel findet sich auf OSGi - GlassFish - wikis.sun.com
und zwar das hier Arun Gupta, Miles to go ...: Screencast #32: OSGi-enabled Java EE Applications using NetBeans and GlassFish
Die benutze ich nun ein wenig zum testen. Leider habe ich damit noch ein Problem.

Wie kann ich maven mitteilen (z.B. in der Eltern-POM), dass ich alle Teile nach einer erfolgreichen Erstellung auf dem GlassFish-Server haben möchte. Irgendwie komme ich da auf keinen grünen Zweig :-( 
Welches Modul benötige ich hierfür? Leider finde ich da nichts nützliches. Ein kleines Beispiel aus einem Blog wäre interessant.

Gruß, Thomas

Beim akt. Glassfish (OpenSource, 21.11.2010 download & installiert) lassen sich die OSGi-Pakete (z.B. Adminconsole) nicht installieren. Grund ist ein Versionskonflikt von Abhängigkeiten


----------



## Gelöschtes Mitglied 5909 (22. Nov 2010)

Wieso willst du eine OSGi App auf einem fetten Application Server laufen lassen?

Aus meiner Sicht gibt es drei Varianten:

Wenn du einen Webcontainer brauchst:

Gemini Web OSGi Runtime - Home              (Das wird die Referenzimplementierung eines Servlet Containers in OSGi)

Virgo OSGi Runtime - Home                       (Ehemals Spring DM Server, aber auch recht schwergewichtig)

Apache Karaf -- Index                              (Ehemals ServiceMix Kernel, super OSGi Runtime, ohne Webcontainer)

In Karaf kannst du aber auch den Gemini Web Container schmeißen.


----------



## Siassei (25. Nov 2010)

raiL hat gesagt.:


> Wieso willst du eine OSGi App auf einem fetten Application Server laufen lassen?


Das frage ich mich derzeit auch  

Ähm, eigentlich dürfte ein Web-Container reichen. Mal sehen. Gibt es irgendwo eine gutes Dokument zu Web, EBJ und RichClient mit OSGi?


----------

