# Presentation: 769526

## Data Grid Services Design

**Data Grid Services Design**
**caGrid 0.5**

- Manav Kher.
- Ruowei Wu.
- Jijin Yan
- Ram Chilukuri

## Outline

- Data service architecture.
- Silver compliant data services.
- Silver data services and the grid.
- caBIG Data resources.
- caBIG XML query activity.
- Query language and perform document.
- Data service configuration files.
- Deployment diagram.
- Data services and Grid security
- Future actions.

## Grid Data Service Architecture

- * Diagram from OGSA-DAI

## Grid Data Service Architecture (Cont.)

- _Data Layer_: The data layer consists of  caBIG silver data resources (Server side).
- _Business logic layer_: This layer encapsulates the core functionality. This includes: Execution of Perform documents which specify sequences of data resource queries and updates and data transformation and delivery operations. Preparation of responses to client requests for data resource query, update, transformation and delivery activities. Responses include execution status information and can also include data.  Responses are in the form of Response documents. Data transformation and delivery management. caBIG data resource and SDK activity.
- _Presentation layer – Business logic layer interface_: This interface communicates information between the presentation and business logic layers. This interface supports invocation of OGSA-DAI functionality within the business logic layer in a way that is independent of any Web or Grid environment i.e. a way that is also suitable to allow non-Web-enabled clients to access OGSA-DAI functionality directly.
- _Presentation layer_: This layer encapsulates the functionality relating to exposing OGSA-DAI to a Grid via Web- or Grid-enabled interfaces. For each realization there is associated WSDL and XML Schema describing the Web- or Grid-enabled interfaces. The following presentation layer interfaces are supported: OGSA-DAI OGSI-compliant services based on the Globus Toolkit 3.2, OGSA-DAI WS-RF-compliant services based on the Globus Toolkit 4.0 and OGSA-DAI WS-I-compliant services based on Apache Axis 1.2 Apache.
- _Client_: OGSA-DAI provides a Client Toolkit which provides a higher-level of interaction with OGSA-DAI services than that supported by exchanging Perform and Response documents.

## caGrid Layers

- Grid Layer – GT3 and OGSA-DAI

- Metadata and Semantic connector Layer – caDSR and EVS

- Data Layer - caBIG Object Resource

## Silver compliant data services

**Silver compliant data services**

- Object Model Generated Server

- caDSR

- Client Generated

- Data

- Standard API

- Standard
- Vocabulary

- CDE

## Silver data resource in the caGrid infrastructure

**Silver data resource in the caGrid infrastructure**

- Silver complaint
- data services

- Query

- caBIG Gird Infrastructure

- Standard data grid interface

## caBIG Data Resource - caGrid OGSA-DAI extensions. 

- DataResourceMediator
- (from ogsa-dai)

- SDKDataResourceMediator

- CaArrayDataResourceMediator

- Reference Implementations extends the OGSA-DAI DataResourceMediator abstract class

## Interacting with data resources

- OGSA-DAI and caGrid extensions supports interaction with data resources, and other data manipulation operations, via a document-oriented interface:
- Activities - are the data resource manipulation, data transformation and delivery actions that a client wants an OGSA-DAI service to perform. Activities are the basic building block of Perform documents.
- Perform Documents - are used by clients to specify to OGSA-DAI services the data resource query and update, data transformation and data delivery activities they want executed.
- Response Documents - are used by OGSA-DAI services to inform clients as to the status of execution of their Perform documents and, often, to also return data to a client.

## Activities

- Activities include data resource manipulation, data transformation and delivery actions that a client wants an OGSA-DAI service to perform. Some activities are data resource-specific (e.g. relational or XML query activities), others (e.g. delivery and data transformation) are generic.
- Activities are the basic building block of Perform documents.
- Activities are designed to inter-operate. For example, the output of an caGridQuery can be directed to a deliverToURL activity thereby allowing data to be delivered to third parties. To support inter-operation an activity can have zero or more inputs and zero or more outputs. These outputs can be given specific names and are termed stream

## caBIG Activity - caGrid OGSA-DAI extensions. 

- Activity
- (from ogsa-dai)

- SDKXMLQueryActivity

- CaBIGXMLQueryActivity

