JISC Information Environment

JISC IE Discovery to Delivery (D2D) Reference Model

JISC IE UKOLN



DRAFT FOR DISCUSSION

Introduction

This document presents the JISC Information Environment (IE) as a 'reference model' (as that term is used by the DLF Abstract Service Framework Working Group).

JISC IE D2D Reference Model Summary

Business Requirement

Business requirement: An identifiable segment of an organization's overall mission, purpose, or functional scope.

The JISC Information Environment allows the end-user to discover, access, use and publish digital and physical resources as part of their learning and research activities. Discovery to delivery (D2D) is the process by which an end-user moves from identifying a need to obtaining a resource that they can use to address that need.

Business Processes

Business process: An identifiable portion of a business requirement.

The 'JISC IE D2D' business requirement comprises the following business processes:

Each business process is described in more detail below, using UML use case notation.

Enter

Enter use case

In order to support personalised services and to limit access to licensed resources, end-users are likely to have to be authenticated before interacting with the JISC IE. On initiating the 'enter' use case, by visiting the top-level Web page for a service for example, the user may be prompted for a username and password. This results in a new session being started. An initial 'landscape' is presented to the end-user based on their user-profile. The landscape may consist of a view of the resources to which that user has access rights and that correspond to the subject interest of the user.

Note that a 'guest' account may be available that offers a restricted landscape and functionality.

Survey and discover

Survey and discover use cases

An initial phase of discovery, the 'survey' use case, is concerned with identifying the collections that are worthy of further investigation. This process is likely to involve narrowing down the collections presented as part of the 'landscape'. However, it may also involve the discovery of new collections that are not yet listed within the landscape.

The results of the 'survey' use case are a set of collections that warrant further investigation.

The 'discover' use case drills down into each of the collections identified during the initial survey. The intention is to discover a particular item of interest. The result of this activity is not the item itself, but a metadata record about that item.

It is likely that survey and discover can often be considered as parts of the same activity. Both make use of four 'discovery' strategies. Either a search-based approach is used (the 'search' use case), or a browsing approach is used (the 'browse' use case) or some kind of 'bookmark' list is used (the 'useSavedRecord' use case). The 'useSavedRecord' use case may make use of a personal set of bookmarks or a shared list - for example, a course reading list or a set of bookmarks exchanged between research colleagues. Finally, alerting mechanisms may be used (the 'alert' use case). In this case, the content provider alerts the end-user to the existence of a new or updated resource (items or collections), typically using email, an RSS channel or a Web-based alerting mechanism.

As part of the 'search' use cases the system may provide some assistance with the search terms used, the 'assistQuery' use case. Typically this includes the use of a terminology service or thesaurus to improve the search terms used by the end-user in constructing a search query.

By the end of the 'discover' use case the end-user will have discovered a resource, for example a book (in which case they might know its title, author and ISBN) or a Web page (in which case they might know its title and URL).

Detail

Detail use case

The 'detail' use case builds up knowledge about a particular resource to the point where enough is known that there is no ambiguity about the item that must be requested.

Note that Web resources often present the minimal case here because the URL is known at the end of the 'discover' use case - no further information is required in order to request the resource.

More generally, for example in the case of obtaining books or journal articles, it may be necessary to locate the most appropriate format, cheapest or nearest copy of a resource. The 'locate', 'getFormats', 'getRatings' and 'getConditions' use cases facilitate this process.

It is arguable whether the 'detail' use case forms the last phase of the discovery process or the first phase of obtaining the resource, or whether it is a separate process. Specific implementations may choose to implement the 'detail' use case in a variety of ways. In particular, selecting between multiple mirrored copies of a Web resource may be presented as an explicit choice to the end-user (as part of the 'detail' use case) or may be done behind the scenes as part of the 'deliver' use case below (in much the same way as Web caching is typically done).

Request and Deliver

Requesta and Deliver use cases

Having sufficiently identified the particular resource that he or she is interested in, the end-user may attempt to obtain it. The 'request' use case allows the end-user to ask for a particular item. For Web resources this is typically as simple as clicking on a link. Delivery is initiated by the content provider - in response to the end-user clicking on a link or an inter-library loan (ILL) request for example. In some cases authorisation will be required before the item is delivered (the 'authorise' use case) typically based on the authentication credentials presented earlier or on the IP address of the end-user's browser. Where items are not available free at the point of use, payment may be required before delivery. This would be covered by a 'pay' use case and would typically result in a credit card transaction, though this is not considered here.

Business Process Choreography

Although the business process are presented here in a linear way, in practice they will tend to be used in a more cyclic fashion, as shown below:

Business process choreography

