Python 7.0pl5 Benutzerhandbuch

Seite von 124
47
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.