- CaArrayXMLQueryActivity

- Extends from OGSA-DAI activity.
- Query language implementation which represents the data source API.
- When code is generate with SDK, no code required to expose data service in the grid.
- One query language regardless of the data source.

## Perform Document

- Perform documents are used by clients to specify to OGSA-DAI services the data resource query and update, data transformation and data delivery activities they want executed.
- A Perform document specifies an inter-connected collection of one or more activities. Activities are connected by ensuring that the output stream of one activity is named as the input stream of another activity. Any activity whose output stream(s) are not referenced by another activity's input stream(s) will have their output inserted into a Response document

- <gridDataServicePerform xsi:schemaLocation="http://ogsadai.org.uk/namespaces/2003/07/gds/types>
-     <documentation>This example demonstrates how to parameterise an caBIO</documentation>
-     <caBIGXMLQuery name="MyQueryTest1">
-         <Target name="gov.nih.nci.cabio.domain.Taxon" path="gov.nih.nci.cabio.domain.Taxon">
-             <Objects name="gov.nih.nci.cabio.domain.impl.Gene">
-                  <Property name="id" predicate="equal" value="2"/>
-             </Objects>
-         </Target>
-     <webRowSetStream name="myQueryOutput"/>
-     </caBIGXMLQuery>
-  <deliverToGDT name="deliverQueryResults">
-           <fromLocal from="myQueryOutput"/>
-           <toGDT streamId="otherServiceInput” mode="full">http://localhost:8080/www.Georgetown.edu</toGDT>
-     </deliverToGDT>
- </gridDataServicePerform>

## Sample – XML Query Language 

- <caBIGXMLQuery name="MyQueryTest7">
-      <Target name="gov.nih.nci.cabio.domain.Agent">
-             <Objects name="gov.nih.nci.cabio.domain.impl.Target">
-                   <Group LogicRelation="OR">
-                          <Objects name="gov.nih.nci.cabio.domain.impl.Gene">
-                                   <Property name="id" predicate="equal" value="2"/>
-                         </Objects>
-                         <Objects name="gov.nih.nci.cabio.domain.impl.Gene">
-                                  <Property name="symbol" predicate="like" value="Nat*"/>
-                         </Objects>
-                   </Group>
-              </Objects>
-        </Target>
- </caBIGQuery>

- _Description_: Run a caGrid query on a caBIG data resource API.

## Query language Specification

**Element**: caBIGXMLQuery - This represent the activity name.
- _Attribute_: name - This gives a name for a query. Currently there is no process for the attribute. Therefore, the name can be arbitrary.
**Element:** Target - The target object of a searching query.
- _Attribute_: name - Name of the target object. It should be of full package path.
- _Attribute_: path - This gives an association between the target object and the criteria object. Different path may result in different search results.
**Element**: Object - This is a search criteria object. In NCICB object oriented data model, searching criteria is object(s).
- _Attribute_: name - This is the name of the search criteria object. It also should be of full package path.
**Element**: Group - Under this element, a list or collection of different searching objects are composed.
- _Attribute_: LogicRelation - Currently, it only contains "OR" and "AND". "OR" represents list and "AND" represents collection.

## Response document Specification

- _Element request_ (one or more) - the status of the request (the status of execution of the Perform document):
- _Attribute status_ (required) - the status of the request. This takes one of the following values:
- PROCESSING - the request is still running.
- COMPLETED - the request has sucessfully completed.
- TERMINATED - the request has been terminated.
- ERROR - the request encountered a problem.
- _Attribute cause_ (zero or one) - if the status is an ERROR then this attribute will hold the name of the activity that caused the error.
- _Element result_ (one or more) - the status of an activity plus, depending upon the activity, any results or other information.
- _Attribute name_ (required) - the name of the activity. This corresponds to the value of the name attribute of an activity specified within the Perform document.
- _Attribute status_ (required) - the status of the activity. This takes one of the following values:
- UNSTARTED - the activity has not yet been started.
- PROCESSING - the activity is still running.
- COMPLETED - the activity has sucessfully completed.
- ERROR - the activity encountered a problem.
- _Zero or more XML elements_ containing the results of an activity, if applicable., if applicable.

