Overview of the Federation Process
The UDDI-based federation allows you to federate data between two UDDI v3 compliant registries. The data to be federated is inquired from the source UDDI registry using the UDDI Inquiry API. The obtained data is transformed into one or more XML-formatted events whose structure corresponds to an event type in the Event Type Store, and the events are emitted across the event bus. When an event reaches the UDDI endpoint, the data to be federated is extracted from the event and published to the target registry using the UDDI publish API.
The federation process consists of the following steps:
Creating a federation configuration file that specifies the source and target registries and the objects you want to copy. This file is used as input for the commands to add and trigger the federation.
Adding the federation configuration to the list of target registries defined for federation.
Triggering the federation as required. This can be either on an ad hoc basis, or using the scheduling mechanism of your operating system.
When a federation is no longer required, it can be removed from the list of target registries defined for federation.
You can carry out these steps using the command line script CentraSiteCommand, which is located in <CentraSiteInstallDir>/utilities.
Federation is carried out from a source UDDI registry to one or more target CentraSiteregistries. Typically, the source and target registries are on different machines, and they are addressed by their URL. The federation commands (create, add, trigger, etc.) must be run on a machine where CentraSiteis installed, i.e. on one of the target machines.
The list of target registries defined for federation is maintained in a file named emit.xml on the target machine where the federation commands are run. This file is located at <CentraSiteInstallDir>/Federation/config/templates/emit.UddiFederation/OSGI-INF/blueprint/.
When you add a federation, details of the federation are added to emit.xml, and when you trigger a federation, the information contained in emit.xml is used to route the federated data to the target registry. Thus, the commands for adding and triggering a federation must run on the same machine.
If there is more than one target registry, each machine that hosts a registry can in theory contain its own emit.xml file with its own list of target registries defined for federation. However, it is generally simpler to maintain an emit.xml file on just one of the target machines, and to trigger all of the federations as required from that machine.
Note that there is no automatic synchronization between the emit.xml files across multiple target registries; entries made in one emit.xml file are not copied automatically to other emit.xml files.