Recommended Developer Environment

To develop a client-side application which accesses the public Shared Records server, you don't need much at all. Because the HTTP Rest API exposes all the required functionality through simple web calls, you really just need a way to submit HTTP requests and parse the results. To develop robust client applications, though, you'll want a full development environment.

The Shared Records server is a Java servlet, available through subversion. At a minimum you'd need a recent JDK, a text editor and a subversion client to start developing on your own. Though, again, we recommend the tools listed below.

Generic Environment

The lowest-level access, from the command-line.

Unix utilities (Windows users require  MinGW or  Cygwin to use these):

Tool Which One Purpose
openssl latest Generate cryptographic keys and hashcodes. Only needed for the REST API. The Proxy API takes care of generating the needed keys.
curl latest Simple command-line access to web services

Windows utilities:

Tool Which One Purpose
fsum latest Simple command-line program for calculating hashcodes.
HashCalc latest Stand-alone application calculator for hashcodes.
HashOnClick freeware Windows Explorer Extension for calculating hashcodes. Right-click, then select algorithm to get the values.

Web-savvy Environment

These days, when do you do anything on your computer without a browser open? With a good browser and some developer-friendly extensions, you'll have a good debug tool on hand.

Tool Which One Purpose
Firefox latest A great browser, but also a web developer’s best friend with the inclusion of some select extensions.
Poster latest A Firefox extension for testing interaction with the server through HTTP calls.

Generic Development Environment

Building a client application just requires familiarity with the APIs and a language of your choice. You could create anything from a set of shell scripts to a Web 2.0 front-end.

Tool Which One Purpose
Web-friendly language Ruby, Java, PHP, etc For generating HTTP calls and parsing the results
Text editor any to edit your client source

Java Development Environment

Java is the preferred development environment for the core Shared Records developers, and our recommended platform for serious client development. To build and deploy the SharedRecordsServer or the JavaDemoApplication, this is what you'll need.

Tool Which One Purpose
JDK 1.5+ The baseline tools for Java development.
Java WSDP 2.0+ Web-services libraries for Java.
JUnit 4.0+ For building/running unit tests.
Ant 1.6.5+ Apache Ant java-based build tool.
Subversion 1.4.2+ Version control system for accessing the source.
Eclipse 3.2+ The Eclipse Integrated Development Environment
Subclipse 1.1.X Eclipse plugin that adds subversion integration.

Server Deployment Environment

The SharedRecordsServer and the ProxyServer? are deployed as Java Servlets. To work with your own install, you will need a compliant Java Application Server. Any of the following are reasonable options:

Tool Which One Description
Tomcat latest Apache Tomcat, the official Reference Implementation for the Java Servlet and JavaServer Pages technologies.
Sun JSAS latest Sun’s enterprise strength application server.
Eclipse Web Tools Platform latest stable Eclipse tools for web and J2EE applications. (requires the additional install of a server runtime)
  • Server Developer Setup - step-by-step instructions for setting up the recommended developer's environment for working with Shared Records source code