about
Blog: Active Objects
11/27/2024
Blog: Active Objects
communicators and dispatchers
About
click to toggle Site Explorer
Initial Thoughts:
Background:
The Core Idea:
Active Communicators and Dispatchers
Design:
Client and Server Activities:
Client and Server Packages:
Message Handling Infrastructure:
Typical Output:
Source Code:
Conclusions:
- The reusability argument for message-passing systems is not as strong as it might appear here. RPC systems can be designed to be relatively easy to reuse. Microsoft's Windows Communication Foundation (WCF) provides great configurability of transport mechanisms and remote object activation. A company can decide on the transport and endpoint model it wants to support for its products with an XML configuration file. Then each new project defines the communication service with an annotated ServiceContract and DataContracts, implemented with ordinary C# classes, usually in a very small amount of code. Another example is the Adaptive Communication Environment (ACE), developed by Douglas Schmidt and his students. i've only perused the ace documentation, so i can't speak authoritatively about ace, but note that it is a widely used framework for building communication middleware. The primary reason for using something like the mediated Active Communiators, discussed above, is that, unlike WCF - a Windows only technology, it is easily made cross platform by writing in C++ or Java. ACE, on the otherhand, is cross platform, but requires a substantial investment in learning, acquiring, setting up, and maintaining the communication infrastructure. Active Communicators are simple, implemented in a small set of packages.