Service Reports

When using the service agent framework, in addition to being able to subscribe to the service registry in order to receive announcements regarding the existence of services, it is also possible to subscribe to actual services. When subscribed to a service, if that service publishes a report with a subject match- ing the subscription, the subscriber will automatically receive it.

Referred to as publish/subscribe, this is a common feature of packages implementing message oriented middleware services. Note that in this implementation, the design and interface are driven by simplic- ity. As a result, the implementation is not underlaid by persistent message queues. While a subscriber exists and is known of by the publisher, it will receive any reports for which it has a valid subscription. If a subscriber is destroyed but is subsequently restarted, it will only receive reports published from that time onwards, it will not receive reports which may have been published in the time that it was offline.

The system design can therefore be likened to a system implementing instant messaging as opposed to a mailing list. In instant messaging you will only see those messages which are posted into a group while you are online, whereas with a mailing list any messages posted while you were away will still be there for you to see when you log back in.

As a basic system, this model of operation is suitable for many applications, but not all. If you are de- veloping a system where it is imperative that you never miss a message, you would be advised to pur- chase a commercial message oriented middleware package. You will of course have to deal with the extra complexity and cost that entails.

47

Page 47
Image 47
Python 7.0pl5, Python Manual manual Service Reports