Access Keys:
Skip to content (Access Key - 0)

Community

CaGrid 1.4 Deprecation Plan


Table of Contents

Overview


This document provides the deprecation plan for caGrid 1.4, in adherence with the [deprecation policy]. As caGrid only supports the current release and two previous versions, the release of caGrid 1.4 will mark the removal of support for caGrid 1.1 and earlier releases.

Stable APIs


A Stable API is one in which there may be additional methods, but no existing public method signatures will change, nor will the runtime behavior change.

As a general philosophy on backwards compatibility, caGrid has always attempted to maintain service-level backwards compatibility of its core service along the caGrid 1.x release stream. That is, the client API of a core service from a given 1.x release should be able to communicate with a service running 1.x or newer code. We are continuing this general philosophy in this specific plan (with exceptions noted below). The items enumerated in this list represent the APIs and other items which can be considered stable and backwards compatible in the caGrid 1.4 release (from the 1.3 release).

NOTE: The omission of an API from the Stable list does not necessarily mean use of the API should be avoided or it will change in the release, but rather that its stability between releases is not currently considered a requirement (as of the caGrid 1.3 release, there were 3137 Classes in the published javadocs; complete backwards compatibility is not feasible). If you have concerns with a particular omission, please contact the development team for its consideration into future deprecation plans.

Core Service Interfaces (WSDL Operations)


Authentication Service


Main Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • Authentication Service
    • authenticateUser

Credential Delegation Service (CDS)


Main Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • CDS
    • initiateDelegation
    • approveDelegation
    • findDelegatedCredentials
    • updateDelegatedCredentialStatus
    • findCredentialsDelegatedToClient
    • searchDelegatedCredentialAuditLog
    • deleteDelegatedCredential
    • addAdmin
    • removeAdmin
    • getAdmins

Delegated Credential Resource

  • Service Security:
    • getServiceSecurityMetadata
  • WS-Resource Lifetime:
    • Destroy
  • Delegated Credential
    • getDelegatedCredential

Dorian


Main Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • Local Identity Provider
    • registerLocalUser
    • authenticateUser
    • changeLocalUserPassword
    • doesLocalUserExist
  • Federation
    • getCACertificate
    • requestUserCertificate
    • requestHostCertificate
    • getOwnedHostCertificates
    • getTrustedIdentityProviders

Federated Query Processor Service (FQP)


Main Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • FQP

Results Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • WS-Resource Lifetime:
    • SetTerminationTime
    • Destroy
  • WS-Notification:
    • Subscribe
  • FQP

Global Model Exchange (GME)


Main Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • GME
    • publishXMLSchemas
    • getXMLSchema
    • getXMLSchemaNamespaces
    • getXMLSchemaAndDependencies
    • deleteXMLSchemas
    • getImportedXMLSchemaNamespaces
    • getImportingXMLSchemaNamespaces

Grid Grouper


Main Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • Grid Grouper
    • getStem
    • getChildStems
    • getParentStem
    • updateStem
    • getSubjectsWithStemPrivilege
    • getStemPrivileges
    • hasStemPrivilege
    • grantStemPrivilege
    • revokeStemPrivilege
    • addChildStem
    • deleteStem
    • getGroup
    • getChildGroups
    • addChildGroup
    • deleteGroup
    • updateGroup
    • addMember
    • getMembers
    • isMemberOf
    • getMemberships
    • deleteMember
    • addCompositeMember
    • deleteCompositeMember
    • grantGroupPrivilege
    • revokeGroupPrivilege
    • getSubjectsWithGroupPrivilege
    • getGroupPrivileges
    • hasGroupPrivilege
    • isMember
    • getMember
    • getMembersGroups

Grid Trust Service (GTS)


Main Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • GTS
    • addTrustedAuthority
    • findTrustedAuthorities
    • removeTrustedAuthority
    • addPermission
    • findPermissions
    • revokePermission
    • updateTrustedAuthority
    • addTrustLevel
    • updateTrustLevel
    • getTrustLevels
    • removeTrustLevel
    • addAuthority
    • updateAuthority
    • updateAuthorityPriorities
    • getAuthorities
    • removeAuthority
    • updateCRL
    • validate

Index Service


Main Service

  • WS-Resource Lifetime:
    • SetTerminationTime
    • Destroy
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • WS-ServiceGroup:
    • Add
    • create
  • WS-Notification:
    • Subscribe
    • GetCurrentMessage