## Data resource configuration

- Tomcat / Axis:
- Server-config.wsdd
- OGSA-DAI:
- DataResourceConfigCABIG.xml
- ActivityConfigCABIG.xml
- Index service:
- caGrid-SDE-registration.xml
- caGrid-SDE-config.xml
- Metadata:
- caGrid-common-metadata.xml
- cadsr-metadata-extract.xml

## Server-config.wsdd

-  <service name="cagrid/caBIO" provider="Handler" style="wrapped" use="literal">
-   <parameter name="instance-dai.version" value="OGSI 5.0"/>
-   <parameter name="instance-schemaPath" value="schema/ogsadai/gds/gds_service.wsdl"/>
-   <parameter name="ogsadai.gdsf.config.xml.file"
-     value="/caGrid05/jakarta-tomcat-5.0.30/webapps/ogsa/WEB-INF/etc/_cagrid_caBIO/dataResourceConfigCABIG.xml"/>
-   <parameter name="className" value="gov.nih.nci.cagrid.data.stubs.CaGridDataServiceFactoryPortType"/>
-   <parameter name="ogsadai.gdsf.activity.xml.file”
-     value="/caGrid05/jakarta-tomcat-5.0.30/webapps/ogsa/WEB-INF/etc/_cagrid_caBIO/activityConfigCABIG.xml"/>
-   <parameter name="operationProviders"
-     value="org.globus.ogsa.impl.base.providers.servicedata.ServiceDataProviderManager
-                 org.globus.ogsa.impl.core.registry.RegistryPublishProvider
-                 org.globus.ogsa.impl.ogsi.NotificationSourceProvider
-                 org.globus.ogsa.impl.ogsi.FactoryProvider"/>
-   <parameter name="dai.version" value="OGSI 5.0"/>
-   <parameter name="baseClassName" value="uk.org.ogsadai.service.gdsf.impl.GridDataServiceFactory"/>
-   <parameter name="instance-baseClassName" value="uk.org.ogsadai.service.gds.impl.GridDataService"/>
-   <parameter name="serviceConfig" value="etc/_cagrid_caBIO/caGrid-SDE-config.xml"/>
-   <parameter name="allowedMethods" value="*"/>
-   <parameter name="instance-operationProviders" value="org.globus.ogsa.impl.ogsi.NotificationSourceProvider"/>
-   <parameter name="registrationConfig" value="etc/_cagrid_caBIO/caGrid-SDE-registration.xml"/>
-   <parameter name="schemaPath" value="schema/cagrid/cagdsf/caGridDataServiceFactoryPortType_service.wsdl"/>
-   <parameter name="instance-name" value="Data Service"/>
-   <parameter name="persistent" value="true"/>
-   <parameter name="instance-className" value="uk.org.ogsadai.service.gds.GDSPortType"/>
-   <parameter name="activateOnStartup" value="true"/>
-   <parameter name="handlerClass" value="org.globus.ogsa.handlers.RPCURIProvider"/>
-   <parameter name="factoryCallback" value="uk.org.ogsadai.service.gdsf.impl.GridDataServiceFactoryCallback"/>
-   <parameter name="name" value="caGrid Data Service Factory"/>
-  </service>

## ActivityConfigCABIG.xml

- <activityConfiguration
-     xmlns="http://ogsadai.org.uk/namespaces/2004/05/gdsf/config"
-     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-     xsi:schemaLocation="http://ogsadai.org.uk/namespaces/2004/05/gdsf/config
-        http://localhost:8080/ogsa/schema/cagrid/xsd/cabig_activity_config.xsd">
-   <!-- Location of the base perform document schema -->
-   <basePerformDocumentSchema
-     location="http://localhost:8080/ogsa/schema/cagrid/types/grid_data_service_types.xsd"/>
-   <activityMap schemaBase="http://localhost:8080/ogsa/schema/cagrid/xsd/activities/">
-         <!-- caGrid specific activities -->
-           <activity name="caBIGXMLQuery"
-                 implementation="gov.nih.nci.cagrid.activity.caBIOXMLQueryActivity"
-               schema="caBIG_xml_query.xsd">
-               <description>
-                   caGrid XML query implementation.
-               </description>
-           </activity>
-     <!-- Delivery activities -->
-   </activityMap>
- </activityConfiguration>

