NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado...

43
NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004

Transcript of NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado...

Page 1: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

NCIP (NISO Circulation Interchange Protocol)

Mark NeedlemanSirsi CorporationSteve GregoryColorado State LibraryAccess 2004

Page 2: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Agenda

NCIP Tutorial

Update on NCIP Maintenance Agency and Implementers Group

Questions/Discussion

Page 3: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Committee Charge

Define transactions needed for circulation systems among independent “library” systems

Facilitate direct patron borrowing remote patron authentication circulation/ILL interaction online payment controlled access to electronic resources

Page 4: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Committee Makeup

Representation ILS Vendors ILL Vendors Libraries Around 20 members with some additional

observers Skills

Computing/Technical Library Service Orientation

Page 5: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Scope of Standard

A repertoire of messages & associated rules of syntax and semantics

Between and among computer based applications

Does not define circulation functions or policies

Does not define user interface NCIP is not a Search and Retrieval

Protocol !!

Page 6: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Applications Supported

Direct consortial borrowing Circulation/InterLibrary Loan Interaction Self-service Circulation Access to Electronic Resources

The standard’s test bed it had to support those, may be able to

support others

Page 7: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Design Goals

Keep it simple and within purpose Promote wide adoption Promote rapid adoption

Build in flexibility

Goal of adoption by existing library vendors and perhaps non traditional vendors

Page 8: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Technical Architecture

3 Service Types

3 Object Classes

Page 9: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Service Types

Lookup “Tell me these things about this object.”

Update “Please take this action.”

Notification “I have taken this action.”

Service Types are comprised of Services.

Page 10: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Object Classes

Users Items Agencies (Libraries)

Transactions are associations between one or more of the objects

Page 11: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Service Definitions

Every “Service” is a pair of messages: an “Initiation Message” and a “Response Message”

Each message provides complete context for it to be understood The protocol is designed NOT to require any

particular sequence of services.

Page 12: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Lookup Service

Lookup Agency Lookup Item Lookup User Lookup Version Authenticate User Lookup Request (proposed/accepted in

Implementers Group)

Page 13: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Lookup Service Restrictions

Lookups require a Unique Id They do not support discovery or

searching

Page 14: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Update Services

Typical Circulation Transactions: Request Item and Cancel Request Item Check Out Item and Undo Check Out Item Renew Item Recall Item and Cancel Recall Item Send User Notice Check In Item

Page 15: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Update Services (2)

Object maintenance: Create Agency and Update Agency Create Item, Update Item and Update Request

Item Create User and Update User Update User Fiscal Account

Create Services used for new objects Update Services include modify and

delete

Page 16: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Notification Services

Typical Circulation Transactions: Item Requested and Item Request Cancelled Item Checked Out Item Renewed Item Recalled and Item Recall Cancelled User Notice Sent Item Checked In

Page 17: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Notification Services (2)

Object maintenance: Agency Created and Agency Updated Item Created, Item Updated and Item Request

Updated User Created and User Updated User Fiscal Account Updated

Page 18: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Notification Response

Notifications occur after the fact - no ability to say “don’t do that”

Only possible responses: Did not understand message Understood message

Page 19: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Message Structure

Syntax and Encoding Scheme and Values Datatypes

Page 20: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Syntax and Encoding

XML DTD (Currently) Discussion in Implementers group of

converting to an XML Schema

UTF-8 encoding of Unicode ASCII is valid in this encoding. But other systems are NOT restricted to ASCII,

and you should be prepared to receive such data.

Page 21: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Scheme/Values

Mechanism for extensibility

Some defined in NCIP

Provides ability for locally defined values

Page 22: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Scheme/Values (2)

Handles enumerated types e.g., Language

Defined by ISO 639-2 Bibliographic Language Codes

e.g., Currency Codes: Defined by ISO 4217:1995 Codes for the

representation of currencies and funds.

Page 23: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Scheme/Values (3)

Allows for extensibility e.g., Bibliographic Record Identifier Code:

ANBN BGF BNBN CN LCCN NLM TCN OCLC RLIN

Page 24: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Scheme/Values (4)

Allows for local agreements e.g., Agency User Privilege Type

Adult Agency Head Colonel President Representative Senator Senior Senior Staff Staff Youth

