[Zope3-dev] More name game suggestions

Shane Hathaway shane@zope.com
Sun, 9 Dec 2001 10:28:03 -0500 (EST)


On Sun, 9 Dec 2001, Phillip J. Eby wrote:

> Wow, this all sounds pretty confusing to me.  Is a database connection a
> service or a utility?  If you'd asked me before this e-mail, I'd have been
> certain it was a service.  Now I haven't a clue.

IMHO a database connection is neither.  There would be a database
connection service where you can register database connection components.

> Honestly, from what you've described, it sounds to me like the names are
> backwards, because to me a Service would be something you'd want to have a
> lot of, with relatively few Utilities (based on the names alone).  Also, if
> the purpose of a Service is to register components, then why isn't it
> called a Component Registry?  I'd think that a service was any component
> that could be looked up "placefully" by name or interface, and a Component
> Registry would be a specific kind of service dedicated to registering other
> components.

A Linux box has lots and lots of "utilities".  A utility in the component
architecture is a lot like a self-contained executable such as "ls" or
"vi".

A Linux box has relatively few "services".  (And each kind of service is
listed in /etc/services.)  Services usually require configuration.

> Personally, I think having such a narrow definition of "service" is going
> to be a bad idea, from a marketing perspective if nothing else.  What about
> "web services"?  You're basically saying "we want relatively few services",
> which sounds really bad in a marketing context.  :)  Now, if you say, "we
> want relatively few component registries to avoid confusion of where to
> look things up, but you can have all the other kinds of services you want,"
> that sounds much better.  :)  Utility, meanwhile, just doesn't sound like
> it belongs at all.

There's certainly an overlap in terminology.  "Web service" is bound to
overlap anything we might call "service" because in Zope any object can be
used as a web service!  Do you think "service" should be renamed?

Note that there are no absolute rules--a service is not necessarily a
component registry.  For example, we're looking at creating an
IAuthenticationService.  It doesn't necessarily use any other components
to get its work done.

> Take it from the author of the infamous ZPatterns...  awkward terminology
> can really hinder the adoption of a technology.  :)

Well, we really are reusing existing terminology.  Over a year ago I wrote
a little utility in Python that reads GEDCOM files, producing XML events.
To use this in the component architecture, I simply specify interfaces and
register it as a utility.  What used to be a utility is now... a utility.
;-)

Shane