## caGrid-SDE-registration.xml

- <?xml version="1.0" encoding="UTF-8" ?>
- <serviceConfiguration xmlns:ogsi="http://www.gridforum.org/namespaces/2003/03/OGSI"
-     xmlns:aggr="http://www.globus.org/namespaces/2003/09/data_aggregator"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema">
-    <registrations>
-       <registration registry="http://cagrid-registry.nci.nih.gov:8080/ogsa/services/base/index/IndexService"
-              keepalive="true" lifetime="1200" remove="true">
-          <aggr:DataAggregation>
-             <ogsi:params>
-                <aggr:AggregationSubscription>
-                   <ogsi:serviceDataNames>
-                      <ogsi:name xmlns:data="http://cagrid.nci.nih.gov/1/caDSRMetadata">
-                          data:caDSRMetadata
-                      </ogsi:name>
-                      <ogsi:name xmlns:com="http://cagrid.nci.nih.gov/1/CommonServiceMetadata">
-                          com:CommonServiceMetadata
-                      </ogsi:name>
-                   </ogsi:serviceDataNames>
-                   <aggr:lifetime>60000</aggr:lifetime>
-                </aggr:AggregationSubscription>
-             </ogsi:params>
-          </aggr:DataAggregation>
-       </registration>
-    </registrations>
- </serviceConfiguration>

## caGrid-SDE-config.xml

**<?xml version="1.0" encoding="UTF-8" ?>**
**<serviceConfiguration xmlns:ogsi="http://www.gridforum.org/namespaces/2003/03/OGSI"**
**      ****xmlns:aggregator="http://www.globus.org/namespaces/2003/09/data_aggregator" **
**      ****xmlns:provider-exec="http://www.globus.org/namespaces/2003/04/service_data_provider_execution"**
**      ****xmlns:xsd="http://www.w3.org/2001/XMLSchema"> **
**  ****<installedProviders> **
**    ****<providerEntry **
**        ****class="org.globus.ogsa.impl.base.providers.servicedata.impl.AsyncDocumentProvider" /> **
**  ****</installedProviders>**
**  ****<executedProviders>**
**    ****<provider-exec:ServiceDataProviderExecution>**
**      ****<provider-exec:serviceDataProviderName>AsyncDocument</provider-exec:serviceDataProviderName>**
**      ****<provider-exec:serviceDataProviderImpl>**
**         ****org.globus.ogsa.impl.base.providers.servicedata.impl.AsyncDocumentProvider**
**      ****</provider-exec:serviceDataProviderImpl>**
**      ****<provider-exec:serviceDataProviderArgs>**
**         ****-i 60000 -f etc/_cagrid_caBIO/caGrid-common-metadata.xml **
**      ****</provider-exec:serviceDataProviderArgs>**
**      ****<provider-exec:refreshFrequency>360</provider-exec:refreshFrequency>**
**      ****<provider-exec:async>true</provider-exec:async>**
**    ****</provider-exec:ServiceDataProviderExecution>**
**    ****<provider-exec:ServiceDataProviderExecution>**
**      ****<provider-exec:serviceDataProviderName>AsyncDocument</provider-exec:serviceDataProviderName>**
**      ****<provider-exec:serviceDataProviderImpl>**
**         ****org.globus.ogsa.impl.base.providers.servicedata.impl.AsyncDocumentProvider**
**      ****</provider-exec:serviceDataProviderImpl>**
**      ****<provider-exec:serviceDataProviderArgs>**
**         ****-i 60000 -f etc/_cagrid_caBIO/cadsr-metadata-extract.xml **
**      ****</provider-exec:serviceDataProviderArgs>**
**      ****<provider-exec:refreshFrequency>360</provider-exec:refreshFrequency>**
**      ****<provider-exec:async>true</provider-exec:async>**
**    ****</provider-exec:ServiceDataProviderExecution></executedProviders>**
**</serviceConfiguration>**

## caGrid-common-metadata.xml