Entry Service

  • WS-Resource Lifetime:
    • SetTerminationTime
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty

Metadata Model Service (MMS)


Main Service

  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • MMS
    • generateDomainModelForProject
    • generateDomainModelForPackages
    • generateDomainModelForClasses
    • generateDomainModelForClassesWithExcludes
    • annotateServiceMetadata
    • getModelSourceMetadata

Taverna Workflow Service


Main Service

  • Service Security
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • Taverna
    • createWorkflow

Taverna Workflow Service Impl (Context Service)

  • WS-Lifetime
    • Destroy
    • SetTerminationTime
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • WS-Notification
    • Subscribe
  • Taverna Impl
    • start
    • pause
    • resume
    • cancel
    • getWorkflowOutput
    • getStatus
    • getDetailedStatus

Transfer Service Context


  • getDataTransferDescriptor
  • getStatus
  • setStatus
  • Service Security
    • getServiceSecurityMetadata
  • WS-Lifetime
    • Destroy
    • SetTerminationTime
  • WS-Notification
    • Subscribe

Provided Operations (WSDL Operations)


WS-Enumeration


  • PullOp
  • RenewOp
  • GetStatusOp
  • ReleaseOp
  • WS-ResourceProperties
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty

Data Services


  • Service Security:
    • getServiceSecurityMetadata
  • WS-ResourceProperties:
    • QueryResourceProperties
    • GetMultipleResourceProperties
    • GetResourceProperty
  • Data Services
    • query

WS-Lifetime


  • Destroy
  • SetTerminationTime

WS-Notification


  • Subscribe

WS-ResourceProperties


  • QueryResourceProperties
  • GetMultipleResourceProperties
  • GetResourceProperty

Service Security Provider


  • getServiceSecurityMetadata

Client APIs


gov.nih.nci.cagrid.advertisement.AdvertisementClient

  • All public methods

gov.nih.nci.cagrid.advertisement.TerminationClient

  • All public methods

gov.nih.nci.cagrid.discovery.client.DiscoveryClient

  • All public methods

org.cagrid.gaards.authentication.client.AuthenticationClient

  • All public methods

org.cagrid.gaards.dorian.client.LocalUserClient

  • All public methods

org.cagrid.gaards.dorian.client.GridUserClient

  • All public methods

org.cagrid.gme.client.GlobalModelExchangeClient

  • All public methods

org.cagrid.gme.common.FilesystemCacher

  • All public methods

org.cagrid.gme.common.FilesystemLoader

  • All public methods

org.cagrid.mms.client.MetadataModelServiceClient

  • All public methods

gov.nih.nci.cagrid.gts.client.GTSPublicClient

  • All public methods

gov.nih.nci.cagrid.gts.client.GTSAdminClient

  • All public methods

gov.nih.nci.cagrid.syncgts.core.SyncGTS

  • All public methods

gov.nih.nci.cagrid.gridgrouper.client.GridGrouper

  • All public methods

gov.nih.nci.cagrid.gridgrouper.client.Group

  • All public methods

gov.nih.nci.cagrid.gridgrouper.client.Member

  • All public methods

gov.nih.nci.cagrid.gridgrouper.client.Membership

  • All public methods

gov.nih.nci.cagrid.gridgrouper.client.NamingPrivilege

  • All public methods

gov.nih.nci.cagrid.gridgrouper.client.Stem

  • All public methods

org.cagrid.gaards.cds.client.DelegationUserClient

  • All public methods

org.cagrid.gaards.cds.client.DelegationAdminClient

  • All public methods

org.cagrid.gaards.cds.client.DelegatedCredentialUserClient

  • All public methods

gov.nih.nci.cagrid.fqp.client.FederatedQueryProcessorClient

  • getMultipleResourceProperties
  • getResourceProperty
  • queryResourceProperties

gov.nih.nci.cagrid.fqp.results.client.FederatedQueryResultsClient

  • destroy
  • setTerminationTime
  • subscribe
  • isProcessingComplete
  • enumerate
  • transfer
  • getMultipleResourceProperties
  • getResourceProperty
  • queryResourceProperties
  • getExecutionStatus

gov.nih.nci.cagrid.data.client.DataServiceClient

  • getResourceProperty
  • getServiceSecurityMetadata

gov.nih.nci.cagrid.data.enumeration.client.EnumerationDataServiceClient

  • getResourceProperty
  • getServiceSecurityMetadata

Utility APIs


Transfer Services

