COM / DCOM Buchempfehlung



  • Hallo,

    ich würde mich gerne in COM / DCOM einlesen.
    Ich bin auf der Suche, nach einem Buch, welches COM / DCOM betriebssstem unabhängig als Richtlinie beschreibt.
    Dabei soll die Programmiersprache C++ verwendet werden.
    Ob deutsch oder englisch ist mir nicht so wichtig.
    Da ich schon sehr gemischte Erfahrungen mit Büchern gemacht habe, würde ich mich über einen guten Tipp freuen.



  • COM und DCOM gibt's nur unter Windows, betriebssystemsunabhängig wirst du das also nicht kriegen.

    Was die Dokumentation angeht, wahrscheinlich ist es am sinnvollsten, direkt zur Quelle zu gehen. Es gibt aus der Microsoft Press zwei Bücher "Inside COM" und "Inside DCOM", die das Thema behandeln.



  • AlexanderKiebler schrieb:

    Hallo,

    ich würde mich gerne in COM / DCOM einlesen.
    Ich bin auf der Suche, nach einem Buch, welches COM / DCOM betriebssstem unabhängig als Richtlinie beschreibt.
    ...

    wikipedia schrieb:

    Plattformunabhängigkeit [Bearbeiten]

    x64-Applikationen können dank Marshalling auf 32bittige COM-Server zugreifen (und umgekehrt). Der COM-Server muss dann in einem eigenen Prozess laufen und seine Objekte können demnach nicht als In-process-Server instanziiert werden. COM-Applikationen sind jedoch immer auf die Windows-Betriebssystemfamilie und von dieser unterstützte Hardware angewiesen, von einer wirklichen Plattformunabhängigkeit kann daher nicht gesprochen werden.



  • Ein Buch das sich speziell mit dem Thema beschäftigt, kenne ich nicht.

    Aber ich würde einfach mal auf der MSDN und bei Codeproject vorbei schauen. Die haben dort gute Tutorials und auf MSDN sind auch alle Protokolle und Formate unter "Open specifications" aufgelistet.

    Z.B. ist das DCOM-Protokoll hier zu finden. Die Frage ist, ob das für einen Anwender so interessant ist? 🙄 Macht ja nur Sinn, wenn man wirklich COM und DCOM auf einer anderen Plattform implementieren will. Wenn du die Technik nur anwenden willst, würde ich mich auf Tutorials beschränken.

    COM ist hier ganz gut beschrieben.

    Einen Fundus an Informationen findest du hier. Speziell die Beginners Rubrik beachten, auch wenn dort die Liste nicht sortiert ist.

    Noch einen Tipp von mir: schau dir später mal ATL (Active Template Library) an. Damit kannst man selber viel einfacher COM und ActiveX Komponenten implementieren! 👍 Man braucht dafür aber eine Kaufversion von VisualC++, da die Express Editionen keine ATL besitzen.



  • seldon schrieb:

    COM und DCOM gibt's nur unter Windows, betriebssystemsunabhängig wirst du das also nicht kriegen.

    Was die Dokumentation angeht, wahrscheinlich ist es am sinnvollsten, direkt zur Quelle zu gehen. Es gibt aus der Microsoft Press zwei Bücher "Inside COM" und "Inside DCOM", die das Thema behandeln.

    Natürlich ist COM und DCOM Plattform- und Betriebssystem unabhängig! Wenn dem nicht so ist, belege deine Behauptungen!

    Jeder kann die Technik implementieren, und sie wurde damals von MS und DEC implementiert. Auch NextStep (NextStation) hatte DCOM implementiert, um mit einem NT Rechner Komponenten remote zu lesen und schreiben.

    Die Spezifikationen sind alle offen einsehbar. Die Frage ist nur, ob ich mir das antun muß?



  • pingu_off schrieb:

    wikipedia schrieb:

    Plattformunabhängigkeit [Bearbeiten]

    x64-Applikationen können dank Marshalling auf 32bittige COM-Server zugreifen (und umgekehrt). Der COM-Server muss dann in einem eigenen Prozess laufen und seine Objekte können demnach nicht als In-process-Server instanziiert werden. COM-Applikationen sind jedoch immer auf die Windows-Betriebssystemfamilie und von dieser unterstützte Hardware angewiesen, von einer wirklichen Plattformunabhängigkeit kann daher nicht gesprochen werden.

    In Wikipedia stehen manchmal auch Dinge, die falsch sein können.

    Mac OS X has been able to do COM for quite some time. The thing is, no one has really broadcast this -- until now. You can write COM components that have the potential to run on both Windows and Mac OS X with no code changes. This is another reason for Mac OS X to be considered as a serious platform for enterprise applications (for those of you who like creating lists).

    Quelle: Component Object Model (COM) Development on Mac OS X

    Du weißt, dass Mac OS X eigentlich nur ein modernisiertes NextStep ist? Somit ist es nur der logische Schritt, das OS X auch COM kann.

    Und damit es nicht heißt, das Mac OS X und NT zu wenig Plattformen sind, schiebe ich noch das weiter oben angedeutete DEC dazu. OpenVMS (DECs Betriebssystem für VAX) hat ebenfalls die Fähigkeit:

    COM for OpenVMS

    OK, DEC ist pleite, und OpenVMS gehört deshalb heute HP. Aber egal.

    Drei lebende Betriebssysteme von drei verschiedenen Herstellern, die COM/DCOM implementieren. Ich finde nicht, dass das nur auf NT beschränkt ist.



  • Naja, ein DCOM-Orb für OpenVMS Alpha 7.3 aus dem Jahr 2004, der seither scheinbar nicht mehr entwickelt wird, ist etwas dünn, um Plattformunabhängigkeit zu belegen, und "jeder kann die Technik implementieren" kann als Argument dafür verwendet werden, alles als plattformunabhängig darzustellen. Apple implementiert für seine Plugin-Architektur lediglich eine kleine Untermenge von COM [1], und diese ist nicht von NeXT geerbt sondern eine Neuentwicklung in Core Foundation 1.3.

    De facto ist COM-Code an Windows gebunden - wenn man die gleiche Funktionalität plattformunabhängig haben will, nimmt man in der Regel CORBA.

    [1] https://developer.apple.com/library/mac/documentation/CoreFoundation/Conceptual/CFPlugIns/Concepts/com.html


Log in to reply