Intro to ILL Application
Where to Purchase
For More Information,
the ILL Application Standards
Library and Archives Canada
Interlibrary Loan Application Standards Maintenance Agency
ISO 10160/10161-1 Review White Papers
Ease of Implementation of the ISO ILL Protocol
Discussion Group members:
ISO ILL has been specified using ASN.1/BER. The messages are described in the abstract using ASN.1 and one of the mechanisms for encoding them is BER. There has come to be a perception (at least among certain communities) that this has contributed to the difficulties in implementing the ILL protocol. ASN.1 is sometimes thought to be arcane, difficult to understand and outdated technology. It requires specialized compilers or other tools to process, and since the ILL protocol also uses an older version of the ASN.1 standard, there is a sense that it may become increasingly more difficult to find tools that support ASN.1. BER produces an encoding stream that does not easily lend itself to human consumption, requiring specialized skills and training to be able to read and debug. There is also the major concern that, as time goes by, it will become increasingly difficult to find technical people who understand ASN.1, or to train people in it since they may feel, that since it is outdated and non mainstream technology, that is not a good career move to get involved with it.
This paper will examine these and other issues involving the ease of implementation of the ISO ILL protocol and discuss some of the tradeoffs between continuing to use technologies like ASN.1/BER in the next version of the ISO ILL protocol, or migrating to more current encoding technologies like XML. Other issues that may not be directly related to the issue of encoding technologies will also be examined. The goal of the paper will be to raise and discuss all of the issues that may be related to how hard it is to implement the ISO ILL protocol given its current nature and structure.
Relative Advantages and Disadvantages of ASN.1/BER and XML
Advantages of ASN.1/BER
- Already implemented by current ILL Protocol compliant systems - Since ISO ILL is currently implemented using ASN.1/BER, there is no development work required by the systems that have already implemented (except to keep their implementations current with any changes that might get made to the ASN.1 specification of ISO ILL). Implementing a new encoding method would require development work by current implementations.
- ASN.1 supports multiple data types and allows strong data typing and constraints on element definitions - such facilities are required by the type of data elements needed by the ILL protocol.
- BER produces a compact encoding which minimizes the amount of data transferred across the network.
- There are public domain free ASN.1 compilers available for a variety of programming languages.
- ASN.1 and BER are official International Standards. Thus they are vendor and system neutral.
- ASN.1/BER has been used by another library protocol, Z39.50. Potential implementors of ILL who have Z39.50 implementations can capitalize on that development effort.
Disadvantages of ASN.1/BER
- ASN.1/BER is somewhat arcane and difficult to learn. In addition BER encoded data is not easily human readable and thus difficult to deal with in debugging situations.
- ISO ILL uses an older version of the ASN/1/BER standards. There is not a lot of ASN.1/BER development going on and it is unclear how much longer the version compilers that use the version that ILL uses will be available and supported. In addition there may not be versions of ASN.1/BER available for new environments and programming languages that ILL developers may want to use in the future.
- ASN.1/BER can present a challenge and hurdle to new developers who wish to implement the ISO ILL protocol.
- It may become increasingly difficult to find developers who are either fluent in ASN.1/BER or are willing to be trained in it.
Advantages of XML
- XML has been overwhelmingly adopted and endorsed by the entire computer and Web industries. Support for XML is being built into just about every product and system. Thus it is expected that there will be a rich infrastructure of XML facilities that an ISO ILL developer can make use of when building implementations - although that infrastructure is not quite there yet.
- XML represents new and dynamic technology. Lots of developers are learning and being trained in it so there will be a large pool of talent available to organizations doing XML development.
- XML appears to be (currently) the technology of the future. Using XML for ISO ILL may open the protocol up to a wide new range of applications that go way beyond the traditional library environment than would be the case if it stays with older technology like ASN.1/BER.
- The NISO Circulation Interchange Protocol defines XML as its encoding method. One of the stated goals of that protocol is to support Circulation/ILL inter communication. This could be a lot easier if both ends of the communication use the same encoding language.
- XML is (in theory) more human friendly and human readable. This may help out in debugging situations.
Disadvantages of XML
- XML is still new and changing rapidly. Although the XML syntax itself is pretty stable (for now) many of the associated XML developments (like XML Schema, the Document Object Model, etc.) are changing rapidly and still in a state of flux. Given the nature of the Web environment, there is no sign that this state of fluidity is going to stop anytime soon.
- XML does not yet provide the strong data typing that ASN.1 has available. The XML Schema Language does have similar (and even more) data typing as ASN.1 but it is not yet stable and there are not yet a lot of products that provide support for it.
- Organizations that have already implemented the ISO ILL protocol using ASN.1/BER will have to incur the development costs of converting their already existing implementations.
- XML itself is not an International Standard. It is an Industry Standard developed by a vendor-based consortium (The World Wide Web Consortium). The only way ILL protocol developers can have an input on XML and its developments is to become members of W3C, which has financial implications. However, XML is a compliant subset of SGML, which is an ISO standard.
- Being character-based, XML produces a more verbose encoding which results in more data being transferred across the network.
Are there other non-encoding issues we need to deal with here?