org.cagrid.transfer.context.client.helper.TransferClientHelper

  • All public methods

org.cagrid.transfer.context.service.helper.TransferServiceHelper

  • All public methods

Data Services

gov.nih.nci.cagrid.data.cql.validation.DomainModelValidator

  • All public methods

gov.nih.nci.cagrid.data.cql.validation.JaxPCqlValidator

  • All public methods

gov.nih.nci.cagrid.data.cql.validation.ObjectWalkingCQLValidator

  • All public methods

gov.nih.nci.cagrid.data.utilities.* (All Utility Classes, except BdtDataServiceHandle)

  • All public methods

WS-Enumeration

gov.nih.nci.cagrid.wsenum.utils.EnumIteratorFactory

  • All public methods

gov.nih.nci.cagrid.wsenum.utils.EnumerationResponseHelper

  • All public methods

Other

gov.nih.nci.cagrid.metadata.MetadataUtils

  • All public methods

gov.nih.nci.cagrid.gridgrouper.client.GridGrouperClientUtils

  • All public methods

Introduce


Utility API

gov.nih.nci.cagrid.introduce.common.CommonTools

  • All public methods, except the createAndOutputProcess(String cmd), which is deprecated and replaced by createAndOutputProcess(List<String> cmd)

Common API

  • gov.nih.nci.cagrid.introduce.common.ImportInformation
  • gov.nih.nci.cagrid.introduce.common.NamespaceInformation
  • gov.nih.nci.cagrid.introduce.common.SchemaInformation
  • gov.nih.nci.cagrid.introduce.common.ServiceInformation
  • gov.nih.nci.cagrid.introduce.common.SpecificMethodInformation
  • gov.nih.nci.cagrid.introduce.common.SpecificServiceInformation

Extension API

Deployment

  • gov.nih.nci.cagrid.introduce.portal.extension.DeploymentUIPanel

Discovery

  • gov.nih.nci.cagrid.introduce.portal.modification.discovery.NamespaceTypeDiscoveryComponent
  • gov.nih.nci.cagrid.introduce.portal.discoverytools.NamespaceTypeToolsComponent

Service

  • gov.nih.nci.cagrid.introduce.extension.CodegenExtensionException
  • gov.nih.nci.cagrid.introduce.extension.CodegenExtensionPostProcessor
  • gov.nih.nci.cagrid.introduce.extension.CodegenExtensionPreProcessor
  • gov.nih.nci.cagrid.introduce.extension.CreationExtensionException
  • gov.nih.nci.cagrid.introduce.extension.CreationExtensionPostProcessor
  • gov.nih.nci.cagrid.introduce.portal.extension.CreationExtensionUIDialog
  • gov.nih.nci.cagrid.introduce.portal.extension.ServiceDeploymentUIPanel
  • gov.nih.nci.cagrid.introduce.portal.extension.ServiceModificationUIPanel
  • gov.nih.nci.cagrid.introduce.upgrade.common.ExtensionUpgraderI

Other


WebSSO

WebSSO-Client-Acegi: An application that uses the default implementation of WebSSO Acegi Client must extend the abstract class org.cagrid.websso.client.acegi.BaseUserDetailsService and implement the abstract protected method loadUserByGridId(String gridId) method to load the following User information accountenabled/disabled, accountNonExpired/accountexpired, credentialsNonExpired/credentialsExpired, accountNonLocked/accountlocked and the authorities from database using CSM or Data Access Service.

org.cagrid.websso.client.acegi.BaseUserDetailsService

  • abstract protected WebSSOUser loadUserByGridId(String gridId)

WebSSO Acegi client puts the loaded WebSSOUser object in Acegi SessionContextHolder.

The process and WebSSOUser class are stable; to retrieve user credentials:

  • (WebSSOUser)SecurityContextHolder.getContext().getAuthentication().getPrincipal();

caGrid Standard Metadata Models


  • The following main Class models and all associated Classes of:
    • gov.nih.nci.cagrid.metadata.ServiceMetadata
    • gov.nih.nci.cagrid.metadata.dataservice.DomainModel
    • gov.nih.nci.cagrid.metadata.security.ServiceSecurityMetadata

Deprecated Services and APIs


CQL 1.0


Reason for deprecation

