Background: Know: Recognize: Prerequisites - word-alignment
Why ASN.1?: Insider's viewEdit
ASN.1 is the acronym for Abstract Syntax Notation One, a language for describing structured information; typically, information intended to be conveyed across some interface or communication medium. ASN.1 has been standardized internationally. It is widely used in the specification of communication protocols.
However, ASN.1 is not the 'perfect' choice.
ASN.1 is a good choice based on political criteria.
- Already implemented by current ILL Protocol compliant systems - Since ISO ILL is currently implemented using ASN.1, 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
- There are public domain free ASN.1 compilers available for a variety of programming languages.
- ASN.1 is official International Standards. Thus it is vendor and system neutral.
- ASN.1 has been used by another library protocol, Z39.50. Potential implementors of ILL who have Z39.50 implementations can capitalize on that development effort.
- ASN.1 is a joint standard of the International Organization for Standardization (ISO), International Electrotechnical Commission (IEC), andInternational Telecommunication Union Telecommunication Standardization Sector ITU-T
ASN.1 is a poor choice based on technical criteria.
- ASN.1 is unnecessarily complex and difficult to learn. The code sizes is too large.
- ASN.1 packs data into the smallest number of bytes on the network, and this lead to poorer performance and the trading of CPU cyckes for media bandwidth.
- ASN.1 can present a challenge and hurdle to new developers who wish to implement the ISO ILL protocol.
Therefore, although Abstract Syntax Notation One (ASN.1) is a standard and flexible notation that describes rules and structures for representing, encoding, transmitting, and decoding data in telecommunications and computer networking, it is a little hard and unnecessarily complex to the users.