Womit sollen wir die DCOM-Kommunikation ersetzen?

8

Gegenwärtig haben wir eine Reihe von C ++ / MFC-Anwendungen, die über DCOM miteinander kommunizieren. Jetzt werden wir die Anwendungen aktualisieren und DCOM durch etwas moderneres ersetzen, etwas, mit dem man einfacher arbeiten kann. Aber wir wissen nicht was. Was denkst du

?

Bearbeiten

Die ausgetauschten Daten sind nicht für andere interessant. Es sind nur Statusinformationen zwischen den verschiedenen Teilen des Programms, die auf verschiedenen Computern ausgeführt werden.

    
magol 19.08.2011, 12:45
quelle

4 Antworten

3

Es gibt viele C ++ - Messaging-Bibliotheken, von der alten ACE bis hin zu neuen wie Google Protokollpuffer oder Facebook (jetzt Apache) Sparsamkeit oder Ciscos Etch .

Momentan höre ich gute Dinge über ZeroMq , die Ihnen mehr geben könnten, als Sie es gewohnt sind.

>     
gbjbaanb 19.08.2011, 13:20
quelle
2

DCOM ist nichts anderes als Zuckerüberzug über ein Messsystem.

Jedes geeignete Messenger-System würde es ermöglichen, zu erkennen, wo Nachrichten ausgetauscht werden (was wichtig sein kann, um Fehlerstellen / Leistungsengpässe beim Warten zu lokalisieren).

Es gibt heutzutage zwei typische Möglichkeiten:

  • Ein reines Messenger-System, zum Beispiel mit Google Protocol Buffers als Austauschformat
  • Ein Webservice (entweder vollständiger Webservice in JSON oder eine REST-API)
Matthieu M. 19.08.2011 12:56
quelle
1

Ich habe viele Apps in C ++ und Java mit REST gemacht und bin ziemlich zufrieden. Abgesehen von der Komplexität von CORBA und SOAP ist REST einfach zu implementieren und flexibel. Ich hatte ein bisschen eine Lernkurve, um Dinge als CRUD zu modellieren, aber jetzt scheint es so intuitiver zu sein.

Nun verwende ich für die C ++ - Seite keine spezielle REST-Bibliothek, sondern nur cURL und einen XML-Parser (in meinem Fall CPPDOM), weil die C ++ - Anwendungen nur Clients sind und die Server Java sind (mit dem Restlet-Framework) ). Wenn Sie einen brauchen, gibt es hier bei SO eine andere Frage, die empfiehlt:

Kann jemand ein gutes C / C ++ RESTful-Framework empfehlen >

Ich würde auch erwähnen, dass meine Entscheidung, XML zu verwenden, willkürlich war und ich ernsthaft überlege, es durch JSON zu ersetzen. Sofern Sie keine spezifische Notwendigkeit für XML haben, ist JSON einfacher und leichter. Und die Schönheit von REST ist, dass Sie beide, zusammen mit anderen Darstellungen, sogar unterstützen können, wenn Sie möchten.

    
Fabio Ceconello 19.08.2011 13:47
quelle
-1

Es hängt von vielen Faktoren ab. Es kann einfach durch .NET Remoting ersetzt werden. Wenn Sie Dienste für andere Komponenten standardmäßiger bereitstellen möchten, ist Web Services eine gute Wahl.

    
hsalimi 19.08.2011 12:49
quelle

Tags und Links