Skip to content

Ebxml registry protocols

der edited this page Nov 9, 2012 · 7 revisions

The ebXML Registry standard is a metadata registry standard that supports the registration, maintenance and discovery of both XML- and non-XML artifacts.

Tangentially relevant. The information model and goals different but the set of APIs supported acts as one source of checklists for UKLocation registry.

Specification: ebXML Registry Services and Protocols Version 3.0

Data model: ebRIM

Features

  • Content management
  • Standard metadata
  • Publish/maintain/discover information artefacts
  • federation
  • secured role-based access control with audit trail
  • event notification
  • both HTTP and SOAP bindings

Information model

model

Actors

Registry Operator An organization that operates an ebXML Registry and makes it's services available.
Registry Administrator A privileged user of the registry that is responsible for performing administrative tasks necessary for the ongoing operation of the registry. Such a user is analogous to a “super user” that is authorized to perform any action.
Registry Guest A user of the registry whose identity is not known to the registry. Such a user has limited privileges within the registry.
Registered User A user of the registry whose identity is known to the registry as an authorized user of the registry.
Submitter A user that submits content and or metadata to the registry. A Submitter MUST be a Registered User.
Registry Client A software program that interacts with the registry using registry protocols.

APIs

URLs can be a very RPC like structured, assigned or based on file hierarchy patterns:

    http://registry/package1/subpackage2/
    http://registry/package1/subpackage2/registryObject3

The first form returns a "directory listing" of the given RegistryPackage hierarchy the second returns a specific RegistryObject. Allows wildcards within the URL path (!).

Lifecycle Manager

Method Description Audit trail
SubmitObjectsRequest Submit RegistryObjects and/or repository items to the registry. Creates a UUID for each object if not present in the submission. Can do implicit update if submitted object already exists. Created
UpdateObjectsRequest Update definition of existing registered objects. Any omitted object properties will be set to NULL or default Updated
ApproveObjectsRequest Set all matching objects to approved status. Can specify a fixed list of objects or a query pattern. Approved
DeprecateObjectsRequest Set all matching objects to deprecated status. Can specify a fixed list of objects or a query pattern. Deprecated
UndeprecateObjectsRequest Reset all matching objects from deprecated back to submitted status. Can specify a fixed list of objects or a query pattern. Undeprecated
RemoveObjectsRequest Remove all matching objects. Can be scoped so as not to delete any ExtrinsicObjects in the match. None (?!)

Note: objects are automatically versioned with the registry creating the version tree. However, client can optionally specify a dontVersion attribute on a request.

Query Manager

AdhocQueryRequest Can specify whether query is federated or not. Supports paging via maxResults and startIndex. Supports stored queries - queries are submitted just like any other object but are of type AdhocQuery. Queries can use classification schemes, where are also just more registered objects.
getRegistryObject In http binding this is a GET on the object URI
getRepositoryItem In http binding this is a GET on the object URI

Event notification

Clients can subscribe to events by using a stored AdhocQueryRequest. A match can fire an email or a call to a designated web service.

Content management services

Can register content validation and content cataloguing services. Each of these can be invoked inline when a new item is submitted or decoupled (invoked when item is registered but registration completes and then when report is in that gets attached to the registration). In both cases the service can be invoked with a configuration file to define the processing required.

A validation service checks if a registered item is value, simply pass or fail.

A cataloguing service generates addition metadata, including additional RegistryObject instances.

Federation support

A Federation is a collection of registries. A registry may be in multiple federations.

A query to one member of a federation can be forwarded to all members and the aggregate results returned. Query can enable/disable federation.

Registry objects from other members of a federation can be cached, they can also be explicitly replicated.