Since the caGrid 1.0 release, CQL has been the standardized simple query language used by all Data Services. Over the course of several years of production use by the community, a variety of use cases have arisen that cannot be supported by CQL. This led to the creation of a successor language, CQL2 which aims to address many of these use cases while staying true to the intent of CQL being a "minimum barrier to entry" query language for data resources on the grid (as opposed to a full fledged query language like SQL). A technology preview of CQL2 was released with caGrid 1.3, and the language has been further refined and is now stabilized for use going forward as a proper super set language of CQL, and thus its replacement.

Migration Plan

caGrid 1.4 will support both CQL and CQL2 in its Data Service infrastructure (client APIs, Introduce extensions, etc), as well as Federated Query Processor Service. Users are encouraged to migrate their clients, applications, and service implementations towards exclusive use of CQL2. Introduce will provide Data Service extension upgraders to migrate services by adding the new CQL2 operations, however service developers will be required to implement a CQL2 query processor for any data services which make use of a non-cagrid provided data source. Data services backed by (for example) the caCORE SDK 4.x will automatically be upgraded with a new CQL2 query processor. CQL support may be removed in a caGrid 2.x release.

Legacy CQL method Preferred CQL 2 method
query executeQuery
enumerationQuery executeEnumerationQuery
transferQuery executeTransferQuery

DCQL 1.0


Reason for deprecation

DCQL, by definition, is an extension of CQL to add support for querying and joining multiple data services, using CQL. As CQL is deprecated, DCQL is also deprecated and superseded by DCQL2.

Migration Plan

caGrid 1.4 will support both DCQL and DCQL2 in its Federated Query Processor Service. Users are encouraged to migrate their clients and applications towards exclusive use of DCQL2. DCQL support may be removed in a caGrid 2.x release.

The Federated Query Processor Service in caGrid 1.4 will continue to support the DCQL methods, however their continued use is discouraged, and all new development should make use of DCQL 2.

Legacy DCQL method Preferred DCQL 2 method
execute executeQuery
executeAndAggregateResults executeQueryAndAggregate
executeAsynchronously queryAsynchronously
query queryAsynchronously

Additionally, the FederatedQueryResults client is deprecated. Users should migrate to make use of the FederatedQueryResultsRetrieval client, which handles DCQL 2 results, and is returned by the queryAsynchronously method of the FederatedQueryProcessorClient.

Grid Grouper Authorization Plugin for GridFTP (gridftpauthz Project)


Reason for deprecation

This project provided a Grid Grouper authorization callout from a GridFTP server using JNI. There has been very little uptake of GridFTP for caGrid users, due largely to its difficulty in installation, and platform specific requirements (which are major reasons for the development of caGrid Transfer as a lighter weight and simpler solution). As such, supporting extensions to GridFTP in the core caGrid distribution no longer makes sense.

Migration Plan

The caGrid Transfer documentation provides a tutorial on how to effectively and easily create data transfers with its API and services. It does not currently support Grid Grouper based authorization, but that feature could easily be added should there be need from the caGrid community.

Legacy CSM and XPath based PDPs (authz Project)


Reason for deprecation

The authz project provides Globus Policy Decision Points and utility APIs for performing authorization decisions based on information from a CSM installation. The primary usage of these APIs was via Introduce extensions. In caGrid 1.3, a simpler CSM authorization extension was added, making use of the Introduce authorization extension framework new to Introduce 1.3. The authz project works with an old version of CSM (version 3.2), and requires features of CSM that are no longer supported. Additionally, it provides more complex capabilities than have been adopted the caGrid user community (identifying protected information via XPath expressions over the SOAP envelope).

Migration Plan

Introduce 1.3 introduced an Introduce Authorization Extension for CSM , which satisfies the basic CSM integration use cases (protecting services and operations via protection elements), and leverages a modern CSM version (4.0). The more powerful XPath-based selectors, which implement Globus interfaces, will continue to work after they are desupported by caGrid, and interested users could incorporate them into their projects' source code if necessary.

Dorian and Authentication Service Client Wrapper APIs (in gov.nih.nci.cagrid.* packages)


Reason for deprecation

In caGrid 1.3, newer client APIs were introduced in org.cagrid.gaards.* packages, which in some cases, make more intelligent use of modern features of Dorian and the Authentication Service (such as new metadata), and can better handle communicating with all caGrid 1.x versions of the services (using new features where possible). While the existing client APIs are still provided, and we have no immediate plans of removing them, developers should migrate to the newer client APIs if at all possible.

Migration Plan

As of caGrid 1.3, newer versions of these APIs where released in the org.cagrid.gaards.* packages. All these clients are stable from 1.3 to 1.4. The mapping is shown below:

