Report TG CRIS Architecture and Development

advertisement
Report TG CRIS Architecture and Development
Maximilian Stempfhuber (January 27, 2011)
Status of Task Group
The Task Group has gained some new members after the Membership Meeting in Prague last
November. It now consists of five members, which is not too much but can serve as a start to finally
get things going.
Some people which expressed their interest before (e.g. during CRIS 2010 in Aalborg) have not joined
yet. They will be approached again as soon as the discussion paper on a wrapper architecture (see
below) is circulated.
Current Activities
With contributions from David Baker (CASRAI) I’m currently preparing a first discussion paper (3-5
pages) on a wrapper architecture for CRIS to start discussion and actual work. The general idea is to
see existing CRIS with all their different (internal) architecture and interfaces (e.g. database unload,
OAI-PMH, export of bibliographic data in BibTex, Endnote, RIS formats etc.) as “black boxes” for now
as most likely nothing fundamental can be changed in their architecture or the employed
technologies. What can be changed or added is a common set of interfaces to these black boxes
which rely on a common understanding of concepts, use (standardized) technologies available on
(nearly?) any platform, and which can be extended as needed (in an evolutionary way).
What will be suggested to the TG for discussion is a wrapper interface based on RESTful web services.
REST relies on the protocol that drives the Web (HTTP), is available on all platforms for which HTTP
Demons (web servers) exist and is supported by all major programming languages. Its basic concept
is to identify “resources” which can uniquely be addressed (by an URI which in essence is a URL
ending with a unique identifier) and to define “actions” on these resources which can be mapped to
the common HTTP verbs (GET, PUT, POST, DELETE). With a RESTful standard interface to CRIS the
following basic actions will be possible for any CRIS:






Retrieve a resource (e.g. a CERIF core entity, like Person or ResultPublication) ;
Check whether a resource has changed since a given point in time;
Retrieve and traverse links from a given resource to all other resources it is connected with;
Modify a resource;
Create a new resource (e.g. put a ResultPublication into a CRIS);
Delete a resource;
These core features of RESTful web service will be specified in a first step. Along with this, input and
output data formats will be defined. One of advantages of RESTful web services is that the underlying
HTTP protocol provides powerful means for content negotiation between client and server. This can
be used e.g. to retrieve information in different representations/formats (e.g. plain text, XML, JASON,
ATOM), versions, and languages.
Starting from these basic features of a standard interface to CRIS additional resources will be
defined, like searching in a CRIS, verifying core entities, retrieving statistics etc.
Download