UDDI Version 2 UDDI Version 3 UDDI Version 3 Extension

Publication • Specification: Publication API set [http:uddi.orgpubsuddi-v3.00-published-20020719.htm_Toc42047296] • API endpoint: http:host name:portcontextuddipublishing • Java API: org.systinet.uddi.client.v3.UDDI_Publication_PortType • Demos: Publishing demos v3 Security • Specification: Security API set [http:uddi.orgpubsuddi-v3.00-published-20020719.htm_Toc42047316] • API endpoint: http:host name:portcontextuddisecurity • Java API: org.systinet.uddi.client.v3.UDDI_Security_PortType Custody The Custody and Ownership Transfer API is used to transfer UDDI structures between UDDI nodes and to change their ownership. One use case is when the publisher wishes to transfer responsibility for a selected UDDI structure to another user, typically after a business reorganization. • Specification: Custody and Ownership Transfer API Set [http:uddi.orgpubsuddi-v3.00-published- 20020719.htm_Toc42047319] • API endpoint: http:host name:portcontextuddicustody • Java API: org.systinet.uddi.client.custody.v3.UDDI_CustodyTransfer_PortType • Demos: Custody Demos Subscription The Subscription API is a service that asynchronously sends notification to users who have registered an interest in changes to a registry. These users have a range of options in specifying matching criteria so that they receive only the information in which they are interested. • Specification: Subscription API Set [http:uddi.orgpubsuddi-v3.00-published-20020719.htm_Toc42047327] • API endpoint: http:host name:portcontextuddicustody • Java API: org.systinet.uddi.client.subscription.v3.UDDI_Subscription_PortType • Demos: Subscription Demos

2.1.5. UDDI Version 3 Extension

UDDI Version 3 Extensions are extensions of the UDDI Version 3 Specification [http:www.oasis-open.orgcommittees uddi-specdoctcspecs.htmuddiv3]. The following data structures are used by APIs for the Registry Control and APIs that will be approved as official technical notes of the UDDI specification. Page 402

2.1.5. UDDI Version 3 Extension

