You are on page 1of 8

Tunku Abdul Rahman College

Advanced Diploma in Science AACS5274 Web Services
1. Tutorial 5 What are service registries and service discovery? Answer: Service registries: • Service registries are all about visibility and control. • A service registry keeps track of what services an organization has and characteristics of those services. • The creation of a service registry architecture that enables enterprises to introduce a global, platformindependent, open framework for businesses to: • Discover each other • Define how they interact over the Internet • Share information in a global registry that will more rapidly accelerate the global adoption of ebusiness • Publication of a service requires proper description of a Web services such as business, service, and technical information. • Registration deals with persistently storing the Web service descriptions in the Web services registry. Service discovery: • Is a process of locating Web service providers, and retrieving Web service description that have been previously published. (locating and interrogating Web service definitions) • Through this process, the client learns that a particular Web service exists, what its capabilities are, how to interact with it. • Interrogating services involve querying the service registry for Web service matching the needs of a service requestor. • A query consists of search criteria such as type of the desired service, preferred price, etc. (clients knows then the URL for the selected service.) 2. Registration and discovery are the major parts of Universal Description, Discovery, and Integration (UDDI) when a business publishes a Web service. Briefly describe the registration and discovery processes of the UDDI. Answer: The two main parts of UDDI are registration and discovery (i) Registration: Businesses can post information to UDDI, (ii) Discovery: Other businesses can search and discover Briefly describe the concept underlying on the UDDI. Answer: Concept: UDDI stores business and service info. (an XML document describes a business entity and its Web services). • UDDI is a cross-industry initiative to create a registry standard for Web service description and discovery together with a registry facilities that supports the publishing and discovery processes. • UDDI enables service providers to describe their services and business processes in a global, open environment on the Internet, thus extending their reach. • It also enables service clients to discover information about enterprises offering Web services, find service descriptions of the Web services and finally, find technical information about Web service interfaces and definitions of how the enterprises may interact over the Internet.  Businesses can register with any of the hosts—IBM, HP, SAP, or Microsoft—and the information they provide will be placed into the database at that host site. All information placed into one of the host site databases is replicated to the other host site databases, ensuring that they are all kept in synch. Users requesting data about a business can then receive the same information about a registered business from any of the host databases. When a business updates the data, it must return to the original site to which the data was placed and

3.

AACS5274 Web Services
execute the update function.

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.

How does a UDDI work? Answer:

Page 2 of 8

AACS5274 Web Services

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 you’ve 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

AACS5274 Web Services 6.

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

AACS5274 Web Services 7.

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.

businessServices: Descriptive Information about a particular 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 API’s 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

AACS5274 Web Services
IdentifierBag Not required Table 4.1

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

AACS5274 Web Services

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

AACS5274 Web Services

Tutorial 5

Page 8 of 8