OSGi und RCP

Status
Nicht offen für weitere Antworten.

xcr

Mitglied
Hi,
ich stelle mich gerade echt blöd an aber ich finde nichts hilfreiches zu meinem Problem.

Situation:
Ich habe ein OSGi Framework mit einer kleinen Swing GUI. Nun möchte ich einfach diese GUI durch eine RCP GUI ersetzen aber ich verstehe einfach nicht wie ich eine RCP GUI nun da einbinde?!

Die alte GUI läuft einfach in einem Bundle, also dachte ich so etwas müsste ja auch mit der RCP GUI gehen allerdings wüsste ich nicht wie.

Könnte mir bitte jemand kurz auf die Sprünge helfen?

Danke :)
 

Wildcard

Top Contributor
Was ist 'die RCP' GUI? Du meinst du möchtest die Eclipse Workbench verwenden? SWT? JFace?
 

xcr

Mitglied
Ok das war schnell...

Ja ich möchte die Eclipse Workbench benutzen, das Framework gefällt mir und ich finde die Idee mit den Extension Points auch interessant aber ich habe noch keine Ahnung wie das alles genau abläuft, ich lese mich noch ein.
Das ganze soll aber am Ende kein Plugin sein sondern standalone in meinem OSGi Framework als Interaktionsmöglichkeit dienen.
(Anzeige von Daten und Auslösen von Aktionen...)

Ich habe mal testweise ein minimales RCP "product" nach diesen (und anderen) Tutorials erstellt und über diesen "launch link" auf der Overview-Seite läuft auch soweit schonmal alles:
www.linux-magazin.de/heft_abo/ausgaben/2005/08/einfach_einstecken
www.linux-magazin.de/heft_abo/ausgaben/2005/10/erstkontakt_mit_dem_user
www.linux-magazin.de/heft_abo/ausgaben/2005/12/marken_zeichen
www.linux-magazin.de/heft_abo/ausgaben/2006/02/die_eigene_sicht

Die nutzen ja dann SWT und JFace so wie ich das verstehe, zumindest habe ich beide Packages importieren müssen in der "Configuration" der "product" Datei.
Das mit dem Product ist eh noch etwas magisch momentan.
 

Wildcard

Top Contributor
SWT dürfte kein Problem in einem Bundle sein, JFace wohl auch nicht, aber die Workbench... :?
Um welches OSGi Framework handelt es sich? Weißt du, ob Eclipse überhaupt in einem OSGi Framework != Equinox lauffähig ist?
Ich zumindest habe davon noch nichts gehört
 

xcr

Mitglied
Danke für deinen Beistand, ich bin langsam verwirrt und das macht keinen Spaß ;)

Ich benutze sogar Equinox und ich vermute fast, dass ich irgendwas mit den ExtensionPoints machen muss...

Mit der Workbench meinst du doch dieses typische Layout wie es bei Eclipse und eben all diesen Applikationen zu sehen ist oder?
www.eclipse.org/community/rcpos.php
 

Wildcard

Top Contributor
Nun, wenn du Equinox verwendest, gibt es dann einen bestimmten Grund, warum du das OSGi Framework als Target Platform verwendest, anstatt einen regulären Eclipse RCP zu verwenden?
 

xcr

Mitglied
Nun, also ich habe bisher das OSGI Framework quasi "standalone" betrieben. Ich habe mir das Equinox SDK (eclipse-equinox-SDK-3.4.zip) gezogen und einfach das verwendet, weil ich von meiner IDE möglichst unabhängig arbeiten wollte.

Ok, nun möchte ich RCP hinzunehmen aber was meinst du mit der Aussage?
Das RCP SDK habe ich mir auch getrennt runtergeladen und verwende es derzeit, allerdings sehe ich noch nicht was das mit der Target Platform überhaupt zu tun hat. Dort sind doch einfach nur alle Plugins zusammengefasst die zur Verfügung stehen sollen oder?

