0.6 Release Notes

From GCube System
Jump to: navigation, search

gCore 0.6 introduces the following changes:

Changes Related to the gHN

  • new versions of Local Services and Libraries. Most noticeably:
  • the ResultSet service, with optional SSL support.
  • the Deployer service, with support for plugin deployment and activation. In the version of the service included in this distribution, the deployment of pluggable services implies the deployment of all their plugins from the SoftwareRepository service.
  • the Delegation service, with support for periodic delegation of service credentials. In the version of the service included in this distribution the credentials of the local gHN are used in place of service credentials to identify services as operating from trusted gHNs.
  • the ISPublisher and Collector-stubs libraries, with support for synchronous publication.
  • the SoftwareRepository-stubs library, with support for plugin download.
  • the Resources library, with support for plugin profiles. Associated changes can be found in service.xsd and runninginstance.xsd under $GLOBUS_LOCATION/share/schema/gcube/common/core/profiles.
  • the GCubeProvider library, with support for WS-Notification interfaces.
  • the new Security library, with support for authentication and authorisation of gCube calls.
  • debugging and profiling launch modes.
Depending on two new launch scripts, the gHN can now be launched with settings that allow the use of debuggers and profilers. See the migration guidelines for further information.

Changes Related to Services

  • support for service plugins.
gCF now includes programming abstractions for the design of pluggable services, i.e. services that can be dynamically extended with code that is packaged and deployed as the payload of service plugins. The available abstractions offer transparencies for the management, description, and configuration of service plugins and are relied upon by the Deployer service for their deployment. A Plugin Manager takes care of plugin registration, validation, and local persistence, and it acts as producer of local registration events. A Plugin Context characterises the entry point to the code in the plugin and transparently exposes information which is common to all plugins, including their profiles, the descriptive properties whereby they can be discovered, and the type mappings that are required to deserialise their components over the wire. As usual, service developers extend Plugin Managers and Plugin Contexts to extend and tailor their functionality to the plugins of their own services. See the migration guidelines for further information.
  • support for synchronous publication.
Resource publication can now occur in synchronous or asynchronous fashion, depending on the choice of publication interfaces used. The generic interface ISPublisher abstracts over synchronous and asynchronous implementations, while ISSyncPublisher and ISAsyncPublisher have specialised implementations. An asynchronous implementation is bound by default to the generic ISPublisher interface. Publications performed by gCF on behalf of service developers (e.g. for WS-Resources) can be configured to occur either synchronously or asynchronously. See the migration guidelines for further information.
  • support for call authorisation.
gCore now intercepts incoming gCube calls and forwards them to a local authorisation engine for the enforcement of service policies in a secure infrastructure. Authorisation policies are remotely defined but locally cached, first at service startup - as a pre-condition to the usability of the service - and then whenever they change. The mediation between the container (which intercepts the calls) and the engine (which authorises them) is taken up by security managers, which thus now offer support for both authorisation and authentication. The engine that currently ships with gCore serves as a proof-of-concepts as it applies simple combinations of a fixed number of policies of immediate relevance to the infrastructure. More sophisticated engines and full integration with remote services within the infrastructure are planned for future work.
  • support for handler lifetime and event management.
The lifetime of handlers can now may be explicitly modelled in terms of a number of phases, where handlers change state moving from phase to phase. For example, the handler may be in a running state, it may have completed successfully, it may have failed, or it may be temporarily suspended. The Handler Framework now allows states to be modelled explicitly and takes care of managing state transitions, including validation and state change notifications. It also supports the management of subscriptions and notifications for arbitrary events, not only lifetime events. See the migration guidelines for further information.

Changes Related to the Documentation

  • new/revised sections in the Developer's Guide.
Work on the Developer's Guide progresses with an enriched section on context components and a new, extensive section on the Handler Framework.