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
Title | Property | Type | Description | Default Value | Required |
---|---|---|---|---|---|
Federation Thread Pool Size (0 for unlimited) | poolSize | Integer | The federation thread pool size (0 for unlimited) | 0 | yes |
Default Timeout (in milliseconds) | defaultTimeout | Integer | The maximum amount of time to wait for a response from the Sources | 60000 | yes |
Managed Service PID | ddf.catalog.impl.service.fanout.FanoutCatalogFramework |
Managed Service Factory PID | N/A |
Implementation Details
Exported Services
Registered Interface | Service Property | Value |
---|---|---|
ddf.catalog.federation.FederationStrategy | shortname | sorted |
ddf.catalog.federation.FederationStrategy | shortname | fifo |
org.osgi.service.event.EventHandler | event.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 Interface | Availability | Multiple |
---|---|---|
ddf.catalog.plugin.PostIngestPlugin | optional | true |
ddf.catalog.plugin.PostQueryPlugin | optional | true |
ddf.catalog.plugin.PostResourcePlugin | optional | true |
ddf.catalog.plugin.PreDeliveryPlugin | optional | true |
ddf.catalog.plugin.PreIngestPlugin | optional | true |
ddf.catalog.plugin.PreQueryPlugin | optional | true |
ddf.catalog.plugin.PreResourcePlugin | optional | true |
ddf.catalog.plugin.PreSubscriptionPlugin | optional | true |
ddf.catalog.resource.ResourceReader | optional | true |
ddf.catalog.source.ConnectedSource, | optional | true |
ddf.catalog.source.FederatedSource | optional | true |
org.osgi.service.event.EventAdmin | false |
Known Issues
None