- <CommonServiceMetadata xmlns="http://cagrid.nci.nih.gov/1/CommonServiceMetadata">
-     <researchCenterInfo>
-         <researchCenterBioDataType>Biology</researchCenterBioDataType>
-         <researchCenterName>Reserach Center</researchCenterName>
-         <researchCenterType>XYZ</researchCenterType>
-         <researchCenterAddress>6116 Exceutive Dr.</researchCenterAddress>
-         <researchCenterPhone>301-451-1234</researchCenterPhone>
-         <researchCenterFax>301-451-1234</researchCenterFax>
-         <researchCenterPOCName>Jonh Brown</researchCenterPOCName>
-         <researchCenterDescription>Good</researchCenterDescription>
-         <researchCenterComments>Testing caGrid</researchCenterComments>
-      </researchCenterInfo>
- </CommonServiceMetadata>

## Semantic Metadata – UML to caDSR Mapping

- UML Class is mapped to an Object Class
- Attribute of a UML Class is mapped to a Property
- Combination of UML Class and Attribute is mapped to Data Element Concept
- Combination of UML Class, Attribute and it’s Datatype is mapped to Data Element (CDE)
- UML Class and it’s attribute are based on EVS concepts
- UML Model/Project is mapped to Classification Scheme
- Packages are mapped to classification scheme items

## Domain Model Metadata - caDSR

- Unique Identifier: public ID and version
- Short Name: Acronym of the project to which the domain model belongs to.
- Long Name: Full name of the project
- Detailed description of the project

## Domain Object Metadata - caDSR

**Domain Object Metadata - caDSR**

- Unique identifier consisting of public ID and version
- Package qualified domain object name, long name and description based on EVS concepts
- EVS concepts it is based on
- Concept Code, Concept Preferred Name, Concept Definition

## Domain Object Attribute Metadata - caDSR

- Unique identifier consisting of public ID (CDE ID) and version
- Attribute Name, Long Name and Description based on EVS concepts
- EVS concept codes it is based on
- Value Domain information
- Datatype
- Permissible Values
- Concept codes
- List contained within each Domain Object

## Domain Object Association Metadata - caDSR

**Domain Object Association Metadata - caDSR**

- Describes a named relationship (source -> target) between two Domain Objects
- Uses references to domain object unique identifier(public ID and version) instead of value copy
- List contained within each Domain Object

## caDSR-metadata-extract.xml

- <?xml version="1.0" encoding="UTF-8"?>
- <caDSRMetadata xmlns="http://cagrid.nci.nih.gov/1/caDSRMetadata"
-                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-                xsi:schemaLocation="http://cagrid.nci.nih.gov/1/caDSRMetadata
-                                    http://localhost:/ogsa/schema/cagrid/types/Common/caDSRMetadata.xsd">
- <domain-model id="2262164" version="3.0">
- 	<short-name>caCORE</short-name>
- 	<long-name>caCORE</long-name>
- 	<description>caCORE Description</description>
- 	<domain-object id="2223329" version="1.0">
- 		<full-name>
- 			<package-name>gov.nih.nci.cabio.domain</package-name>
- 			<class-name>DiseaseOntologyRelationship</class-name>
- 		</full-name>
- 		<long-name>DiseaseOntologyRelationship</long-name>
- 		<short-name>C45371</short-name>
- 		<concept-codes-list>
- 			<concept-element order="0">
- 				<concept-code>C45371</concept-code>
- 				<concept-preferred-name>
- 				    DiseaseOntologyRelationship
- 				</concept-preferred-name>
- 				<concept-definition>
- 				    The disease relationship specifies the relationship among diseases.
- 				</concept-definition>
- 			</concept-element>
- 		</concept-codes-list>
- 		<attributes-list>
- 			<attribute id="2223846" version="3.0">
- 				<name>id</name>
- 				<long-name>Identifier</long-name>
- 				<short-name>C25364</short-name>
- 				<concept-codes-list>
- 					<concept-element order="0">
- ...

## Data service deployment Diagram

- Tomcat.
- Axis.
- Globus.
- OGSA-DAI

- Data grid
- Service I.

- Service
- metadata

- Service
- Configuration
- files

- Data grid
- Service N.

- Service
- metadata

- Service
- Configuration
- files

**.**
**.**
**.**

- caGrid
- Service

- caGrid
- Service

