[Zope3-dev] service names

Steve Alexander steve@cat-box.net
Fri, 07 Feb 2003 00:58:22 +0200


Shane Hathaway wrote:
> Steve Alexander wrote:
> 
>>   What is currently Events should become Publication.
>>
>> Any opinions from the rest of zope3-dev ?
> 
> 
> Wow, that's a radical change.  I'd like to understand how the event 
> service has become the publication service.  I understood the event 
> service to be a low-level service.  It's the "router" in a network of 
> events, with arbitrary types of events.
> 
> Publication, on the other hand, means two things in Zope:
> 
> - Accepting, acting upon, and responding to a request over a protocol.
> 
> - Making a piece of content available to a wider audience.
> 
> The latter use may involve events, but not all events involve 
> publication.  How do you see it?

First there was the Events service.

(According to my proposed naming, this service doesn't actually manage a 
collection of events, it allows you to send and receive events, so it 
shouldn't be called 'events'. But I won't worry about that for now.)

The service did two things. It allowed you to publish events. And it 
allowed you to subscribe to receive events.

But there were various architectural problems with having both of these 
things, publishing events and subscribing to receive events, handled by 
the same service. The solution was to have them handled by the same 
service implementation, but by two different service types.

One service type allows you to subscribe to receive events.
One service type allows you to publish events.

The Global and Local services for publishing events work in exactly the 
same way. You just say 'publish(event)'

The global and local serivces for subscribing to receive events have to 
work differently. The global one has to take care of per-process 
subscriptions. The local one has to take care of persistent path-based 
subscriptions.

We need two good names for these service types. I suggest 'Subscription' 
and 'Publication'.

If these terms are too confusing, then 'EventSubscription' and 
'EventPublication'. But, that becomes a bit of a mouthful.

--
Steve Alexander