Describe the basic functions provided by the UDDI Publish and Inquiry APIs to interact with a UDDI business registry.And today I will write some words about UDDI.
UDDI overview
UDDI (Universal Description, Discovery and Integration) is a platform-independent XML-based registry standard for businesses worldwide to list themselves on the Internet. The standard is supported by OASIS. It defines how businesses may publish service listings and discover each other. The ultimate goal of UDDI was to enable automatic Web Services composition.
Communication to UDDI registry is based on SOAP. UDDI provides access to WSDL documents of Web Services registered in its directory.
Basically the UDDI business registration consists of three components:
- White Pages - address, contact, and known identifiers
- Yellow Pages - industrial categorizations based on standard taxonomies
- Green Pages - technical information about services exposed by the business
UDDI API
UDDI API is divided into 3 main groups (there are more groups): Inquiry API, Security Policy API, and Publication API. The names are pretty self descriptive.
Exam states that you have to know only Inqury and Publication APIs, but Security Policy API is strongly linked with Piblication API and that is why I write about it.
Inquiry API
The Inquiry API uses the browse-and-drill-down pattern. There are functions used to browse the directory
find_xxx and functions get_xxx used to retrieve full registered details for the corresponding instance (by passing the key returned by the relevant find_xxx function).Here they are:
find_bindingused to locate bindings within or across one or more registeredbusinessServices. Returns abindingDetailstructure.find_businessused to locate information about one or morebusinesses. Returns abusinessListstructure.find_relatedBusinessesused to locate information aboutbusinessEntityregistrations that are related to a specific business entity whose key is passed in the inquiry.find_serviceused to locate specific services within registered business entities. Returns aserviceListstructure.find_tModelused to locate one or moretModelinformation structures. Returns atModelListstructure.get_bindingDetailused to getbindingTemplateinformation suitable for making service requests. Returns abindingDetailstructure.get_businessDetailused to get thebusinessEntityinformation for one or more businesses or organizations. Returns abusinessDetailstructure.get_operationalInfoused to retrieve operational information pertaining to one or more entities in the registry. Returns anoperationalInfosstructure.get_serviceDetailused to get full details for a given set of registeredbusinessServicedata. Returns aserviceDetailstructure.get_tModelDetailused to get full details for a given set of registeredtModeldata. Returns atModelDetailstructure.
The security API includes the following API calls:
discard_authTokenused to inform a node that a previously obtained authentication token is no longer required and should be considered invalid if used after this message is received.get_authTokenused to request an authentication token in the form of anauthInfoelement from a UDDI node. AnauthInfoelement MAY be required when using the API calls.
authInfo for Publication API calls. Also, a UDDI node may provide an alternative (external) mechanism for obtaining authInfo elements.Publication API
If current UDDI node requires authentication then all Publication API methods expect authentication token as a first argument. Otherwise the
authInfo may be skipped.add_publisherAssertionsused to add relationship assertions to the existing set of assertions.delete_bindingused to remove an existingbindingTemplatefrom the registry.delete_businessused to delete existingbusinessEntityinformation from the registry.delete_publisherAssertionsused to delete specific publisher assertions from the assertion collection controlled by a particular publisher. Deleting assertions from the assertion collection affects the visibility of business relationships. Deleting an assertion causes any relationships based on that assertion to become incomplete.delete_serviceused to delete an existingbusinessServicefrom the registry.delete_tModelused to hide existing information about atModel. AnytModelhidden in this way is still usable for reference purposes and accessible via theget_tModelDetailAPI, but is hidden fromfind_tModelresult sets. There is no specified way to delete atModel.get_assertionStatusReportused to get a status report containing publisher assertions and status information. This report is useful to help an administrator manage publisher assertions. Returns anassertionStatusReportthat includes the status of all assertions made involving anybusinessEntitycontrolled by the requesting publisher.get_publisherAssertionsused to get a list of publisher assertions that are controlled by an individual publisher. Returns apublisherAssertionsstructure containing all publisher assertions associated with a specific publisher.get_registeredInfoused to request an abbreviated list of businesses andtModelscurrently managed by a given publisher.save_bindingused to register newbindingTemplateinformation or to update existingbindingTemplateinformation. Use this to control information about technical capabilities exposed by a registered business.save_businessused to register newbusinessEntityinformation or update existingbusinessEntityinformation. Use this to control the full set of information about the entire business, including itsbusinessServiceandbindingTemplatestructures. This API has the broadest effect of all of thesave_xxxAPIs.
save_serviceused to register or update complete information about abusinessService.save_tModelused to register or update information about atModel.set_publisherAssertionsused to save the complete set of publisher assertions for an individual publisher. Replaces any existing assertions, and causes any old assertions that are not reasserted to be removed from the registry.
As exam objective does talk about only basic functions I didn't cover here: Custody and Ownership Transfer API (enables any nodes of a registry to cooperatively transfer custody of one or more
businessEntity or tModel structures from one node to another, as well as allowing the transfer of ownership of these structures from one publisher to another), Subscription API (optional API, allows clients to subscribe for information on changes made in a UDDI registry), Value Set API (optional API, allows validation of values).For more information on UDDI API visit UDDI 3.0.2 spec available at OASIS: http://www.uddi.org/pubs/uddi_v3.htm.
I have covered now 3 of 12 sections of exam objectives... Still a long way ahead...
Cheers,
Łukasz

2 comments:
If you are looking for getting started with preparing for SCDJWS certification then its very normal that you will be stuck on the material required for it. SCDJWS in nature is very vast in its scope.
Security is always important for sensitive and secrete information transfer over internet.So i feel for that Security Policy API is really very very important
Post a Comment