ZOOM - a complement to ZNG?

Dear ZIGgers,

In the light of the current pre-ZIG discussions of ZNG, I would like
to draw people's attention to a complementary approach to some of the
problems that ZNG addresses.

To recap, those problems include, but may not be limited to, the
following:

	New Z39.50 programmers find it hard to assimilate the big,
	scary standard document.

	Building Z39.50 applications takes too long because it's
	generally necessary to write low-level networking code.

	Programmers find it difficult to write ASN.1/BER code. 

	The ASN.1/BER substrate is seen as old-fashioned.

While ZNG's approach to these problems is to change the implementation
of the protocol, ZOOM adopts the alternative approach of hiding the
complexity behind a simpler, application-level, interface -- so that
applications need not know about the gritty low-level details any more
than SOAP applications need to know about the details of XML syntax
and HTTP transport.

ZOOM stands for The Z39.50 Object-Orientation Model.  It presents a
useful subset of the Z39.50 services in terms of an abstract OO API.
In order to ground this initiative in reality and make it work for
real people building real applications, it needs concrete bindings to
real languages.  We currently have three such bindings on the table: a
Perl binding, which is fully implemented and documented, and in use in
commercial projects; a C++ binding, which is designed and in the
process of implementation; and a C binding, which is at the design
stage.

We plan to present the current version of the ZOOM specification at
the Boston Spa ZIG; I'll also distribute copies of the document (about
three and a half thousand words, or eleven nice, easy-to-read pages).
In the ensuing discussion, I hope that we can get some useful feedback
on issues including the following:

	How well does the API walk the line between simplicity and
	power?  For example, should it support encapsulation,
	including or limited to the special case of "piggy-backed"
	searches?

	To what extent should the presentation of the ZOOM
	specification attempt to "hide" more advanced features (such
	as sort, scan, asynchronous operation) so that the core
	simplicity shines through?  How many separate documents should
	there be?

	For which languages, other than Perl, C++ and C, would it be
	useful to have a ZOOM binding?  (In other words, what
	languages do people want to use for building Z39.50 apps?)

	How can we achieve a competitive diversity of implementations?

In the current version of the agenda at
http://lcweb.loc.gov/z3950/agency/zig/meetings/uk2001/agenda.html
Ray has the ZOOM presentation and discussion down as on of the
"Briefings".  However, since ZOOM attempts to address some of the same
concerns as ZNG, I wonder whether it might be better to discuss ZOOM
as a part of, or immediately after, the ZNG sessions?

I can supply a URL to the current, work-in-progress version of the
ZOOM specification to anyone who is particularly interested.  Email me
on <mike@tecc.co.uk> if you'd like to see it before the ZIG.

Thanks for listening.

 _/|_	 _______________________________________________________________
/o ) \/  Mike Taylor   <mike@miketaylor.org.uk>   www.miketaylor.org.uk
)_v__/\  "The cladistic defintion of Aves is: an unimportant offshoot
	 of the much cooler dinosaur family which somehow managed to
	 survive the K/T boundry intact" -- Eric Lurio.

Received on Thursday, 27 September 2001 06:31:28 UTC