User-defined value set support in the UDDI registry
We can define multiple value sets and add custom value sets to the UDDI Version 3 registry. In UDDI v2, this feature was called custom taxonomy support.
The UDDI Version 3 registry provides the structure and modeling tools to find information in a registry effectively. Also, the verification of data in a UDDI registry is crucial to its mission of description, discovery and integration.
We can define multiple value sets to use UDDI. Therefore, multiple classification schemes can be overlaid on a single UDDI entity. Organizations can use this capability to extend the set of such systems that UDDI registries support. We are not restricted to a single system, but can employ several different classification systems simultaneously.
Default value sets are shipped with the product. The UDDI Version 3 registry provides tools to add custom, or user-defined, value sets. We can use such value sets to categorize UDDI entities more specifically when they are published, which enhances the capability of client to find specific data.
User-defined value sets can be either checked or unchecked. This is indicated by a keyedReference element in the categoryBag element of the tModel entity that represents a value set (a categorization tModel). These keyedReference elements have the tModel key for uddi-org:types and are added to the categoryBag to further describe the behavior of the categorization tModel, as follows:
- checked
- Marking a tModel entity with this classification asserts that the entity represents a categorization, identifier, or namespace tModel entity that has a validation service to check that category values are present in a specified value set.
- unchecked
- Marking a tModel entity with this classification asserts that the entity represents a categorization, identifier, or namespace tModel entity that does not have a validation service.
The following procedure describes how to add user-defined value sets, and display their allowed values in the UDDI user console value set tree display. Rational Application Developer has a Web Services Explorer user interface that also allows addition and display of custom checked value sets. The publisher of a value set categorization tModel entity might specify a display name for use in UDDI user console implementations.
Add a user-defined value set
To add a user-defined value set to the UDDI registry, use the following procedure:
- Publish a categorization tModel entity.
- Load the user-defined value set data.
- Enable support for the value set using the administrative console.
To enable support for the value set, we must be a user in an administrative role. This means that we cannot add user-defined value sets to the UDDI registry without administrator permission.
The checked value set is referenced only when all steps of the procedure are complete. Value set data must be provided for validating checked value sets.
User consoles might use value set data for unchecked value sets, but it is not a requirement, and is usually used only for presentation of deprecated value sets, such as unspc-org:unspc, and for compatibility with earlier versions.
If the value set is checked, any publish requests that have a categoryBag element containing keyedReference elements with the new categorization tModel are validated. If there is value set data corresponding to the categorization tModel entity in the registry database, only valid values are accepted. If there is no value set data in the database, all values are rejected and the publish request fails. If the categorization tModel entity is unchecked, all values are allowed, regardless of whether a corresponding value set is present in the UDDI registry database. The value set tModel entity is not available for use until the administrator enables support for it using the administrative console or the JMX interface.
The following procedure provides a suggested approach to add a user-defined value set to the UDDI registry:
- Publish the categorization tModel entity with the following values:
keyedReference element values uddi-org:categorization:types keyValue = categorization uddi-org:categorization:types keyName = Checked value set and keyValue = checked or
keyName = Unchecked value set and keyValue = unchecked
uddi-org:categorization:general_keywords supply the value set display name - Load the user-defined value set data into the UDDI registry database using the UDDIUserDefinedValueSet utility.
- Use the administrative console to set the status of the value set to supported in the Value set settings. Alternatively, we can do this directly using the JMX interface.
The SOAP and EJB interfaces can use categorization tModel entities as soon as they are published. However, for the UDDI registry user console, the UDDI application must be restarted, because the console gathers the list of categorizations to use in the value set tree display when the application starts.
Use the UDDI registry