Our subversion repository can be browsed here:

https://open.med.harvard.edu/svn/shrine

SHRINE follows common subversion conventions for directories within our repository. Of note are:

Within the trunk, two directories are important:

The code directory is the root of a Maven module tree. The following submodules/directories are present:

Directory

Description


adapter

The Shrine adapter; it communicates with a local i2b2 instance and exposes web APIs for Shrine and i2b2 use.

adapter-api

Classes and traits for invoking adapter services both locally and remotely.

auth

Classes and traits related to authorization and authentication.

broadcaster-aggregator

Classes and traits used for broadcasting queries and aggregatign results.

broadcaster-service

A rest API for the broadcaster-aggregator, allowing the broadcaster-aggregator to be located seperately from where queries enter a Shrine network.

client

Code for invoking Shrine APIs, both locally and remotely.

commons

Classes and traits representing messages that may be sent between Shrine nodes, plus parsing and marshalling code for Shrine and i2b2 formats.

config

Code to parse Shrine config files. Depends on Typesafe Config.

crypto

Code related to keystore management, signing, and signature verification.

data-commons

Code shared by Shrine components that work with relational DBs.

deploy

Deployment scripts, useful only to core Shrine developers at HMS.

hms-support

Code specific to the HMS deployment of Shrine.

install

Scripts for installing Shrine on i2b2 VMs.

integration

Integration tests.

ont-support

Code to provide Shrine ontology terms and communicate with i2b2 ontology cells.

proxy

The Shrine proxy; necessary to support the legacy web client and comply with architectural mandates.

service

A rest API that forms an entry point into the Shrine network for queries. It exposes an i2b2-flavored API for use by teh web client, and a rest API for use by Shrine components.

shrine-app

Shrine's application wiring and JAX-RS initialization code.

shrine-webclient

The legacy web client.

test-commons

Code shared by various unit tests.

util

Various utility classes and traits, for things like XML manipulation, dates and times, etc.

utilities/batch-querier

A tool for making a predefined set of queries. Designed for internal HMS use.

utilities/monitor

A tool for monitoring the status of Shrine nodes. Specific to teh HMS deployment.

utilities/scanner

A tool for testing ontology mappings. Designed for internal HMS use.

utilities/utility-commons

Classes and traits shared by various utility modules.

war

Packages a Shrine war capable of exposing the adapter, broadcaster-service, shrine-service, and happy APIs.