The SCDJWS 5.0 exam questions are based on the UDDI Version 2 specification.
Two types of UDDI APIs are defined. A publisher's API is provided for interactions between programs and the UDDI registry for the purpose of storing or changing data in the registry. An inquiry API is provided for programs that want to access the registry to read information from the registry.
Authenticated access is required to use the publishers API. Each Operator Site is responsible for selecting and implementing an authentication protocol that is compatible with the publishers API, as well as providing a new user sign-up mechanism. Before using any of the publisher API functions, the caller is responsible for signing up with one or more Operator Sites or compatible registries and establishing user credentials.
The Inquiry and Publishers API functions are exposed as SOAP messages over HTTP. HTTPS (specifically SSL 3.0) is used for all publisher API calls in order to assure wire privacy. No authentication is required to make use of the Inquiry API functions.
SOAP is a method for using Extensible Markup Language (XML) in message and remote procedure call (RPC) based protocols. SOAP has been jointly defined and submitted to the World Wide Web consortium (W3C) as a note.
UDDI uses SOAP in conjunction with HTTP to provide a simple mechanism for passing XML messages to Operator Sites using a standard HTTP-POST protocol. Unless specified, all responses will be returned in the normal HTTP response document.
The general structure of a UDDI SOAP message:
POST /someVerbHere HTTP/1.1 Host: www.someoperator.org Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "" <?xml version="1.0" encoding="UTF-8" ?> <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"> <Body> <xxx_xxx_xxx generic="2.0" xmlns="urn:uddi-org:api_v2"> ... </xxx_xxx_xxx> </Body> </Envelope>
Inquiry API functions
The messages in this section represent inquiries that anyone can make of any UDDI Operator Site at any time. These messages all behave synchronously and are required to be exposed via HTTP-POST only. Other synchronous or asynchronous mechanisms may be provided at the discretion of the individual UDDI Operator Site or UDDI compatible registry.
The publicly accessible queries are:
find_binding: Used to locate specific bindings within a registered businessService. Returns a bindingDetail message.
find_business: Used to locate information about one or more businesses. Returns a businessList message.
find_relatedBusinesses: Used to locate information about businessEntity registrations that are related to a specific business entity whose key is passed in the inquiry. The Related Businesses feature is used to manage registration of business units and subsequently relate them based on organizational hierarchies or business partner relationships. Returns a relatedBusinessesList message.
find_service: Used to locate specific services within a registered businessEntity. Returns a serviceList message.
find_tModel: Used to locate one or more tModel information structures. Returns a tModelList structure.
get_bindingDetail: Used to get full bindingTemplate information suitable for making one or more service requests. Returns a bindingDetail message.
get_businessDetail: Used to get the full businessEntity information for one or more businesses or organizations. Returns a businessDetail message.
get_businessDetailExt: Used to get extended businessEntity information. Returns a businessDetailExt message.
get_serviceDetail: Used to get full details for a given set of registered businessService data. Returns a serviceDetail message.
get_tModelDetail: Used to get full details for a given set of registered tModel data. Returns a tModelDetail message.
Publish API functions
The messages in this section represent commands that require authenticated access to an UDDI Operator Site, and are used to publish and update information contained in a UDDI compatible registry. Each business should initially select one Operator Site to host their information. Once chosen, information can only be updated at the site originally selected. UDDI provides no automated means to reconcile multiple or duplicate registrations.
The messages defined in this section all behave synchronously and are callable via HTTP-POST only. HTTPS is used exclusively for all of the calls defined in this publisher's API. The publishing API calls defined that UDDI operators support are:
add_publisherAssertions: Used to add relationship assertions to the existing set of assertions.
delete_binding: Used to remove an existing bindingTemplate from the bindingTemplates collection that is part of a specified businessService structure.
delete_business: Used to delete registered businessEntity information from the registry.
delete_publisherAssertions: Used to delete specific publisher assertions from the assertion collection controlled by a particular publisher account. Deleting assertions from the assertion collection will affect the visibility of business relationships. Deleting an assertion will cause any relationships based on that assertion to be invalidated.
delete_service: Used to delete an existing businessService from the businessServices collection that is part of a specified businessEntity.
delete_tModel: Used to hide registered information about a tModel. Any tModel hidden in this way is still usable for reference purposes and accessible via the get_tModelDetail message, but is simply hidden from find_tModel result sets. There is no way to actually cause a tModel to be deleted, except by administrative petition.
discard_authToken: Used to inform an Operator Site that a previously provided authentication token is no longer valid and should be considered invalid if used after this message is received and until such time as an authToken value is recycled or reactivated at an operator's discretion. See get_authToken.
get_assertionStatusReport: Used to get a status report containing publisher assertions and status information. This report is useful to help an administrator manage active and tentative publisher assertions. Publisher assertions are used in UDDI to manage publicly visible relationships between businessEntity structures. Relationships are a feature introduced in generic 2.0 that help manage complex business structures that require more than one businessEntity or more than one publisher account to manage parts of a businessEntity. Returns an assertionStatusReport that includes the status of all assertions made involving any businessEntity controlled by the requesting publisher account.
get_authToken: Used to request an authentication token from an Operator Site. Authentication tokens are required when using all other API's defined in the publishers API. This function serves as the program's equivalent of a login request.
get_publisherAssertions: Used to get a list of active publisher assertions that are controlled by an individual publisher account. Returns a publisherAssertions message containing all publisher assertions associated with a specific publisher account. Publisher assertions are used to control publicly visible business relationships.
get_registeredInfo: Used to request an abbreviated synopsis of all information currently managed by a given individual.
save_binding: Used to register new bindingTemplate information or update existing bindingTemplate information. Use this to control information about technical capabilities exposed by a registered business.
save_business: Used to register new businessEntity information or update existing businessEntity information. Use this to control the overall information about the entire business. Of the save_xx API's this one has the broadest effect. In UDDI V2, a feature is introduced where save_business can be used to reference a businessService that is parented by another businessEntity.
save_service: Used to register or update complete information about a businessService exposed by a specified businessEntity.
save_tModel: Used to register or update complete information about a tModel.
set_publisherAssertions: used to save the complete set of publisher assertions for an individual publisher account. Replaces any existing assertions, and causes any old assertions that are not reasserted to be removed from the registry. Publisher assertions are used to control publicly visible business relationships.