**Research Center Grid Node**

- Application
- server

- Application
- server

- caGrid
- Data service API.

- Data
- Base

- Data
- Base

## Data service and security

- Data Service Client

**Data service and security**

- GUMS
- (User Management)

- CAMS
- (Attribute Management)

- Index Service
- (Service Registry)

**Notes:**
Globus Tool kit 3/4 Grid framework.
Registry and Index service  (Advertisement, Discovery, Virtual Organizations).
Globus security (GSI-CAS, myProxy)
Authentication, Authorization, Delegation, Encryption.
Mobius
MAKO as grid cached service.
GME as metadata repository framework.
Globus Core, Index services, COG and GRAM as Invocation.
OGSA-DAI as Grid Data layer
Exposing data service.
Query language that represents the objects.
Metadata (Object description) as caDSR Instances.
Additional metadata as GLOBUS metadata.
DQP 2.0 / 3.x
Query plan.
Architecture for federation.
caDSR/EVS service as semantic layer
Provides information for federation.
Helps to advertise and discover services.
Semantic resolution on the Grid.

## Data service and security

- Data Service Client

**Data service and security**

- GUMS
- (User Management)

- CAMS
- (Attribute Management)

- Index Service
- (Service Registry)

- caArray Data Service
- (Secure)

**Notes:**
Globus Tool kit 3/4 Grid framework.
Registry and Index service  (Advertisement, Discovery, Virtual Organizations).
Globus security (GSI-CAS, myProxy)
Authentication, Authorization, Delegation, Encryption.
Mobius
MAKO as grid cached service.
GME as metadata repository framework.
Globus Core, Index services, COG and GRAM as Invocation.
OGSA-DAI as Grid Data layer
Exposing data service.
Query language that represents the objects.
Metadata (Object description) as caDSR Instances.
Additional metadata as GLOBUS metadata.
DQP 2.0 / 3.x
Query plan.
Architecture for federation.
caDSR/EVS service as semantic layer
Provides information for federation.
Helps to advertise and discover services.
Semantic resolution on the Grid.

## Data service and security

- Data Service Client

**Data service and security**

- GUMS
- (User Management)

- CAMS
- (Attribute Management)

- Index Service
- (Service Registry)

- caArray Data Service
- (Secure)

- User Login

**Notes:**
Globus Tool kit 3/4 Grid framework.
Registry and Index service  (Advertisement, Discovery, Virtual Organizations).
Globus security (GSI-CAS, myProxy)
Authentication, Authorization, Delegation, Encryption.
Mobius
MAKO as grid cached service.
GME as metadata repository framework.
Globus Core, Index services, COG and GRAM as Invocation.
OGSA-DAI as Grid Data layer
Exposing data service.
Query language that represents the objects.
Metadata (Object description) as caDSR Instances.
Additional metadata as GLOBUS metadata.
DQP 2.0 / 3.x
Query plan.
Architecture for federation.
caDSR/EVS service as semantic layer
Provides information for federation.
Helps to advertise and discover services.
Semantic resolution on the Grid.

## Data service and security

- Data Service Client

**Data service and security**

- GUMS
- (User Management)

- CAMS
- (Attribute Management)

- Index Service
- (Service Registry)

- caArray Data Service
- (Secure)

- User Login

- Retrieve Proxy Certificate

**Notes:**
Globus Tool kit 3/4 Grid framework.
Registry and Index service  (Advertisement, Discovery, Virtual Organizations).
Globus security (GSI-CAS, myProxy)
Authentication, Authorization, Delegation, Encryption.
Mobius
MAKO as grid cached service.
GME as metadata repository framework.
Globus Core, Index services, COG and GRAM as Invocation.
OGSA-DAI as Grid Data layer
Exposing data service.
Query language that represents the objects.
Metadata (Object description) as caDSR Instances.
Additional metadata as GLOBUS metadata.
DQP 2.0 / 3.x
Query plan.
Architecture for federation.
caDSR/EVS service as semantic layer
Provides information for federation.
Helps to advertise and discover services.
Semantic resolution on the Grid.

## Data service and security

- Data Service Client

**Data service and security**

- GUMS
- (User Management)

- CAMS
- (Attribute Management)

