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.
- 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.
- 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 caDSR Grid Service, which provides access to registered models and the capability to generate service metadata.
- Type: Service
- Usage: This project contains the client APIs, code examples, and client tooling for interacting with the caDSR Grid service, as well as the code and configuration necessary to deploy a local instance.
- 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 in this document 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 languages.
- Type: APIs
- Usage: Those wishing to programmatically work with CQL can use the libraries provided by this project.
- data
- Description: This project contains the core data service infrastructure, tooling and utilities, as well as the definition and APIs for CQL.
- 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. Examples are provided elsewhere in this document.
- 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. Dorian is described elsewhere in this document.
- 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.
- evs
- Description: This project contains the EVS Grid Service, which is detailed later in this document.
- Type: Service
- Usage: This project contains the client APIs, code examples, and client tooling for interacting with the EVS Grid service, as well as the code and configuration necessary to deploy a local instance.
- fqp
- Description: This project contains the Federated Query Processor (FQP) Grid Service and engine, which are detailed later in this document.
- Type: Service / APIs
- Usage: This project contains the client APIs, code examples, and client tooling for interacting with the FQP Grid service, 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-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.
- gme
- Description: This project contains the Global Model Exchange (GME) Grid Service, which is detailed later in this document.
- 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.
- 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.
- gridca
- 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.
- 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, which is detailed later in this document.
- 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.
- 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. It also provides an administrative GUI, but its functionality can also be used through the general security GUI.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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 will enable 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.
- 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 wishing to use generic WS-Enumeration clients may use the client libraries from this project.





