koha-zebra
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Koha-zebra] [Fwd from koha-devel]: Worries about zebra


From: Sebastian Hammer
Subject: Re: [Koha-zebra] [Fwd from koha-devel]: Worries about zebra
Date: Mon, 11 Jul 2005 17:14:26 -0400

Hi All,

I work at Index Data, and I know something about what Zebra can and can't do.. and perhaps of the pros and cons of different ways of approaching the task of integrating it into an application. I hope it's OK if I take the liberty of butting my head into the conversation.

At 06:09 PM 7/7/2005 +0200, Thomas D wrote:

I hope Windows users would not be lost by the change to Zebra.

They shouldn't be.. Zebra runs fine under Windows, and is use by one or two Win-based (closed-source) ILS vendors today. We'd want to make sure that the installation process is smooth and well-integrated with the install process for the rest of Koha, that's all.

A Unix system might be installed at their site for actually running Koha.
It could be administered remotely if on site experience was lacking.

Yes indeed. For remote support, I personally have a great preference for Unix, although I guess if you know what you're doing, it is possible to do some remote support of a Win-box, too.

It would, however, be nice if the Event module and other software could be
installed on a wider range of systems.  Apparently OSX is also problematic
for the event module.

I am guessing that this comment might address the Net::Z3950 module. For various reasons, I would really like to see Koha use instead a newer Z39.50 client API, preferably one based directly on the YAZ/ZOOM high-level client API in C. The YAZ/ZOOM API was developed after Net::Z3950, and it really represents a generational leap... here are some of the benefits:

o YAZ/ZOOM can normalize MARC records into UTF-8 and XML, which potentially simplifies a lot of things on the client side.

o Unlike the Event module in Net::Z3950, which has caused some problems over the years, the multiplexing code in YAZ/ZOOM is very robust, and very efficient.

o YAZ/ZOOM supports certain extensions to Z39.50 which allows a Perl application to directly manage databases in a Zebra installation, update records, etc. I believe that this may be the neatest and most efficient way to integrate an application like Koha with Zebra.. superior to system() calling the Zebra command-line interface, and more robust than the native Zebra Perl API, which was developed by a third party and which may not be entirely reliable.

o It includes support for the Z39.50 next-generation protocols SRW and SRU, for whenever that becomes relevant.

o It integrates closely with Index Data's YAZ Proxy which provides caching and session-management functionality which can hugely boost performance when YAZ/ZOOM is used to access slower, remote targets (i.e. not Zebra). This is valuable if you'll look at extdending Koha's remote-searching capabilities in the future.

You'll see some discussion about YAZ/ZOOM at http://www.indexdata.dk/yaz/doc/zoom.tkl, and about ZOOM in general at http://zoom.z3950.org/. I can't promise that the Zebra-specific, database-management options are documented here, though.

The big catch is that there is not presently a Perl-wrapper directly over the YAZ/ZOOM "C" language API.. I ran into a fellow at ALA who used it indirectly, by accessing the Visual Basic implementation directly through Perl, under Windows, but of course that would leave our Unix customers stranded. :-) At Index Data, we've developed most of our web-based applications in PHP so we haven't been strongly motivated to work on this yet... However, we do have a functional implementation of a Perl API over YAZ/ZOOM floating around the office which might be a good starting point. Finally, I'll note that the ZOOM API is, by design, very, very simple, and friendly to the idioms of most programming languages.. it should not be a very demanding job either for us at Index Data or or for someone else, to roll out a neatly packaged implementation of ZOOM under Perl based on the YAZ/ZOOM implementation of Z39.50.

I hope this helps clear up some issues, and maybe spark some discussion about the integration issues.

--Sebastian
--
Sebastian Hammer, Index Data, www.indexdata.com
Direct phone: (603) 209-6853 Fax: (603) 357-1813





reply via email to

[Prev in Thread] Current Thread [Next in Thread]