The client property broker is a broker that allows for declarative properties, actions, and wires to be used among completely decoupled components. The property broker is responsible for taking changed properties and distributing the property values to the appropriate actions as defined by the wires that are registered. The property broker separates itself from a traditional pub/sub in that it is a controlled pub/sub that is driven by declarative markup. Meaning an XML or another data source defines how the two components communicate with each – which property change is passed onto which action within the component. The second differentiation is the chain effect that can be accomplished by taking input parameters and posting output parameters. This ability allows for an infinite amount of Property > Action > Property
Components that contribute to the broker most likely do not call into the API's directly, and instead use the extension point and the declarative WSDL to declare its actions and properties. The preferred model allows as little knowledge of the broker and its API’s providing a good level of abstraction from the broker implementation. At most, a component calls into the broker to post a changed property and then performs an evaluation of the received property changes to complete the action on the changed property.
Lastly, the client side broker was designed after the IBM® Portal property broker, but includes a level of flexibility above and beyond the portal broker. The client broker allows for different kinds of components to be contributing to the broker, such as SWT, AWT, Eclipse commands, OSGi Event Admin, etc. This allows for currently established actions to participate in broker communications. The framework allows for new handlers to be defined using an Eclipse extension point, allowing the broker complete adaptability and compatibility with other messaging systems.
Parent topic: Developing wired applications: XPD621