
----
h1. caGrid Projects Introduction
----
The following is a list of the projects provided in the caGrid release and a brief description of each.
* *advertisement*
** *Description:* This project contains the APIs needed for programmatically registering a service with the Index Service.
** *Type:* Service APIs
** *Usage:* These APIs are automatically integrated into Introduce-created services and so are generally not needed by caGrid users unless they are developing their own services without Introduce.
** *[Jars|caGrid13:caGrid 1.3 Jars#caGrid1.3Jars-caGridadvertisement1.3.jar]*
* *authentication-service*
** *Description:* This project contains the Authentication Service that provides a standardized service interface for exposing Dorian Identity Providers on the grid.
** *Type:* Service
** *Usage:* Anyone wishing to integrate an institutional user management system as a Dorian Identity Provider, can implement this service. Similarly, applications that provide log-in capabilities should use the client APIs provided by this service.
** *[Jars|caGrid13:caGrid 1.3 Jars#caGrid1.3Jars-caGridauthenticationserviceclient1.3.jar]*
* *cabigextensions*
** *Description:* This project contains a variety of Introduce extensions which customize Introduce for caBIG needs. These extensions include the caGrid metadata, ws-Enumeration, metadata viewers, and XMI based XSD creation extensions.
** *Type:* Introduce Extension
** *Usage:* Introduce provides integration with these components and they generally are not needed by caGrid users.
* *cadsr*
** *Description:* This project contains the Cancer Data Standards Repository (caDSR) Introduce Extensions, which provides the ability to browse the caDSR-registered projects in Introduce and their corresponding data types.
** *Type:* Introduce Extension
** *Usage:* Introduce provides integration with these components and they generally are not needed by caGrid users, though it does contain some higher-level client APIs for interacting with the caDSR Grid Data Service.
* *cds*
** *Description:* This project contains the Credential Delegation Service (CDS), which enables users/services (delegator) to delegate their Grid credentials to other users/services (delegatee) such that the delegatee(s) may act on the delegator's behalf.
** *Type:* Service
** *Usage:* This project contains the client APIs, code examples, and client tooling for interacting with the CDS Grid service, as well as the code and configuration necessary to deploy a local instance.
* *core*
** *Description:* This project contains a common set of utilities and APIs used by many caGrid projects.
** *Type:* APIs
** *Usage:* Most caGrid users will find the utilities provided by the project to be of general use in developing applications and services with caGrid. Some examples found here document the use of some of these APIs, but a complete reference can be found in the javadoc.
* *cql*
** *Description:* This project contains the schemas and beans for the caGrid standard data service query language.
** *Type:* APIs
** *Usage:* Those wishing to work programmatically with CQL or make use of the CQL schemas can use the libraries provided by this project.
* *csm-auth-extension*
** *Description:* This project contains an Introduce Authorization Extension that allows for the provision of authorization policies using a local CSM instance.
** *Type:* Introduce Extension
** *Usage:* Introduce provides integration with these components and they generally are not needed by caGrid users.
* *data*
** *Description:* This project contains the core data service infrastructure, tooling and utilities, as well as APIs for working with CQL and CQL query results.
** *Type:* APIs/Service APIs
** *Usage:* Most of the service code provided by this project is already added to data services which are created with Introduce, but the utilities it provides are of general use for custom data service implementations. Those developing applications that make use of data services or CQL will want to use the client APIs and utilities this project provides.
* *dataExtensions*
** *Description:* This project contains the Introduce extensions which add support for the data service infrastructure to Introduce.
** *Type:* Introduce Extension
** *Usage:* Introduce provides integration with these components and they generally are not needed by caGrid users. However, those developing custom data service extensions may find this a useful starting point.
* *discovery*
** *Description:* This project contains the APIs and code examples for discovering services from the Index Service.
** *Type:* APIs
** *Usage:* Those developing applications which make use of discovery may use the client APIs provided by this project.
* *dorian*
** *Description:* This project contains the Dorian Service which provides a user and credential management service.
** *Type:* Service
** *Usage:* The client APIs and utilities provided by this project can be used to provide authentication capabilities to applications. It also provides an administrative GUI, but its functionality can also be used through the general security GUI. Additionally, it contains the code and configuration necessary to deploy a local instance of Dorian.
* *enforceAuthExtension*
** *Description:* This project contains an Introduce Authorization Extension that allows for configuration of a service to simply check that a user is providing a valid grid identity.
** *Type:* Introduce Extension
** *Usage:* Introduce provides integration with these components and they generally are not needed by caGrid users.
* *fqp*
** *Description:* This project contains the Federated Query Processor (FQP) Grid Service and engine.
** *Type:* Service / APIs
** *Usage:* This project contains the client APIs, code examples, and client tooling for interacting with the FQP Grid service. It also provides the code and configuration necessary to deploy a local instance and the APIs for interacting with the FQP query engine locally in an application.
* *gaards-core*
** *Description:* This project contains various APIs and command line tools for working with Certificates.
** *Type:* APIs/Tools
** *Usage:* Most caGrid users will not need to work with these APIs or command line tools unless they are developing low-level security components. Most of the caGrid security components use these APIs internally.
* *gaards-ui*
** *Description:* This project contains the configuration files and libraries necessary for the unified security GUI.
** *Type:* APIs/Tools
** *Usage:* This project can be used to launch the unified security GUI (in addition to the main caGrid build file), and provides the graphical interfaces to GAARDS.
* *globalModelExchange*
** *Description:* This project contains the Global Model Exchange (GME) Grid Service.
** *Type:* Service
** *Usage:* This project contains the client APIs, code examples, and client tooling for interacting with the GME Grid service, as well as the code and configuration necessary to deploy a local instance.
* *globalModelExchange-ui*
** *Description:* This project contains the user interface components of the Global Model Exchange (GME) Grid Service.
** *Type:* Introduce Extension
** *Usage:* Introduce provides integration with these components and they generally are not needed by caGrid users, though some reusable user interface components for interacting with the GME can be found.
* *grape*
** *Description:* This project contains the Grid Application Environment (GrApE), which is a framework for developing component-oriented applications.
** *Type:* APIs/Tools
** *Usage:* Various caGrid GUI tools (such as the security administrative portal and workflow GUIs) leverage these APIs as a framework for developing graphical applications. APIs and sample configurations can be found for those wishing to build on this framework for "thick client" applications.
* *graph*
** *Description:* This project contains an API for graphically rendering UML models.
** *Type:* APIs/Tools