OSGi Implementation für C++



  • Hallo,

    ich bin auf der Suche nach eine OSGi (oder OSGi änhlichen) Framework für C++.

    Was könnt Ihr empfehlen?
    Oder ist so etwas unter C++ eher nicht zu gebrauchen und man sollte stattdessen eine vernünftige Plugin-Schnittstelle basteln.

    Gruß, Thomas



  • Um ehrlich uz sein, ist mir der Begriff OSGi heute zum ersten Mal untergekommen. Ein wenig googlen hat gezeigt, dass es Java-basiert ist und vermutlich kein passendes C++-Framework gibt.

    Was willst du erreichen? Ein C++-Modul in eine Java-Applikation einbauen?



  • Siassei schrieb:

    Hallo,

    ich bin auf der Suche nach eine OSGi (oder OSGi änhlichen) Framework für C++.

    Was könnt Ihr empfehlen?
    Oder ist so etwas unter C++ eher nicht zu gebrauchen und man sollte stattdessen eine vernünftige Plugin-Schnittstelle basteln.

    Gruß, Thomas

    Hallo Thomas,

    vielleicht hilft Dir dieser Tipp:
    http://wiki.apache.org/incubator/CelixProposal

    cu @Boeffi .net



  • Also ich nutze täglich OSGi auf Arbeit. Ganz davon abgesehen, das auch dieses Technik noch heute ihre Macken hat, kann ich nur sagen: das hast du in deinem Betriebssystem schon Frei-Haus! Denn letztendlich versucht OSGi ein Defizit der sogenannten Plattform Java zu kompensieren. Von C++ kannst du aber das Betriebssystem direkt nutzen. Was ja unter anderem auch der Sinn ist, warum man C++ nutzt.

    Die Technik die mit OSGi umgesetzt wird, ist vergleichbar bzw. "geklaut" von der COM+ Technik. Welches Pendant es unter Linux oder Unix ist, kann ich nicht sagen, da ich mich mit diesen Systemen kaum auskenne.

    Wenn du unter Windows programmiert, solltest du dir mal die Active Template Library anschauen. Man kann recht schnell COM+/ActiveX Komponenten damit entwickeln. Und letztendlich wie bei OSGi nutzen, aber ohne Overhead, da die Technik eh schon in Windows drin ist.

    http://msdn.microsoft.com/en-us/library/t9adwcde.aspx (ATL Dokumentation)
    http://download.cnet.com/Windows-Server-2003-SP1-Platform-SDK-ISO-Install/3000-2070_4-10731571.html (für die, die nur eine Express Edition von VisualC++ nutzen, können dieses ältere SDK ziehen, wo noch das ATL public war)

    Ich kann aber empfehlen, ein VisualC++ mind. Standard Edition zu nutzen, da dort die ATL-Wizards dabei sind. Ältere Standard Editionen sind ja gebraucht günstig zu bekommen.

    Es gibt auch C++ Frameworks, die versuchen das plattform-neutral umzusätzen. Da fällt mir http://www.appinf.com/en/products/upnp.html ein. Aber ich habe keine Erfahrung damit.

    Sonst kannst du natürlich den umständlich Weg wählen, und das Rad neu erfinden, und DLLs nutzen. Um aber wirklich an die Features von OSGi/COM+/ActiveX ran zu kommen, hast du viel Arbeit vor dir. Wenn es dir nur um simples Plug-in geht, gehts natürlich schnell umzusetzen. Aber dann frage auch nicht nach OSGi oder Pendants. Das ist ein ganz anderes Level!

    Wenn ich aber weiß, das ich nur Windows mache, würde ich mir die ATL anschauen.



  • Hi,

    Boeffi hat ja schon Celix erwähnt, ein Apache Projekt im Inkubator Status. Es versucht die OSGi API in C abzubilden.

    Eine andere C++ Implementierung von OSGi die Qt verwendet findest du als Unter-Projekt hier:

    https://github.com/commontk/ctk

    Weiter Dokumentation dazu gibt es hier unter "Plugin Framework":

    http://www.commontk.org/index.php/Documentation

    Gruß,
    Sascha


Log in to reply