X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=README;h=bbcb0e4a38551a319f54e858c43fadc035012d8a;hp=3baa3f98b91914e5e3fcd28d95d7c7cccdbf2520;hb=04ea98dee3c25b71e8ba74b2446f6b55d9e54785;hpb=61c0c42465b6886f6aff3c5cf6a94404b03a1fbd diff --git a/README b/README index 3baa3f9..bbcb0e4 100644 --- a/README +++ b/README @@ -1,88 +1,74 @@ -Compilation and installation - -The primary output of the source here is the libyaz.a library, which -contain support functions for implementing the server or client role -of Z39.50/SR. Currently, the library is placed in a directory 'lib' -which is one level *above* the distribution directory (yaz). This was -initially done because the library is often used along with several -other packages, and it was useful to gather the different libraries in -a common place. If you don't like it, changing the 'LIBDIR' macro in -the toplevel makefile should be sufficient. Obscurely, the header -files are located in the include-directory *under* the yaz/ directory. - -The toplevel makefile also contains directions on how to enable Peter -Furniss' XTIMOSI package. The package can be downloaded from -ftp://pluto.ulcc.ac.uk/ulcc/thinosi/... (or something close to that). -If you place the xtimosi directory on the same level as the yaz -directory, and simply follow the directions in the toplevel YAZ -makefile, the libmosi.a library from xtimosi should link in with no -problems. The xtimosi library is needed to support a full OSI stack, -but is *not* required to talk to American-style Z39.50 implementations -over TCP/IP. Don't worry about compiling the test applications in the -xtimosi package. Just do a "make libmosi.a", and do whatever is -required to make the compilation complete on your local ystem. - -Two test-programs of interest are generated when you type 'make' at -the top level. server/ztest and yazlib/cli. Ztest is a dummy database -server which returns canned responses to all queries. It's good for -verifying that the protocol works ok, and ztest.c shows a minimalistic -implementation of the 'backend' interface. - -Cli is a linemode Z39.50 client. It supports a fair amount of the -functionality of Z39.50v2/SR, but some things you need to enable by -recompilation. Its primary purpose is to excersise the package, and -verify that the protocol works OK. It can be started by typing - -cli tcp:: - -at the UNIX prompt, to connect to a Z39.50 server, or - -cli osi:['/']: - -to connect to an OSI SR target (this requires XTIMOSI). To connect to -the DANBIB test target, you might use: - -cli osi:0103/find2.denet.dk:4500 - -CLI supports CCL-queries, with the mapping between qualifiers and -attribute values specified in the file default.bib in the working -directory. - -The directories: - -util - Various little utility functions. Logging, memory debugging, - primitive ISO2709 presentation for the client, etc. - -odr - Open Data Representation. This module implements the BER - encoding rules. Documentation is found in the files odr.man - and odr.txt. - -asn - This module implements the Z39.50/SR protocol. The best way - to find out how it works is to look in the sample - client/server code in server/seshigh.c or yazlib/tst.c. - -yazlib - This module primarily implements the transport transparency - stack (COMSTACK). The comstack implements a generic interface - for exchanging BER-encoded records over a network. It supports - the American mode of exchanging the records straight over - TCP/IP, and Peter Furniss' XTIMOSI package over RFC1006. Look - for documentation in the file comstack.man. - -server - This is the implementation of the server frontend. It - It provides event-handling and server managament functions, - and calls the backend primitives (best documentation of these - is in the file include/backend.h). - -rfc1006 - Xtimosi requires an implementation of the OSI transport - with an XTI-based API. Some systems (HP and DEC, notably) - provide this. For others, we provide an implementation of the - RFC1006 protocol (which is what ISODE-based implementations - typically use). This module is not neeeded if you don't use - xtimosi. - -makelib - This is a simple utility that gathers the libraries from the - previous modules into libyaz.a. - -include - The various header files. - -../lib - The libraries. Primarily libyaz.a. + +Copyright (C) 1995-2001, Index Data ApS. +See the file LICENSE for details. + +$Id: README,v 1.37 2001-10-25 12:28:07 adam Exp $ + +The primary output of the source here is the YAZ library, which +contains support functions for implementing the server or client +role of Z39.50. + +Windows programmers: refer to the file windows.txt which describes how +to build the software using Microsoft Visual C++. + +On Unix, GNU configure is used to configure YAZ and generate Makefiles. +Type "./configure", then "make" to build YAZ. + +Note: If you are using the CVS snapshot of YAZ you must have autoconf, +automake and libtool installed. Before running configure, create +support files by running buildconf.sh in the top-level directory of YAZ. + +In any case refer to the documentation in sub directory doc or read +it online at http://www.indexdata.dk/yaz/ + +File organisation: + +doc Documentation. + +util Various little utility functions. Logging, memory debugging, + primitive ISO 2709 presentation for the yaz-client, etc. You'll + find the ASN.1 Compiler for YAZ here as well (yaz-comp). + +odr Open Data Representation. This module implements the BER + encoding rules. + +z39.50 codecs for the Z39.50 protocol. This module does the same job + as the old 'asn' module except that the source files are + auto-generated using an YAZ' ASN.1 Compiler (yaz-comp). + +zutil This module implements a collection of Z39.50 utilities, such + as query parsing, etc. + +ill codesc for the ISO ILL protocol. + +comstack This module implements the transport transparency + stack (COMSTACK). The comstack implements a generic interface + for exchanging BER-encoded records over a network. It supports + the 'American' mode of exchanging the records straight over + TCP/IP, and uses Peter Furniss' XTIMOSI package over RFC1006. + Look for documentation in the file comstack.man. + +zoom An implementation of Mike Taylors Z39.50 Object Oriented + Model : ZOOM. If you'd like to build Z39.50 client applications + in C this may be good start. You'll find example programs in + this directory too. + +server This is the implementation of the server frontend. It + provides event-handling and server managament functions, + and calls the backend primitives (best documentation of these + is in the file include/yaz/backend.h). + +client A demonstration client for testing the protocol. It's bug'n + ugly. But, it supports many features. + +ztest A demonstration server that implements a backend. + +include/yaz The various header files. + +lib The libraries. Primarily libyaz.la. The makefile gathers the + libraries from previous modules into libyaz.la. + +To get more information or assistance, send mail to yaz-help@indexdata.dk. +Even better, sign on to the YAZ mailing list here: +http://www.indexdata.dk/mailman/listinfo/yazlist +