Note that this diagram introduces two new use cases, useRecord and useResource, which are not described in detail here. These two use cases are concerned with the end-user's use of the metadata records (e.g. saveRecord, annotate and share) and resources (e.g. unpack, view, process, incorporate and store) that are the results of the use cases above.

Abstract Services

Abstract service: An identifiable portion of a business process. An abstract service includes a description of its functional scope, and an abstract model of its behavior and data.

The following abstract services are used to deliver the business processes described above:

Authentication (Enter)
Behavior: Determines that the user ID being presented to a network service is being used by the real-world individual who has the rights to use it.
Intelligence: User Profiles
Data in: User ID (IP address, username/password, digital certificate)
Data out: Binary result indicator (authenticated/not authenticated)
User Preferences (Enter)
Behavior: Provides information about the preferences of users.
Intelligence: User Profiles
Data in: User ID
Data out: User profile set
Service Registry (Survey, All)
Behavior: Provides descriptions of (metadata about) services and the content of collections made available through those services.
Intelligence: Collection descriptions, service descriptions
Data in: Collection ID, service ID, search query, harvest request, alert request
Data out: Collection and/or service description set
Terminology (Survey, Discover)
Behavior: Provides terminology-related services, such as mapping a term from one controlled vocabulary to another or expanding terms within a thesaurus.
Intelligence: Schema, Ontologies, Thesauri
Data in: Terminology request
Data out: Terminology response
Search (Discover)
Behavior: Accepts a structured query and issues a set of metadata records (a result set) in response to the query.
Intelligence: Schema
Data in: Structured query
Data out: Metadata record set
Alert (Discover)
Behavior: Provides information about new or updated resources.
Intelligence:
Data in: Alert request
Data out: Metadata record set
Metadata Schema Registry (Discover)
Behavior: Provides information about the metadata schemas in use by other services.
Intelligence: Schema
Data in: Schema ID
Data out: Schema description
Harvest (Discover)
Behavior: makes metadata records available for harvesting (regular gathering) by other services. Typically, this service will be invoked in order to harvest metadata records into a local database, either so that an end-user search or browse interface can be offered or so that the harvested records can be re-exposed for harvesting or searching by other services.
Intelligence:
Data in: Harvesting request
Data out: Metadata record set
Authorization (Discover, Detail, Deliver)
Behavior: Indicates whether an authenticated user ID has the necessary rights to access a particular resource.
Intelligence: Business Terms, User Profiles, Licenses/T&C
Data in: User ID
Data out: Binary result indicator (authorized/not authorized)
Identifier Resolver (Detail)
Behavior: Resolves an identifier into a location.
Intelligence:
Data in: Resource identifier
Data out: Resource location (e.g. a URL)
Rating/Annotation (Detail)
Behavior: Provides ratings and/or annotations about a resource.
Intelligence:
Data in: Resource identifier Data out: Rating and/or annotation set
Link server (Detail)
Behavior: Provides information and/or links (i.e. URLs) associated with a resource based on a metadata record about that resource.
Intelligence:
Data in: Metadata record
Data out: Information and links
Terms and Conditions (Detail)
Behavior: Provides information about the terms and conditions associated with a resource.
Intelligence:
Data in: Resource identifier
Data out: Terms and conditions

Service Bindings

Service binding: A specific instantiation of an abstract service. A service binding elaborates on an abstract service by providing all of the following which are applicable: 1) a specific data representation; 2) an Application Programming Interface (API) specification; and 3) a Web service specification.

This is currently a very minimal list of appropriate protocols and standards.

Authentication (Enter)
Athens, Shibboleth
User Preferences (Enter)
LDAP, eduPerson
Service Registry (Survey, All)
UDDI, OAI-PMH, Z39.50, SRW, DC Collection Description schema, WSDL
Terminology (Survey, Discover)
Z39.50 (Zthes), SRW, VDEX, OWL, RDF, RDFS
Search (Discover)
Z39.50 (Bath Profile), SRW, DC, IEEE LOM, METS, IMS-CP
Alert (Discover)
RSS
Metadata Schema Registry (Discover)
Z39.50, SRW, OAI-PMH
Harvest (Discover)
OAI-PMH, DC, IEEE LOM, METS, IMS-CP
Authorization (Discover, Detail, Deliver)
Athens, Shibboleth
Identifier Resolver (Detail)
PURL, DOI, Handle
Rating/Annotation (Detail)
IMS-RLI, DC, IEEE LOM
Link server (Detail)
OpenURL
Terms and Conditions (Detail)
ODRL, XrML

Appendix A - Deployed Services

Deployed service: A service that is made available on the network and that conforms to a service binding.

This appendix is indicative, rather than providing an enumerated list of deployed services, since there may well be many hundreds of deployed services making up the JISC IE. JISC IE deployed services can be mapped according to the diagram below:

JISC IE deployed services

List of example deployed services to be supplied