MessageCentral and message-oriented programming


MessageCentral Logo MessageCentral Description


MessageCentral and message-oriented programming

Component-structure fragility

Message-oriented programming aims to eliminate the denotation of one of the parameters from the clients' view of method call as the special object to which the "message" is sent, and focus, instead, on the message as a request for service by any server. This permits client code to be reused even when the implementation of a method is moved from one object to another. Consider, for example, a fragment of code written to record the fact that an item was sold to a customer at a store. Assuming that "item, customer, and store" are variables that refer to objects of those types then the sale could be registered by calling the register_sale method of the item being sold. A Java programmer might write:
"item.register_sale(store, customer)", or perhaps
"store.register_sale(item, customer)", or perhaps
"customer.register_sale(item, store)".
This example shows the essence of component-fragility. Source code calling for a service is dependent on which of the data involved happen to carry the implementation. This severely limits the use and reuse of software developed by different organizations that made different choices in deciding which objects should carry which function. The use of a message broker makes it possible to have the client code simply read
"register_sale(item, store, customer)"
and to move the knowledge of which object carries the function into the broker. This makes both the serving objects and their clients much more reusable.

Issues in moving to message-oriented software

Successfully supporting a programming style that eliminated component-structure fragility requires addressing several issues:
  • What to do instead of interfaces?
  • What happens to object references?
  • What about multiple servers?
  • How do we avoid "message not understood"?
Good support for message-oriented programming will rely upon a broker and a composition system capable of great flexibility, like that provided by MessageCentral.

For further information, please contact Bill Harrison.


[Research home page]

[ IBM home page | Order | Search | ContactIBM | Legal ]