Data Structures businessEntityExt Table 4. Attributes Required Name Optional businessKey This structure is used by the Registry Control for performance enhancements. The structure is an extension of businessEntity [http:uddi.orgpubsuddi-v3.0.1-20031014.htm_Toc53709226], the added element is uddi:assertionStatusItem [http: uddi.orgpubsuddi-v3.0.1-20031014.htm_Toc53709302] that points to the related businessEntity, businessInfoExt Table 5. Attributes Required Name Optional businessKey This structure is an extension of the businessInfo structure; the added element is uddi_ext:contactInfos. contactInfo Page 403 contactInfo Table 6. Attributes Required Name Optional useType This structure represents a person name for the businessInfoExt . contactInfos Table 7. Attributes Required Name Optional useType This structure holds a list of contactInfos . operationalInfoExt Table 8. Attributes Required Name Required entityKey Optional entityKeyV2 This structure is an extension of the operationalInfo [http:uddi.orgpubsuddi-v3.0.1-20031014.htm_Toc53709242] structure, the added element is uddi:name. The entityKeyV2 holds UDDI v2 key values. qualifiedKeyedReference Page 404 qualifiedKeyedReference Table 9. Attributes Required Name Required tModelKey Optional keyName Required keyValue This structure holds findQualifiers that are used in Range Queries . registeredInfoExt Table 10. Attributes Required Name Optional truncated This structure is used by ACL functionality. The added elements are uddi:serviceInfos and uddi:bindingTemplates that point to UDDI entities the user does not own but has privileges to modify. serviceInfoExt Table 11. Attributes Required Name Required serviceKey Required businessKey This structure is an extension of serviceInfo. It is used by the web interface for performance enhancements. The added elements are uddi:description and uddi:bindingTemplates. Find Qualifiers UDDI V3 Specification [http:uddi.orgpubsuddi-v3.0.1-20031014.htm_Toc53709434] permits vendors to define new find qualifiers. Table 12, “Summary of Additional Find Qualifiers in Oracle Service Registry ” summarizes the additional find qualifiers in Oracle Service Registry and the find_xx operations that support them. See Section Inquiry for more information on inquiry API operations. Page 405 Find Qualifiers Each short name in Table 12, “Summary of Additional Find Qualifiers in Oracle Service Registry ” links to a subsection that follows. Note that the tModel key is the short name prefixed with uddi:systinet.com:findQualifier:. Table 12. Summary of Additional Find Qualifiers in Oracle Service Registry Supporting Operations Short Name find_relatedBusinesses find_tModel find_binding find_service find_business ✓ deletedTModels ✓ ✓ ✓ ✓ foreignEntities ✓ ✓ ✓ ✓ ✓ keyNameMatch ✓ ✓ ✓ ✓ myEntities ✓ ✓ ✓ ✓ ✓ omitKeyNameMatch ✓ ✓ ✓ ✓ ✓ omitKeyValueMatch ✓ ✓ ✓ ✓ ✓ omitTModelKeyMatch ✓ ✓ ✓ ✓ ✓ tModelKeyApproximateMatch deletedTModels This find qualifier returns only hidden tModels, hence enabling administrators to locate and permanently delete garbage tModels. Note that the registry settings determine whether delete_tModel: • just hides the tModel from find_tModel operations default behaviour required by the specification; • really deletes the tModel, provided there are no dependencies on it; See Administrators Guide, Section 2.7, Node . uddi:systinet.com:findQualifier:deletedTModels tModel Key find_tModel. Supporting Operations foreignEntities This find qualifier restricts results to entities that do not belong to the caller. Note This qualifier does not make any sense for an anonymous caller because all entities will be returned in the query. uddi:systinet.com:findQualifier:foreignEntities tModel Key All find_xx operations except find_relatedBusinesses. Supporting Operations keyNameMatch This find qualifier changes default rules for matching keyedReferences. By default keyNames are only compared when the General Keywords tModelKey is specified. This find qualifier enforces comparison of keyNames. The keyNameMatch and omitKeyNameMatch findQualifiers are mutually exclusive. Page 406 keyNameMatch uddi:systinet.com:findQualifier:keyNameMatch tModel Key All find_xx operations. Supporting Operations myEntities This find qualifier restricts results to entities that belong to the caller. Note This qualifier does not make any sense for an anonymous caller. All entities would be returned in that case. uddi:systinet.com:findQualifier:myEntities tModel Key All find_xx operations except find_relatedBusinesses. Supporting Operations omitKeyNameMatch This find qualifier changes default rules for matching keyedReferences. By default keyNames are only compared when the General Keywords tModelKey is specified. This find qualifier skips comparison of keyNames. The keyNameMatch and omitKeyNameMatch findQualifiers are mutually exclusive. uddi:systinet.com:findQualifier:omitKeyNameMatch tModel Key All find_xx operations. Supporting Operations omitKeyValueMatch This find qualifier changes default rules for matching keyedReferences. By default keyValues are compared. This find qualifier skips comparison of keyValues. The omitKeyValueMatch and omitTModelKeyMatch findQualifiers are mutually exclusive. uddi:systinet.com:findQualifier:omitKeyValueMatch tModel Key All find_xx operations. Supporting Operations omitTModelKeyMatch This find qualifier changes default rules for matching keyedReferences. By default tModelKeys are compared. This find qualifier skips comparison of tModelKeys. The omitKeyValueMatch and omitTModelKeyMatch findQualifiers are mutually exclusive. uddi:systinet.com:findQualifier:omitTModelKeyMatch tModel Key All find_xx operations. Supporting Operations tModelKeyApproximateMatch This find qualifier changes the default rules for matching keyedReferences. By default tModelKeys are compared without wildcards and case insensitively. This find qualifier enables a tModelKey in a query to include wildcards: • interpreted as zero or more arbitrary characters; • _ interpreted as an arbitrary character. Page 407 tModelKeyApproximateMatch The behavior is similar to the approximateMatch find qualifier. uddi:systinet.com:findQualifier:tModelKeyApproximateMatch tModel Key All find_xx operations. Supporting Operations

2.2. Advanced APIs

