Ich möchte mit einer COM+ Anwendung eine Funktionsweise nachbilden wie Sie unte COM/DCOM mit einem Automation-Server mit Events möglich war. Die Clients (auch Win 98/NT4) sollen von der COM+ Anwendung vom Abschluß eines Jobs per Event benachrichtigt werden und das am besten ohne eine VCL-Wrapper-Komponente erstellen zu müssen. Unter COM/DCOM habe ich für diese Zwecke einfach ein EventSink-Object implementiert. Welche Möglichkeiten stehen mir bei COM+ zur Verfügung? Oder sollte man bei gemischten Clients ganz auf COM+ verzichten?
Announcement
Collapse
No announcement yet.
COM+ Anwendung like Automation-Server
Collapse
X
-
Hallo,
in meinem Buch <i>COM/DCOM mit Delphi</i> (1. Auflage) kümmert sich das Kapitel 12 (<i>Callbacks vs. Connection Points</i>) auf 40 Seiten nur um diese Frage. Normalerweise würde ich in dieser Umgebung auf Connection Points (EventSink-Objekt) verzichten und statt dessen den Rückruf direkt über Callbacks (Dual Interface) erledigen. Die Connection Point-Schnittstelle war und ist nur eine Krücke, die für zeigerlose Scriptsprachen (und alte VB-Versionen) eingeführt wurde. Sie ist zwar bequem (weil vordefiniert), aber in der Performance den direkten Callbacks weit unterlegen.
Im normalen Automation-Einsatzfall (Server und Client sind auf dem <b>gleichen</b> Rechner) sind die Connection Points noch vertretbar, aber bei einer DCOM-Verbindung (Marshaler muss eine Rechnergrenze überwinden) schlagen die technisch bedingten Nachteile voll durch
Comment