Ich habe noch ein großes Verständnisproblem was ich eigentlich gerade nicht verstehe.
Also mein OSGi (Equinox) Framework kann ich starten, Bundles laden und manipulieren.
Die RCP Workbench starte ich derzeit über irgend einen Link oder kann sie exportieren und manuell starten (außerhalb des Equinox Frameworks).

Wie passt das zusammen? Sry ist bestimmt offensichtlich aber ich verstehe gerade den Zusammenhang nicht :/
 

xcr

Mitglied
Also nochmal ganz kurz: ich verstehe nicht, wie ich meine Workbench in einem Bundle initialisiere.
 

Wildcard

Top Contributor
RCP ist eine Eclipse Auslieferung bei der du bestimmst welche Bundles installiert sind.
Bei einem Eclipse RCP läuft im Hintergrund das Equinox Framework um die Bundles zusammen zu halten, aber RCP an sich ist kein Bundle das man in sein OSGi Framework stecken kann.
Überleg dir erstmal genau was du haben möchtest, und ob ein Eclipse RCP nicht sinnvoller ist, als das nackte Framework...
 

xcr

Mitglied
Hm ok, der Begriff "Eclipse RCP" stört mich noch etwas.

Ich hätte mir sowieso gewünscht, dass man das alles etwas gelöster von Eclipse halten würde, da man mit Eclipse zwangsweise immer die IDE in Verbindung bringt.

Allerdings habe ich mir schon etwas ähnliches gedacht. Bei der Definition des "products" kann man ja Plugins festlegen die benötigt werden. Das ist aber der falsche Ort um meine Bundles anzugeben oder?
Ich nutze declarative services und es ist zumindest schon mal keiner gestartet worden. Oder ich habe nochmal einen anderen Fehler gemacht.
 

Wildcard

Top Contributor
Eclipse ist keine IDE, sondern ein Framework. Die JDT für Eclipse sind eine Java IDE.
Naja, wenn du einen Eclipse RCP möchtest, dann reicht ein OSGi Bundle nicht aus, dann solltest du schon PlugIns erstellen (zusätzlich zum OSGi Bundle Manifest eine plugin.xml).
Die PlugIns verpackst du in einem oder mehreren Features und das Product ist am Schluß für das Branding zuständig.
 

xcr

Mitglied
Hmmm ok, ich dachte da gibt es eine elegantere Lösung als jetzt doch wieder Plugins.
Gerade sowas wollte ich nicht, da außer einem Bundle keines was mit der GUI zu tun hat.

Vielleicht mache ich doch wieder eine ganz normale Swing GUI.
Ich wollte halt diese schönen Features des variablen Layouts nutzen die aber ja sehr Eng mit dem RCP Konzept verzahnt sind...

Ok, vielen Dank für deine Mühen, ich werde jetzt abwägen wie ich weiter mache.
 

Wildcard

Top Contributor
Ich sage nicht, das es nicht möglich ist, ich weiß lediglich nicht, wie es geht.
Ich denke nur, wenn es aussehen soll wie RCP und funktionieren soll wie RCP, warum nimmt man dann nicht RCP?
 

xcr

Mitglied
Du hast sicher Recht aber mir ist es irgendwie suspekt wieso auf einmal meine Bundles, die eigentlich bis auf eines vollends unabhängig von der GUI sind umgebaut werden müssen (ich habe noch nie Plugins erstellt, keine Ahnung, muss ich morgen schauen) und augenscheinlich der GUI unterstellt werden.

Also mein Denkknoten basiert einfach darauf, dass ich mit RCP dieses grafische Framework assoziiere und ich eigentlich nur eine schöne GUI als Frontend haben möchte.
Dass ich dann quasi mein OSGi/Equinox Framework aufgebe um das nun RCP (das ich irgendwie immernoch mit einem GUI Framework assoziiere) zu übergeben, scheint mir einfach unangebracht.

Ich werde mir das morgen betrachten wie das mit den Plugins geht.

Irgendwie werde ich den Knoten im Gehirn noch nicht richtig los.
 

