Catalog Fanout Framework App

Description

The Fanout Catalog Framework (fanout-catalogframework bundle) provides an implementation of the Catalog Framework that acts as a proxy, federating requests to all available sources. All requests are executed as federated queries and resource retrievals, allowing the fanout site to be the sole site exposing the functionality of all of its Federated Sources. The Fanout Catalog Framework is the implementation of the Fanout Catalog Framework. 

The Fanout Catalog Framework provides the capability to configure 

DDF

to be a fanout proxy to other federated sources within the enterprise. The Fanout Catalog Framework has no catalog provider configured for it, hence it does not allow catalog modifications to take place. Therefore create, update, and delete operations are not supported.

 

In addition, the Fanout Catalog Framework provides the following benefits:

  • Backwards compatibility (e.g., federating with older versions) with existing older versions of 

    DDF

  • A single node being exposed from an enterprise, thus hiding the enterprise from an external client
  • Ensures all queries and resource retrievals are federated

Usage

The Fanout Catalog Framework is a core class of 

DDF

when configured as a fanout proxy . It provides the methods for query and resource retrieval operations on the Sources, where all operations are enterprise-wide operations. By contrast, the Standard Catalog Framework supports create/update/delete operations of metacards in addition to the query and resource retrieval operations.

Use the Fanout Catalog Framework if:

  • exposing a single node for enterprise access and hiding the details of the enterprise, such as federate source's names, is desired
  • access to individual federated sources is not required
  • access to a catalog provider to create, update, and delete metacards is not required

The Fanout Catalog Framework also maintains a list of ResourceReaders for resource retrieval operations. A resource reader is matched to the scheme (i.e., protocol, such as file://) in the URI of the resource specified in the request to be retrieved.

Site information about the fanout configuration can be retrieved using the Fanout Catalog Framework. Site information includes the source's name, version, availability, and the list of unique content types currently stored in the source (e.g., NITF). Details of the individual federated sources is not included, only the fanout catalog framework.

Installation and Uninstallation

The Fanout Catalog Framework is bundled as the catalog-core-fanoutframework feature and can be installed and uninstalled using the normal processes described in Configuration.

When this feature is installed, the Standard Catalog Framework feature catalog-core-standardframework should be uninstalled, as both catalog frameworks should not be installed simultaneously.

Configuration

The Fanout Catalog Framework can be configured using the normal processes described in Configuration.

The configurable properties for the Fanout Catalog Framework are accessed from the Catalog Fanout Framework Configuration in the Admin Console.

Configurable Properties

TitlePropertyTypeDescriptionDefault
Value
Required

Federation Thread Pool Size

(0 for unlimited)

poolSizeInteger

The federation thread pool size

(0 for unlimited)

0yes

Default Timeout

(in milliseconds)

defaultTimeoutInteger

The maximum amount of time to wait for

a response from the Sources

60000yes
Managed Service PIDddf.catalog.impl.service.fanout.FanoutCatalogFramework
Managed Service Factory PIDN/A

Implementation Details

Exported Services

Registered InterfaceService PropertyValue
ddf.catalog.federation.FederationStrategyshortnamesorted
ddf.catalog.federation.FederationStrategyshortnamefifo
org.osgi.service.event.EventHandlerevent.topics ddf/catalog/event/CREATED, ddf/catalog/event/UPDATED, ddf/catalog/event/DELETED
ddf.catalog.CatalogFramework   
ddf.catalog.util.DdfConfigurationWatcher  
ddf.catalog.event.EventProcessor  
ddf.catalog.plugin.PostIngestPlugin  


Imported Services

Registered InterfaceAvailabilityMultiple
ddf.catalog.plugin.PostIngestPluginoptionaltrue
ddf.catalog.plugin.PostQueryPluginoptionaltrue
ddf.catalog.plugin.PostResourcePluginoptionaltrue
ddf.catalog.plugin.PreDeliveryPluginoptionaltrue
ddf.catalog.plugin.PreIngestPluginoptionaltrue
ddf.catalog.plugin.PreQueryPluginoptionaltrue
ddf.catalog.plugin.PreResourcePluginoptionaltrue
ddf.catalog.plugin.PreSubscriptionPluginoptionaltrue
ddf.catalog.resource.ResourceReaderoptionaltrue
ddf.catalog.source.ConnectedSource,optionaltrue
ddf.catalog.source.FederatedSourceoptionaltrue
org.osgi.service.event.EventAdmin false

Known Issues

None