Professional Documents
Culture Documents
3.
Tutorial 5
Security is a prime concern. Businesses are authorized to update information by one of the operators and therefore must return to the original operator to change or to delete any information they posted. Businesses must first obtain authorization when they wish to register with UDDI and must be approved by at least one of the operators. Approval means sending to the business an authorization token that allows the business to log onto the UDDI site and to store or to update data. Authorization to update the registry is handled by the operators individually; login information from one operator will not work for another. For all practical purposes, someone registering information with UDDI has to choose one of the operators and stick with that operator. The two main parts of UDDI are registration and discovery Registration: Businesses can post information to UDDI, Discovery: Other businesses can search and discover. UDDI operators post WSDL descriptions of their Web services for registration and discovery. UDDI provides separate WSDL files for registration and discovery services, using its own XML document format.
Data validity is another primary concern To ensure that the business being registered is a real business; information such as business name, ID number, category information, phone number, Web page, and street address are correct and the business category and geographical information are correct. UDDI v2 is set up to allow third parties to do this and does validate category data.
4.
Page 2 of 8
Tutorial 5
5.
Imagine that the YOUGo Enterprise wants to register its contact information, service description, and online service access information with UDDI. You are required to show the necessary steps to help register its information with UDDI and appraise the quality of UDDI data. Answer: Necessary steps: 1. Choose an operator with which to work. Each operator has different terms and conditions for authorizing access to its replica of the registry and may provide some value-added services on top of the basics UDDI services. Also, whenever you need to update or to modify the data youve registered, you have to go back to the operator with which you entered the data. 2. Build or obtain a UDDI client. 3. Obtain an authentication token from the operator. 4. Register information about the business. Include as much information as might be helpful to those searching for matches. 5. Release the authentication token. 6. Use enquiry APIs to test the retrieval of the information, including binding template information. 7. Fill in the tModel information for searching purposes. 8. Update information as necessary to reflect changing business contact information, obtaining and releasing a new authentication token from the operator each time. Quality of UDDI data: Data validity is primary concern To ensure that the business being registered is a real business; information such as business name, ID number, category information, phone number, Web page, and street address are correct and the business category and geographical information are correct. UDDI v2 is set up to allow third parties to do this and does validate category data.
Page 3 of 8
Tutorial 5
What is the purpose of a WSDL to UDDI mapping model? Answer: The WSDL to UDDI mapping model is designed to help users find services that implement standard definitions. The mapping describe how WSDL <portType> and <binding> element specification can become <tModel>; how the <port> of WSDL become UDDI <bindingTemplate>; and how each WSDL service is registered as a <businessService>. A complete WSDL service description is a combination of: a service interface (<types>, <message>, <portType>), a service binding (<binding>), and a service implementation (<service> and <port>) document. Note: service interface and binding represent a reusable definition of a service, while, service implementation describes instances of a service.
Page 4 of 8
Tutorial 5
List and explain the FIVE (5) basic data structures of UDDI. Support your answer with an appropriate diagram. Answer:
businessEntity: Information about the party which publishes information about a family of services tModel: Descriptions of specifications for services or taxonomies. Basis for technical fingerprints.
bindTemplate data contains references to tModels. These references designate the intnerface specifications for a service.
8.
PublisherInsertion: Information about a relationship between two parties, asserted by one or both.
bindingTemplate: Technical information about a service entry point and construction specification.
businessEntity, the top-level structure, describing the business or other entity for which information is being registered. The other structures are related via references from this structures. BusinessService, the name and description of the service being published. bindingTemplate, information about the service, including an entry-point address for accessing the address. tModel, a fingerprint, or collection of information uniquely identifying the service specification. This data structure also supports top-level searches. publishAssertion, a relationship structure putting into association two or more businessEntity structures according to a specific type of relationship, such as subsidiary or department of.
9.
UDDI APIs are separated into publisher API and inquiry API. Explain each of the API mention above in detail. Answer: Enquiry APIs: to search and read data in a UDDI registry Publishing APIs: to add, update, and delete data in a UDDI registry. Enquiry APIs: Requestor can obtain information from a UDDI registry using its enquiry interface. To find businesses, services, or binding meeting certain criteria. In turn, the corresponding <businessEntity>, <businessService>, and <bindingTemplate> is then returned. Two usage patterns: browse and drill down. Browse: to get a list of all entries satisfying broad criteria. (e.g. find_business) Drill down: to get more specific features. (e.g. get_BusinessDetail) Publishing APIs: They can be used by enterprises to store and update information contained in a UDDI registry. (to manage the information provided to requestors) The publishing API supports four kinds of operations: authorization (get authorization token), save (add and update), delete, and get (view the <publisherAssertion>) operations . Two authorization operations: get_authtoken and discard_authtoken (a) Suppose that a company named Acme, BhD. has received an authentication token from one of the UDDI operators and desires to publish information to the UDDI registry including information from the table below, Table 4.1. Soap Action save_business Host www.acme.com Namespace http://schemas/xmlsoap.org/soap/envelope/ UDDI version 2 (Use urn:uddi-org:api_v2 as the namespace for the <save_business> element) BusinessKey 1111 (although much larger in practice) Value for <name> element Acme, Bhd. Value for <description> IT Services for Malaysia
Page 5 of 8
Tutorial 5
9 (a) Create the SOAP message that the business needs to send to the operator in order to register it into the UDDI registry. (10 marks) 9(a) Answer: The SOAP message that business needs to send to the operator in order to register it into the UDDI registry: POST /save_business HTTP/1.1 Host: www.acme.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "save_business" <?xml version="1.0" encoding="UTF-8" ?> <Envelope xmlns="http://schemas/xmlsoap.org/soap/envelope/"> <Body> <save_business generic="2.0" xmlns="urn:uddi-org:api_v2"> <businessKey>1111</businessKey> <name>Acme, BhD.</name> <description>IT Services for Malaysia</description> </save_business> </Body> </Envelope> (b) List and describe the FIVE (5) data structure types of UDDI. You may support your answer with an appropriate diagram. (10 marks) Answer: (iii) businessEntity, the top-level structure, describing the business or other entity for which information is being registered. The other structure are related via references from this structures. (iv) BusinessService, the name and description of the service being published. (v) bindingTemplate, information about the service, including an entry-point address for accessing the address. (vi) tModel, a fingerprint, or collection of information uniquely identifying the service specification. This data structure also supports top-level searches. (vii) publishAssertion, a relationship structure putting into association two or more businessEntity structures according to a specific type of relationship, such as subsidiary or department of. (c) Describe the TWO (2) categories of the UDDI APIs and give an example for each. (5 marks) Answer:
Page 6 of 8
Tutorial 5
Enquiry APIs: to search and read data in a UDDI registry Two usage patterns: browse and drill down. Browse: to get a list of all entries satisfying broad criteria. (e.g. find_business) APIs find_business Description Locate one or more <businessEntity> entries that match search criteria. (search criteria can be partial business name, identifier, category, or technical fingerprint.) Locate information about <businessEntity> registrations that are related to a business entity. List all of the businesses that have visible <publisherAssertion>. Return a lightweight list of business service entries. Locate specific binding within registered business service and returns the <bindingTemplate> whose <tModel> match the search criteria. Return a list of <tModel> that match the names, identifiers, categories.
find_relatedBusiness
find_service find_binding
find_tModel
Drill down: to get more specific features. (e.g. get_BusinessDetail) APIs get_BusinessDetail get_BusinessDetailExt Description Request one or more <businessEntity> data structures by their unique business keys and return a complete <businessEntity> object.
Is similar with get_BusinessDetail, but return extra attributes in case the source registry is not an operator node. get_serviceDetail Request one or more <businessService> data structures by their unique service keys, and return a complete <businessService> object for a given business service get_bindingDetail Requests one or more <bindingTemplate> data structures by their unique binding keys and return the run-time binding information used for invoking method. get_tModelDetail Requests one or more <tModel> data structures by their unique <tModel> keys and return <tModel> details. Publishing APIs: to add, update, and delete data in a UDDI registry. APIs add_publisherAssertions delete_binding delete_business delete_publisherAssertions delete_service delete_tModel Description adds relationship assertions, or puts one or more businesses into relationship, such as departments or subsidiaries. removes a bindingTemplate. deletes a registered businessEntity. deletes relationship information. deletes a registered businessService. hides a tModel (This is not deleted as existing references may use it. Once hidden, reactivation is needed by invoking the saved tmmodel with the original data.).
APIs discard_authToken
Description informs the operator with which the business or the agent is registered that the authentication token is not valid anymore; that is, the business or the agent is discarding the token or is not going to use it anymore. a report, primarily for operator use, to check and to help validate registered relationships. requests an authentication token from an operator site; a prerequisite for using other publisher APIs. Page 7 of 8
get_assertionStatusReport get_authToken
Tutorial 5
Page 8 of 8