Affiliations of Registries Publisher-Assigned Keys

Copying Structures with Key Preservation Given key should refer to the same structure no matter which registry the structure is in. Suppose that slave-admin creates a key generator tModel for slave-user3 and this user uses the key generator to generate a key for a structure in the slave registry. To copy the structure to the master registry, this key generator tModel must exist on both registries. To copy a structure from the slave to the master registry: 1. The slave-user3 must ask person 2 slave-admin to copy the second key generator, because only the holder of the account master-user2, as owner of the first key generator, can do this on the master registry. 2. Then master-user2 transfers ownership of the second key generator in the master registry to master-user3. Now master-user3 can copy the structure while preserving the generated keys.

5.3. Range Queries

Oracle Service Registrys range queries functionality allows you to search UDDI entities with the ability to use comparative operators , for matching keyValues in keyedReferences. There must be a defined type of keyValues in the taxonomy which defines the ordering. The following ordering types are supported: string, numeric, and custom. KeyedReferences in find_XXX queries are extended by a list of find qualifiers. Do not mix with find qualifiers of the whole query. Find Qualifiers are used for specifying comparison operators. See Section Find Business by Categories how to search UDDI data structures using range queries with Registry Control. Note The Oracle Service Registry implementation of range queries goes beyond the current UDDI v3 specification since the specification does not define this functionality. The following findQualifiers are supported: • equal - the default find qualifier. If no one from the group of equal, greaterThan, lesserThan qualifiers is specified. This is done due to the backward compatibility with a standard UDDI. When used, the keyedReference from the request matches to the all keyedReferences from the database with the same tModelKey and the same keyValue. • greaterThan - When used, the keyedReference from the request match to the all keyedReferences from the database with the same tModelKey and a greater keyValue. • lesserThan - When used, the keyedReference from the request match to the all keyedReferences from the database with the same tModelKey and a lesser keyValue. • notExists - This findQualifier has validity for the whole keyedReference not just for keyValues. An entity matches the find request with notExists findQualifier if and only if the specific keyedReference does not exist in its categoryBag. This findQualifier can be arbitrarily combined with greaterThan, lesserThan and equal findQualifiers. If the notExists findQualifier is used alone, then the equal findQualifier is considered automatically. Comparators can be combined: • greaterThan and equal find qualifiers can be used together with the keyedReference match to the all keyedReferences with the same tModelKey and a greater or equal keyValue =. • lesserThan and equal find qualifiers can be used together with the keyedReference match to the all keyedReferences with the same tModelKey and a lesser or equal keyValue =. Page 211

5.3. Range Queries

• lesserThan and greaterThan find qualifiers can be used together with the keyedReference match to the all keyedReferences with the same tModelKey and a not equals keyValue . • Combination of lesserThan, greaterThan and equal is not allowed.

5.3.1. Examples

The following examples demonstrate the usage of range queries. Suppose that the keyedReferences are placed in the category bag of the find_business request. greaterThan Only business entities that have a keyedReference with tModelKey equal to tmKey, and a keyValue that is greater than kv, in their categoryBags are returned. keyedReference tModelKey=tmKey keyValue=kv keyName=kn findQualifiers findQualifiergreaterThanfindQualifier findQualifiers keyedReference greaterThan and lesserThan Only business entities that have keyedReference with tModelKey that is equal to tmKey, and a keyValue not equal to kv, in their categoryBags are returned. keyedReference tModelKey=tmKey keyValue=kv keyName=kn findQualifiers findQualifiergreaterThanfindQualifier findQualifierlesserThanfindQualifier findQualifiers keyedReference notExists Only business entities that do not have a keyedReference with a tModelKey equal to tmKey, and a keyValue equal to kv, in their categoryBags are returned. keyedReference tModelKey=tmKey keyValue=kv keyName=kn findQualifiers findQualifiernotExistsfindQualifier findQualifiers keyedReference notExists and greaterThan Only business entities that do not have a keyedReference with a tModelKey equal to tmKey, and a keyValue greater than kv, in their categoryBags are returned. keyedReference tModelKey=tmKey keyValue=kv keyName=kn findQualifiers findQualifiernotExistsfindQualifier findQualifiergreaterThanfindQualifier findQualifiers keyedReference notExists, greaterThan, equal Only business entities that do not have a keyedReference with a tModelKey equal to tmKey, and a keyValue greater than or equal to kv, in their categoryBags are returned. Page 212

5.3.1. Examples