Annotation Back End

From Gcube Wiki
Revision as of 13:25, 20 March 2007 by Ralf (Talk | contribs) (Implementation Overview)

Jump to: navigation, search

Introduction

The Annotation Back End (ABE) service provides a generic annotation framework that offers application-to-application functionalities for the management of Diligent annotations. The service mediates between interactive annotation front-ends (like annotation portlets) and lower-level data management services (primarily Metadata Catalog services). Functionalities that rely on course-grained data exchange, that can be conveniently shared across clients, are provided through a number of coordinated web services. Functionalities which rely instead on fine-grained data exchange, typically in real time through user interactions, are offered through a client-sided library.

Implementation Overview

The ABE service operatates on a number of underlying component packages that provide a corse-grained division of functionality:

  • Core: This package groups components responsible for implementing the main annotation functionalities. In particular it contains the three main interfacing service classes that are available for clients: AnnotationFactory, AnnotationManager, and AnnotationBroker.
    • The AnnotationFactory creates WS-Resources accessible through the AnnotationManager and the AnnotationBroker interfaces.
    • The AnnotationManager updates and retrieves annotations of objects within a collection C. This service addresses the needs of clients which operate in the scope of a single collection C, including those which wish to browse annotations drawn from multiple annotation collections for C. Furthermore, it allows clients to operatre in the scope of a single annotation collection for C for editing and linking of homogeneous collection bodies.
    • The AnnotationBroker retrieves annotations of objects from multiple collections C1,C2,…,Cn. This services addresses the needs of clients which operate across target collections and annotation collections, like those that browse the results of a distributed search.
  • Handlers: This package contains a range of handlers that are used to specify the use of atomic and possibly stateful processes within the Content Source Description service - primarily during initialisation and update. This includes the atomic tasks of harvesting (the retrieval of remote content descriptions to allow for a qualitative decision on merging search results), ingesting (the integration of the content in the index of the DF), and the subscription for notifications.

Whether for retrieval or update purposes, the services expose a course-grained interface of bulk methods which offer by-value (arrays) and by-reference (ResultSet references) exchange of both input and output parameters. In addition, the services can retrieve summaries (headers) or full content (headers and bodies) of annotations.