LabKey/CPAS caBIG Architecture

As part of the caBIG infrastructure project, we will be configurating an instance of LabKey?/CPAS to share mass spectrometry data on caBIG. The following diagram indicates the general architecture we envision for our deployment.

http://lab.ac.uab.edu/~jpr/projects/cabig/cpas/cpas-network.png

The data service we created (and registered) exists on cabigbox. This is (or needs to be) the target of all external clients (or really any client that is pulling information from the index service).

When a cagrid client accesses the service hosted on on cabigbox, the data service internally connects as a client to the cpas-xp box.

This is why we needed to create the client library publish-client.jar. It is the client side library package that enables any client, whether it's a caGrid data service or just some other Java app, to interface with the CPAS API hosted at http://10.0.0.18:8080/publish.

This CPAS API is an extension to the normal CPAS interfaces and has been structured to be compatible with the caBIG data service requirements via the SQL views on the database. Whenever the publish-client.jar library is used to access the CPAS services, the client will use a set of library calls that access a caBIG-compatible data model.

By creating a data service using publish-client.jar on cabigbox, we created an application with introduce which makes API calls to a LabKey?/CPAS application. The application created by introduce, exposes these API calls to caGrid via the container from which it runs.

Notes for the configuration of the caBIG data service can be found here.