Advanced APIs cover the following APIs: • Validation API - The Valueset Validation API is used to validate values in keyedReferences involved in save operations that reference checked taxonomies. Valueset validation is defined in the UDDI version 3 specification [http:uddi.org pubsuddi_v3.htm]. Every checked taxonomy requires a Web service that implements this API. • Taxonomy API - The Taxonomy API provides a high-level view of taxonomies and makes them easy to manage and query. This API was designed according to the UDDI technical note Providing A Value Set For Use In UDDI Version 3 [http:oasis-open.orgcommitteesuddi-specdoctnuddi-spec-tc-tn-valuesetprovider-20030212.htm]. • Category APIs - The Category API complements the Taxonomy API. It is used to query and to manipulate Internal taxonomies in Oracle Service Registry. More information on the subject of internal taxonomies can be found in the API documentation . The categories may be hierarchically organized. Each category may be top-level without parent, it may have children, or it may be a child of another category. You can drill down through this pattern In the Registry Control. • Approval API - The Approval API includes a set of APIs to manage the approval process. • Administration Utilities API - The Administration Utilities API provides an interface to perform several low level administrative tasks in Oracle Service Registry. • Replication API - The Replication API is used to launch replications in Oracle Service Registry. • Statistics API - The Statistics API provides useful information about Oracle Service Registry usage. • WSDL Publishing API - Oracle Service Registry WSDL-to-UDDI mapping is compliant with OASISs Technical Note, Using WSDL in a UDDI registry Version 2.0 [http:www.oasis-open.orgcommitteesuddi-specdoctnuddi- spec-tc-tn-wsdl-v2.htm]. It enables the automatic publishing of WSDL documents to UDDI, enables precise and flexible UDDI queries based on specific WSDL artifacts and metadata, and provides a consistent mapping for UDDI v2 and UDDI v3. • Resources Publishing APIs - XML2UDDI , XSD2UDDI and XSLT2UDDI . These API sets allow you to manipulate with resources in Oracle Service Registry. XML documents, XML Schemas and XSL Transformations are supported. • Inquiry UI API - The Inquiry UI API has been implemented for improving the performance of the Business Service Control. The basic idea is to retrieve data that appear in the Business Service Control using a single API call. • Subscription Ext API - The Subscription Extension API has been implemented to allow the user to create subscriptions in the discovery registry of the approval process.

2.2.1. Validation

The Valueset validation API is used to validate values in keyedReferences involved in save operations that reference checked taxonomies. Valueset validation is defined in the UDDI version 3 specification [http:uddi.orgpubsuddi_v3.htm]. Every checked taxonomy requires a Web service that implements this API. The API is defined by the uddi:uddi.org:v3_valueSetValidation tModel for UDDI version 3, uddi:systinet.com:v2_validateValues for UDDI version 2 and uddi:systinet.com:v1_validateValues for UDDI version 1. Page 408

2.2.1. Validation

Oracle Service Registry is built according to the UDDI technical note Providing A Value Set For Use In UDDI Version 3 [http:oasis-open.orgcommitteesuddi-specdoctnuddi-spec-tc-tn-valuesetprovider-20030212.htm]. To function correctly, checked taxonomies must be categorized with uddi-org:validatedBy taxonomy pointing to the bindingTemplate with the valueset validation Web service accessPoint. This Web service is called whenever the checked taxonomy occurs within a keyedReference during a save operation. If the Web service is accessible by Oracle Service Registrys classloader, the validation Web service does not need to be invoked over SOAP, but it may run inside the registrys Java Virtual Machine. The accessPoint value must be in a special form: It must start with the class: prefix and continue with fully qualified class name. For example, the internal validation service endpoint is defined as follows: class:com.systinet.uddi.publishing.v3.validation.service.AclValidator . For more information, consult the UDDI version 3 specification, section 5.6 [http:uddi.orgpubs uddi_v3.htm_Toc53709335] . SOAP • Specification: uddi_vs_v3.wsdl [http:www.systinet.comdocsr-65wsdluddi_vs_v3.wsdl] Java • Java API: org.systinet.uddi.client.valueset.validation.v3.UDDI_ValueSetValidation_PortType • Demos: Validation demos

2.2.2. Taxonomy

The Taxonomy API provides high-level view of taxonomies and makes them easy to manage and query. This API was built according to the UDDI technical note Providing A Value Set For Use In UDDI Version 3 [http:oasis-open.org committeesuddi-specdoctnuddi-spec-tc-tn-valuesetprovider-20030212.htm]. Data Structures The following structures are used by the Taxonomy API: Categories This structure is a container for zero or more category structures. If the taxonomy is internal, then categories are used to hold possible values of its keyedReferences. categorizationBag This structure is a container for one or more categorizations. It defines the containers categoryBag, keyedReferenceGroup, identifierBag and Publisher Assertion in which this taxonomy can be used. Possible values are categorization, categorizationGroup, identifier, and relationship. A save operation containing a keyedReference referencing a taxonomy in the wrong container will be denied with E_valueNotAllowed UDDI exception. Page 409 categorizationBag