Legacy client Preferred caGrid 1.4 client
gov.nih.nci.cagrid.authentication.client.AuthenticationClient org.cagrid.gaards.authentication.client.AuthenticationClient
gov.nih.nci.cagrid.dorian.client.IdPRegistrationClient org.cagrid.gaards.dorian.client.LocalUserClient
gov.nih.nci.cagrid.dorian.client.IdPUserClient org.cagrid.gaards.dorian.client.LocalUserClient
gov.nih.nci.cagrid.dorian.client.IFSUserClient org.cagrid.gaards.dorian.client.GridUserClient
gov.nih.nci.cagrid.dorian.client.DorianClient org.cagrid.gaards.dorian.client.DorianClient

Retired Services and Components


Data Service support for caCORE SDK 3.x


Overview

The various releases of caGrid Data Services support a variety of caCORE SDK versions , via Introduce extensions and CQL Query Processor implementations.

Reason for Retirement

The caCORE SDK team has discontinued support for versions 3.1, 3.2, and 3.2.1, and thus with the release of caGrid 1.3, their use was discouraged and users were requested to migrated to versions 4.0, 4.1.1, 4.2, or 4.3 The caGrid Data Service support for caCORE SDK versions 3.1, 3.2, and 3.2.1 is now being completely removed from caGrid 1.4.

Migration Plan

Users should migrate their systems to a supported version.

Bulk Data Transfer (BDT) Operation Provider


Overview

BDT provided an Introduce extension, and operation providers for a common way to leverage GridFTP, ws-transfer, and ws-enumeration.

Reason for Retirement

The BDT was deprecated in the [caGrid 1.3 Deprecation Plan], as it was replaced by caGrid Transfer in caGrid 1.2.

Migration Plan

The caGrid Transfer documentation provides a tutorial on how to effectively and easily create data transfers with its API and services.

authz


Reason for Retirement

The authz service made use of a deprecated version of the CSM and has been superseded by the CSM grid service.
*Additional discussion

Migration Plan

The CSM service provides similar functionality and contains appropriate guides for administrators and developers.

gridftpauthz


Reason for retirement

The GridFTPauthz service and APIs were useful for securing GridFTP in the context of the Bulk Data Transfer (BDT) services of caGrid. As BDT has been retired from this release, gridftpauthz is no longer used or needed.

Workflow Factory Service (BPEL)


Service Overview

The BPEL-based workflow service provided the capability to execute BPEL workflows.

Reason for Retirement

Due to a variety of reasons, uptake of BPEL as a language was practically non-existent in the caGrid community. This lead to the development of support in caGrid 1.3 for executing SCUFL workflows, developed primarily through the Taverna workbench which is extremely popular in the scientific community. Using caGrid resources to maintain the BPEL service is not currently in the best interests of the caGrid user community. Standard policy would be to first deprecate this service, and later remove it, but due to lack of adoption, we are simply removing it.

Migration Plan

Users should migrate to the Taverna workflow service. The caGrid 1.4 release will no longer contain the service and client APIs for the BPEL service, but the production and training grids will keep the existing 1.3 service available for a yet to be determined sunset period. Users which cannot migrate to the Taverna workflow service in that timeframe may deploy their own caGrid 1.3-based BPEL service, and configure their clients to leverage it instead of the core deployment provided service.

API-Level Details

The WSDL and client API of the Taverna workflow service is basically identical to the BPEL-based service, with the exception that a SCUFL workflow is provided instead of a BPEL workflow.

Support for Upgrading Introduce 1.1 based Services


Overview

Introduce supports automatically upgrading services created with previous Introduce releases, to a service equivalent to one created with the current release of Introduce. Such upgrades are supported from the past two stable releases of Introduce.

Reason for Retirement

The past two stable releases of Introduce will be version 1.2 and 1.3.

Migration Plan

Introduce users with services created by Introduce 1.0 or 1.1 are encouraged to recreate their service using Introduce 1.4. If this is not possible, they may first use Introduce 1.3 to upgrade their service to 1.3, before using Introduce 1.4 to upgrade to 1.4.

Grid Protocol Changes


There are no grid protocol/specification changes for this release.

The current stable release of the Globus toolkit (version 4.2), introduces incompatible specification changes, but caGrid 1.4 will not make use of that release.
Last edited by
William Stephens (645 days ago)
Adaptavist Theme Builder Powered by Atlassian Confluence