Overview

This all volunteer team has been formed to advance the REST Implementation proposal to a concrete implementation. This is in the context of the process driven by the Concrete Implementation Workgroup. For those volunteering for this effort (and anyone else interested), please set your wiki notification configuration for the following two pages so that you see changes/discussions via email or RSS (or set your wiki-wide configuration to see all changes/discussions):

Three implementations of the REST interfaces have been created. Two of the reference implementations are written in Java (one using Spring MVC 3.0 and other Jersey) and the third one written using Ruby on Rails.

Volunteers - Ruby on Rails Implementation

Approach

This project has implemented two prototype HISP implementations (one in Java and one in Ruby) based on the Software Map described below.

Software Map

Conceptually, REST is not necessarily tied to HTTP; however, this reference implementation will assume HTTP and build upon it. As currently specified in the REST implementation, URL query parameters will not be used. Resources are addressed by URL paths only with non-standard HTTP headers used as little as possible. OpenSSL was used to create a test CA that is used to generate certificates as needed for test implementation.

NHIN Direct Address: This follows the Addressing Specification with the To address being expressed as a path element in the URI.

NHIN Direct HISP Address Directory: This is DNS.

HISP: This component has been written as a Spring MVC 3.0-based web application deployed in a Jetty container and as a Ruby on Rails implementation.

Task List

This list is intended to allow team members to pick off specific pieces of work that can be done and integrated into the project as a whole. If you are working on an item, put your name in front of it and an expected completion date.

Name

Expected Completion Date

Task

Agree on how HISP-to-HISP authentication and authorization will work. Either extract a username from the HISPs Subject CN or insert the originating user's username in the Basic HTTP "Authoriization" header. Implement in Java and Ruby of Rails HISPs.