- Index Service
- (Service Registry)

- caArray Data Service
- (Secure)

- User Login

- Retrieve Proxy Certificate

- Discovery

**Notes:**
Globus Tool kit 3/4 Grid framework.
Registry and Index service  (Advertisement, Discovery, Virtual Organizations).
Globus security (GSI-CAS, myProxy)
Authentication, Authorization, Delegation, Encryption.
Mobius
MAKO as grid cached service.
GME as metadata repository framework.
Globus Core, Index services, COG and GRAM as Invocation.
OGSA-DAI as Grid Data layer
Exposing data service.
Query language that represents the objects.
Metadata (Object description) as caDSR Instances.
Additional metadata as GLOBUS metadata.
DQP 2.0 / 3.x
Query plan.
Architecture for federation.
caDSR/EVS service as semantic layer
Provides information for federation.
Helps to advertise and discover services.
Semantic resolution on the Grid.

## Data service and security

- Data Service Client

**Data service and security**

- GUMS
- (User Management)

- CAMS
- (Attribute Management)

- Index Service
- (Service Registry)

- caArray Data Service
- (Secure)

- User Login

- Retrieve Proxy Certificate

- Query (Secure)

**Notes:**
Globus Tool kit 3/4 Grid framework.
Registry and Index service  (Advertisement, Discovery, Virtual Organizations).
Globus security (GSI-CAS, myProxy)
Authentication, Authorization, Delegation, Encryption.
Mobius
MAKO as grid cached service.
GME as metadata repository framework.
Globus Core, Index services, COG and GRAM as Invocation.
OGSA-DAI as Grid Data layer
Exposing data service.
Query language that represents the objects.
Metadata (Object description) as caDSR Instances.
Additional metadata as GLOBUS metadata.
DQP 2.0 / 3.x
Query plan.
Architecture for federation.
caDSR/EVS service as semantic layer
Provides information for federation.
Helps to advertise and discover services.
Semantic resolution on the Grid.

## Data service and security

- Data Service Client

**Data service and security**

- GUMS
- (User Management)

- CAMS
- (Attribute Management)

- Index Service
- (Service Registry)

- caArray Data Service
- (Secure)

- User Login

- Retrieve Proxy Certificate

- caArray username/password

- Query (Secure)

**Notes:**
Globus Tool kit 3/4 Grid framework.
Registry and Index service  (Advertisement, Discovery, Virtual Organizations).
Globus security (GSI-CAS, myProxy)
Authentication, Authorization, Delegation, Encryption.
Mobius
MAKO as grid cached service.
GME as metadata repository framework.
Globus Core, Index services, COG and GRAM as Invocation.
OGSA-DAI as Grid Data layer
Exposing data service.
Query language that represents the objects.
Metadata (Object description) as caDSR Instances.
Additional metadata as GLOBUS metadata.
DQP 2.0 / 3.x
Query plan.
Architecture for federation.
caDSR/EVS service as semantic layer
Provides information for federation.
Helps to advertise and discover services.
Semantic resolution on the Grid.

## Data service and security

- Data Service Client

**Data service and security**

- GUMS
- (User Management)

- CAMS
- (Attribute Management)

- Index Service
- (Service Registry)

- caArray Data Service
- (Secure)

- User Login

- Retrieve Proxy Certificate

- Response

**Notes:**
Globus Tool kit 3/4 Grid framework.
Registry and Index service  (Advertisement, Discovery, Virtual Organizations).
Globus security (GSI-CAS, myProxy)
Authentication, Authorization, Delegation, Encryption.
Mobius
MAKO as grid cached service.
GME as metadata repository framework.
Globus Core, Index services, COG and GRAM as Invocation.
OGSA-DAI as Grid Data layer
Exposing data service.
Query language that represents the objects.
Metadata (Object description) as caDSR Instances.
Additional metadata as GLOBUS metadata.
DQP 2.0 / 3.x
Query plan.
Architecture for federation.
caDSR/EVS service as semantic layer
Provides information for federation.
Helps to advertise and discover services.
Semantic resolution on the Grid.

## Future actions

- Federated query engine.
- Implement process for schema management.
- Test performance and large datasets
- Extend query language to support writeable API’s.