Enhanced Publish and Subscribe Support
ECF committer Peter Nehrer has recently started work on supporting replicated models with publish and subscribe state updae mechanisms. See the initiating and follow up mailing list entries here.
The entire sub-project is currently implemented as a single plug-in -- org.eclipse.ecf.example.pubsub. One of its goals is to define a set of API for publishing arbitrary "services" that can then be selectively subscribed to by remote group members. As a more concrete extension of this API, an API for publishing and subscribing to incrementally updateable structured models is also developed.
The accompanying example (part of the same plug-in) provides a workbench view (called Published Services) that displays a list of published services available in remote containers in the current collab group. In addition, this view also allows the user to publish their own sample shared models (a simple appendable list of strings). The user may subscribe to a remote sample list and see its contents in a dedicated view (Subscription <ID>). All views are dynamically updated whenever changes to them occur.
Running the Pub/Sub Example
The following instructions explain how to run the Pub/Sub example. Note that this will likely be of interest to ECF developers only; there's no useful end-user functionality provided by this plug-in (yet).
It is assumed that you have all ECF plug-ins (including org.eclipse.ecf.example.pubsub) imported into your workspace.
Starting the Client
- Start the Collab Example and connect your workspace to some server (local or the one at ecf.eclipse.org)
- Show the Published Services view and select Activate from its menu
- Repeat to create at least one more client
- In the Published Services view, select Share something. This will create an empty sample list and make it available for others to subscribe to.
- Right-click the shared lists and choose Append.... Enter an arbitrary string to add to the list. After clicking OK, the changes will be propagated to all current subscribers.
Subscribing to Published Lists
- In the Published Services view, right-click a remote published service and choose Subscribe. This will create a dedicated Subscription view with the contents of the remote list.