Page 25: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Scheme/Values (5)

Three kinds of Schemes: Required and Restricted (Closed Enumerated)

Must be supported in order to conform Cannot be extended

Required and Extendable (Open Enumerated) Must be supported in order to conform Can be extended

Undefined (Open Not Enumerated) Not NCIP defined

Page 26: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Scheme Registration

Scheme names conform to URI spec. Values within any Scheme must be unique Once published, the list of Values must

not change in any way

Page 27: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Datatypes

Taken from XML Datatypes http://www.w3.org/TR/xmlschema-2/

6 datatypes: boolean

“true”, “false”, “1”, “0” integer nonNegativeInteger positiveInteger

Page 28: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Datatypes (2)

timeInstant Restricted to ISO 8601’s “Extended format” Expressed in Coordinated Universal Time (UTC).

“CCYY-MM-DDThh:mm:ss.sssZ”

string You can append “-hh:mm” or “+hh:mm” to indicate

local time as a difference (plus or minus) from UTC.

In DTD expressed as attributes – but not enforceable – will be in XML Schema

Page 29: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Technical Foundation

Application Roles Messaging Required Behavior Rules Security

Page 30: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Application Roles

For a given connection, there is: 1 and only 1 initiating application (e.g., self-

service machine), and 1 and only 1 responding application (e.g., circ

system). Initiators may NOT send a second

message until the first is responded to. Responders may NOT send initiation

messages EVER on that connection

Page 31: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Application Roles (2)

Applications MAY establish multiple connections at the same time.

The Standard is written in terms of “initiating application” and “responding application”; this is always in the context of a given connection, not in the broader context of the application as a whole.

Page 32: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Messaging

State Tables Transport Requirements Transport Protocol(s)

Page 33: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Messaging State Tables

Do NOT govern the state of the circulation transaction

DO govern the state of the exchange of the initiation/response message pair Initiating application is in IDLE or WAITING

state Responding application is in IDLE or

PROCESSING state

Page 34: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Defined Transport Protocols

Initiator chooses from these 3: TCP/IP HTTP HTTPS

Responder must reply on same connection

Page 35: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Omission of Requested Elements

Applies to entire Lookup Service Type and to “piggy-backed” lookups on Update Services.

Permits omission of some of the data the initiator asked for.

Permits omission of the “Electronic Resource” element if the responder would rather not supply it in the response message.

Page 36: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Update Processing

Responding application will behave as if all deletions requested were performed before all additions requested in the same message

If an update to one element causes an update to another element not specifically asked - a Notification message may be used to inform the other side Example - change of birthday causes user

category to change

Page 37: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Messaging Errors

Indicate lack of understanding of the message: Invalid XML XML not conformant to the DTD Unknown scheme

Page 38: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Processing Errors

Indicate inability or unwillingness to perform the action requested User Delinquent Unknown item Item does not circulate (Checkout) Maximum renewals exceeded (Renewal)

Page 39: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Document Structure

Protocol Definition Implementation Profile 1 XML DTD/Schema Application Profiles

Page 40: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Application Profiles

Currently three application areas: Consortial borrowing Circulation / ILL Self-service

May be multiple profiles per application area Define how to use NCIP within a given

application context

Page 41: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Application Profiles (2)

Profiles can define

Messages used Message sequencing Optional data elements that are mandatory Transport protocols required Schemes required or available Security requirements Use cases

Page 42: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Application Profiles (3)

Some Application Profiles Written by NCIP Committee – meant as proof of concept for what Application Profiles should contain

Intent is that Application Profiles will be developed to define requirements of specific Applications/Implementations

Page 43: NCIP (NISO Circulation Interchange Protocol) Mark Needleman Sirsi Corporation Steve Gregory Colorado State Library Access 2004.

Current Status Standard/Implementation Profile Approved and Published in 2002

Z39.83-2002 Part I Protocol Z39.83-2002 Part 2 Implementation Profile 1 XML DTD XML Schema (currently Non Normative) Application Profiles (Non Normative)

Avaialble at: http://www.niso.org/standards/index.html http://www.cde.state.co.us/ncip/NCIP-MG.htm

Maintenance Agency Assigned Implementers Group Organized and Operating Implementations beginning to exist – in production, in testing/beta, in

development