in reply to POE: Events and Messages
The chat server recipe in POE's cookbook contains a very simple example of publish/subscribe within a single process. I recommend POE::Component::IKC if you want to publish and subscribe to services between separate processes.
As I see it, the difference between events and messages is one of scale. Events are essentially messages telling a program that some fairly small thing has occurred. At POE's lowest levels, it generates events to indicate when sockets are ready to be read from or written to. It implements multiple timers with notification as events. It does a bunch of other things, but they're outside the scope of this reply. :)
Messages on the other hand are high-level notifications. For example, POE::Component::Server::SOAP notifies programs when entire SOAP requests have arrived. It accepts SOAP responses and handles the gory details of shipping them back to clients.
-- Rocco Caputo - http://poe.perl.org/