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 using Introduce.
- Jars

- authentication-service
- Description: This project contains the Authentication Service which 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 which provide log-in capabilities should use the client APIs provided by this service.
- Jars

- authz
- Description: This project contains the various authorization components caGrid provides for applying local authorization policy to services.
- Type: Service APIs
- Usage: Introduce provides integration with these components, but they can also be used standalone by service developers.
- bulkDataTransfer
- Description: This project contains the Bulk Data Transfer service and Introduce Extension, which is intended as a common interface for returning large data to a client from a service.
- Type: Introduce Extension
- Usage: Introduce provides integration with this component for service developers, but clients can use its client APIs for interacting with services that support this interface.
- 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 to your service.
- 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 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 programmatically work 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 which allows one to provision 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 which 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. It also contains the code and configuration necessary to deploy a local instance of Dorian.
- enforceAuthExtension
- Description: This project contains an Introduce Authorization Extension which allows one to configure 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
- Usage: Those wishing to render UML models in Swing can leverage this library.
- gridftpauthz
- Description: This project contains the code necessary to hook in caGrid authorization to GridFTP.
- Type: Service APIs
- Usage: Service developers wishing to make use of GridFTP and provide an integrated security solution can make use of these APIs to secure the GridFTP server with an authorization callout which the service can control. A GridGrouper and Database implementation are provided.
- gridgrouper
- Description: This project contains the GridGrouper Grid Service.
- Type: Service
- Usage: This project contains the client APIs, code examples, and client tooling for interacting with the GridGrouper Grid service, as well as the code and configuration necessary to deploy a local instance. It also provides an administrative GUI, but its functionality can also be used through the general security GUI.
- gridgrouper-auth-extension
- Description: This project contains an Introduce Authorization Extension which allows one to provision authorization policies using a grid grouper groups.
- Type: Introduce Extension
- Usage: Introduce provides integration with these components and they generally are not needed by caGrid users.
- gts
- Description: This project contains the Grid Trust Service (GTS) Grid Service, which provides the capability to manage the trust fabric of the grid.
- Type: Service
- Usage: This project contains the client APIs, code examples, and client tooling for interacting with the GTS Grid service, as well as the code and configuration necessary to deploy a local instance.
- index
- Description: This project contains the code necessary to deploy the Globus Index Service.
- Type: Service
- Usage: Those wishing to deploy a local instance of the Index Service may use this project.
- installer
- Description: This project contains the code used to create the caGrid installer.
- Type: APIs/Tools
- Usage: caGrid users generally do not need to use this project, though it could be used to create a specialized installer.
- introduce
- Description: This project contains the Introduce graphical service development toolkit.
- Type: APIs/Tools
- Usage: Service developers can launch Introduce from this project (or using the ant target in the main caGrid build file). Those wishing to develop extensions to Introduce can also make use of its APIs and configuration examples.
- introduce-buildtools
- Description: This project contains the code Introduce adds to generated services' build processes.
- Type: APIs/Tools
- Usage: caGrid users generally do not need to use this project, as Introduce adds its libraries to each service.
- introduce-clienttools
- Description: This project contains additional client libraries useful for interacting with Introduce services using advanced features such as notification.
- Type: APIs/Tools
- Usage: Those wishing to make use of ws-notification client helpers.
- introduce-servicetools
- Description: This project contains the code Introduce adds to generated services for additional service implementation utilities, such as security and persistence helpers.
- Type: APIs/Tools
- Usage: caGrid users generally do not need to use this project, as Introduce adds its libraries to each service.
- metadata
- Description: This project contains the schemas and beans for the caGrid standard metadata formats.
- Type: APIs
- Usage: Those wishing to programmatically work with caGrid metadata can use the libraries provided by this project.
- metadatautils
- Description: This project contains utilities for working with caGrid metadata and retrieving it from services.
- Type: APIs
- Usage: Those wishing to programmatically work with caGrid metadata and access it from services can use the libraries provided by this project.
- mms
- Description: This project contains the Metadata Model Service (MMS), which which provides the capability to 1) annotate standard caGrid service metadata with semantic information from external metadata registries, and 2) generate standard caGrid data service metadata using information from those registries.
- Type: Service
- Usage: This project contains the client APIs, code examples, and client tooling for interacting with the MMS Grid service, as well as the code and configuration necessary to deploy a local instance.
- opensaml
- Description: This project contains a repackaged version of opensaml (to avoid conflicts with the version used in Globus).
- Type: APIs
- Usage: This is used internally by Dorian and the Authentication Service, and is not generally usable by caGrid users.
- sdkQuery
- Description: This project contains the caCORE SDK version 3.1 implementation of a CQL Query Processor.
- Type: Service APIs
- Usage: These APIs are automatically integrated into Introduce-created, SDK-backed, data services, and so are generally not needed by caGrid users, unless they wish to create a modified version of the query processor.
- sdkQuery32
- Description: This project contains the caCORE SDK version 3.2.x implementation of a CQL Query Processor.
- Type: Service APIs
- Usage: These APIs are automatically integrated into Introduce-created, SDK-backed, data services, and so are generally not needed by caGrid users, unless they wish to create a modified version of the query processor.
- sdkQuery4
- Description: This project contains the caCORE SDK version 4.0 implementation of a CQL Query Processor.
- Type: Service APIs
- Usage: These APIs are automatically integrated into Introduce-created, SDK-backed, data services, and so are generally not needed by caGrid users, unless they wish to create a modified version of the query processor.
- sdkQuery41
- Description: This project contains the caCORE SDK version 4.1 implementation of a CQL Query Processor.
- Type: Service APIs
- Usage: These APIs are automatically integrated into Introduce-created, SDK-backed, data services, and so are generally not needed by caGrid users, unless they wish to create a modified version of the query processor.
- service-security-provider
- Description: This project contains the client service implementation of the operation used to configure operation security settings based on caGrid standard security metadata.
- Type: Service APIs
- Usage: Introduce-generated clients already make use of these libraries, so they are not explicitly needed by most service developers or clients. caGrid users developing low level generic service consuming applications may find use for them. Also, services wishing to override the default behavior of clients may also modify this code.
- service-tools
- Description: This project contains a variety of miscellaneous APIs for working with events, groups, and databases.
- Type: Service/APIs
- Usage: This project contains APIs which can be used in service implementations; it is leveraged by some of the security services.
- service-webapp
- Description: This project contains an experimental Introduce Extension and servlet which allows one to display a web page at an Introduce service's URL when viewed with a web browser (instead of the default Axis page).
- Type: Introduce Extension/APIs
- Usage: Introduce provides integration with this component for service developers, but this project can be used to deploy the servlet, which is necessary for its correct functioning.
- syncgts
- Description: This project contains the SyncGTS Grid Service and client APIs, which provide the capability to manage a node's trust certificates by querying one or more GTS services.
- Type: Service/APIs
- Usage: This project contains the client APIs, code examples, and client tooling for managing a node's trusted certificates as well as the code and configuration necessary to deploy a local SyncGTS service.
- TavernaWorkflowServices
- Description: This project contains the Taverna Workflow Services, which enables users/services to execute SCUFL workflows created with the Taverna workbench.
- Type: Service
- Usage: This project contains the client APIs for interacting with the service, as well as the code and configuration necessary to deploy a local instance.
- testing
- Description: This project contains APIs and resources used for testing services.
- Type: APIs
- Usage: This project contains the APIs, and resources which may be of use to service developers wishing to create functional tests.
- tools
- Description: This project, expected to contain additional utilities, currently contains a framework for validating the functionality of some core services.
- Type: APIs/Tools
- Usage: This project may be of use to extends for those wishing to validate the functionality of services they develop.
- transfer
- Description: caGrid Transfer is an Introduce Extension and supporting transfer service which enables services and clients to download and upload bulk data easily and efficiently to and from grid services and clients.
- Type: Introduce Extension/APIs
- Usage: Introduce provides integration with this component for service developers, but clients can use its client APIs for interacting with services that support this interface. It also contains the supporting web application which needs to be deployed to make use of it in services.
- websso
- Description: This project provides a comprehensive, Single Sign On solution for web application using caGrid's GAARDS Framework.
- Type: Web Application
- Usage: This project contains a web application which is the server component of websso.
- websso-client
- Description: This project provides a comprehensive, Single Sign On solution for web application using caGrid's GAARDS Framework.
- Type: Web Application/APIs
- Usage: This project contains APIs and servlet filters which represent the client component of websso.
- websso-client-acegi
- Description: This project provides a comprehensive, Single Sign On solution for web application using caGrid's GAARDS Framework.
- Type: Web Application/APIs
- Usage: This project contains APIs for an acegi-based client component of websso.
- websso-client-common
- Description: This project provides a comprehensive, Single Sign On solution for web application using caGrid's GAARDS Framework.
- Type: Web Application/APIs
- Usage: Users generally do not need to use this project directly, as its libraries are leveraged by the other client projects.
- websso-client-liferay
- Description: This project provides a comprehensive, Single Sign On solution for web application using caGrid's GAARDS Framework.
- Type: Web Application/APIs
- Usage: This project contains APIs for a liferay-based client component of websso.
- wizard
- Description: This project contains a simple wizard framework for building swing wizard-style interfaces.
- Type: APIs
- Usage: This is used internally by the caGrid installer, but may be of use to others doing similar functions.
- workflow
- Description: This project contains the Workflow Factory Grid Service, which provides the capability to execute BPEL-based workflows.
- Type: Service/Tools
- Usage: This project contains the client APIs, code examples, and client tooling for interacting with the workflow service, as well as the code and configuration necessary to deploy a local instance. It also provides a GUI for executing and monitoring workflows.
- wsEnum
- Description: This project contains the schemas, APIs, and utilities for implementing and working with the WS-Enumeration standard.
- Type: APIs
- Usage: Clients and service developers wishing to use generic WS-Enumeration implementations may use the client libraries from this project.