Wildcard

Top Contributor
Nein, so kann man das nicht sagen.
Alle Plugins sind gleichzeitig auch OSGi Bundles. Der unterschied zwischen RCP und einer normalen, auf OSGi aufbauenden Applikation, ist das man mit RCP die Eclipse spezifischen Bundles und PlugIns verwenden kann (wie zB die Workbench).
 

xcr

Mitglied
Hm ok, ich glaube jetzt komme ich langsam dahinter.
Das war ein schwieriger Start voller Missverständnisse :)

Danke nochmal!
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
F OSGi und root rechte Plattformprogrammierung 2
Z MySQL-Treiber in RAP-Anwendung für Jetty im OSGI- Equinox- Maven-Dschungel Plattformprogrammierung 0
Shams Antbuild - Problem bei OSGi Anfängertutorial Plattformprogrammierung 0
T OSGi OSGI bundle bauen org.apache.xerces Plattformprogrammierung 3
G OSGi Bundle-ClassPath Plattformprogrammierung 3
P OSGi registerService Plattformprogrammierung 3
H OSGi OSGi + Logback + slf4j - Eclipse Run Configuration Plattformprogrammierung 7
G OSGI bundleChanged Plattformprogrammierung 2
E OSGi Equinox HttpService only supports servlet 2.1 specification. Plattformprogrammierung 2
X Probleme mit dem OSGi-Framework Plattformprogrammierung 3
S OSGi Declarative Service Cardinality Plattformprogrammierung 6
Kr0e OSGI - Anfängerfragen Plattformprogrammierung 3
K OSGi Verteilte Anwendung? Plattformprogrammierung 9
B OSGi Einsteiger OSGi-Applikation Plattformprogrammierung 9
S (OSGI - EQUINOX) Welche Eclipse IDE? Plattformprogrammierung 3
N OSGi: Ressourcen gezielt aus bestimmten Modulen laden? Plattformprogrammierung 4
borobudur OSGi OSGi Blueprint Integrationstests Plattformprogrammierung 6
S OSGi Filter Syntax Plattformprogrammierung 2
N OSGi Dependency Loading Plattformprogrammierung 2
S OSGi Bibliothek für alle Plattformprogrammierung 5
H OSGI mit Eclipse und Maven Plattformprogrammierung 5
X OSGi Splash ohne product Plattformprogrammierung 2
G OSGi: Service registrieren Plattformprogrammierung 2
lumo OSGI Service - ServiceReference Plattformprogrammierung 3
G [osgi] bundle spezifische properties Plattformprogrammierung 5
DEvent [osgi] Services implementieren Plattformprogrammierung 2
C RCP Applikation starten als OSGi Bundle Plattformprogrammierung 2
B equinox OSGi EclipseStarter.startup NullPointerException Plattformprogrammierung 3
B OSGi, Euqinox, innherhalb vom Bundle Pfad des zugehörigen jar-files ermitteln Plattformprogrammierung 6
B OSGi, Equinox, Exceptions werden "ignoriert" Plattformprogrammierung 21
C OSGi, Hibernate und welche Datenbank? Plattformprogrammierung 4
astralarse Custom OSGi Launcher mit config.ini Plattformprogrammierung 6
C Eclipse - Externe OSGi bundles adden Plattformprogrammierung 7
F OSGi Anwendungsdesign Plattformprogrammierung 3
N OSGI in Netbeans? Plattformprogrammierung 5
C OSGi shutdown Plattformprogrammierung 4
D Problem mit Synth Painter und OSGi (Equinox) Plattformprogrammierung 8
D OSGi JSR296 (Swing Application Framework) - Konzeptionsfrage Plattformprogrammierung 2
G Osgi Plattformprogrammierung 5
A Plugin konzepte: OSGI oder JPF? Plattformprogrammierung 5
S OSGI Framework Knopflerfish Plattformprogrammierung 11

Ähnliche Java Themen

Neue Themen


Oben