Getting Started with SUSHI: For Developers of SUSHI Servers
In basic terms, The SUSHI protocol provides instructions to automate the collection of usage statistics reports, which librarians would otherwise manually download from a vendor website or receive via e-mail. SUSHI is a relatively simple request-response protocol that calls for a client-server implementation. Typically the usage statistics management software used by librarians will act as a client that sends a request to a web service on implemented by a publisher or content provider. If you are a developer working for a publisher or content provider, it is this web service that you will be developing.
Remember that as you embark on this project you are not alone. The SUSHI developer list (http://www.niso.org/lists/sushidevelopers/) provides you with access to a number of experts who can answer questions and provide guidance. And don’t forget the FAQs at http://www.niso.org/workrooms/sushi/faq/provider.
You will find lots of helpful information on the SUSHI website that will make your job much easier. Below is a quick checklist of things you need to consider:
| Task | Suggestions and Resources |
| You need to have access to the COUNTER compliant usage statistics for the content provider/platform that you are implementing the web service for. | This is something you need to pursue with the organization you are developing the service for. |
| You need to determine which reports you need to support. |
The type of reports you need to support is dictated by COUNTER. Release 3 of the COUNTER Code of Practice (http://www.projectcounter.org/r3/Release3D9.pdf) lists the reports needed for compliance in section 4. Another quick reference to the needed reports is the Compliant Vendors table on the COUNTER site (http://www.projectcounter.org/compliantvendors.html). |
| You need to select an approach to access control and security | Security and access control is often a concern when implementing a web service. One of the challenges is to ensure that the security scheme you implement does not negatively impact interoperability. Start by reading the best practices document at: http://www.niso.org/apps/group_public/document.php?document_id=2650 |
| You need to develop the SUSHI service. | There are a number of tools on the NISO Tools and other Aids web page (http://www.niso.org/workrooms/sushi/tools). For .NET developers, EBSCO has provided an open source software developers toolkit that provides an excellent framework for doing your work. Download the SDK from http://code.google.com/p/ebscosushisdk/ and start by reading the documentation in the zip file. |
| You need to test the results. | Serials Solutions has kindly provided an open source SUSHI client that is ideal for testing your server and validating the results. Access the client and its source code at: http://code.google.com/p/sushicounterclient/. |
| You need to have others help with the testing. | The SUSHI developer community is a great place to ask for help. When you are ready to have others try your new service, send a note to the developer list (sign up at: http://www.niso.org/lists/sushidevelopers/) and ask for volunteers. |
| You need to consider options for scalability. | COUNTER reports can be very big; therefore, you need to consider how
best to scale your SUSHI server for peak times. Look in the SUSHI FAQs
at http://www.niso.org/workrooms/sushi/faq/provider for suggestions
like preventing overloading the server by queuing up requests. |
| You need to release and register your server. | The final step is registering your server on the SUSHI Server registry: http://sites.google.com/site/sushiserverregistry/. Select the “Join the registry” link beneath the NISO logo and add your data. It will appear in the registry within one or two days. |
