Service Discovery: UDDI COMP6017 Topics on Web Services Dr Nicholas Gibbins – 2012-2013.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

INTRODUCTION A WEB SERVICE is an application that accepts requests from other systems across the Internet or an Intranet, mediated by lightweight, vendor-neutral.
Web Services Core Technologies
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
UDDI v3.0 (Universal Description, Discovery and Integration)
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
Web Services Seminar: Service Description Languages
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
1 UDDI Jong-Ha Jung 07/28. 2 INDEX INDEX What is UDDI? What is UDDI? Appearance of UDDI Appearance of UDDI Why UDDI? Why UDDI? Analogy with Telephone.
UDDI, Discovery and Web Services Registries. Introduction To facilitate e-commerce, companies needed a way to locate one another and exchange information.
Web Services Technology Stack (WSDL and UDDI)
T NAF & XML UDDI Sasu Tarkoma and Pekka Nikander Helsinki Institute for Information Technology.
UDDI Overview Copyright © by Accenture, Ariba, Inc., Commerce One, Inc., Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., Intel.
UDDI Overview Web Services Registry SOA Enabler. What Is UDDI? Universal Description, Discovery, and Integration Protocols for web services registry Public.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
UDDI Ashish Jain University of Colorado 3 October, 2001.
Web Services Seppo Heikkinen MITA seminar/TUT
Web Services CS Web Services Internet-available services using XML messaging, for computer-computer interaction Not tied to any OS or language Self-describing:
In Introduction to Web Services
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
UDDI Overview 9/6/2000 © Copyright 2000 By Ariba, Inc., International Business Machines Corporation and Microsoft Corporation. All Rights Reserved.
1 Core Web Services Standards. 2 (Simplified) Web Service Architecture Registry 1. Service Registers PUBLISH 3. Client calls Service BIND 2. Client Request.
Cambridge, March 23 rd 2004 MobileMAN Project MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
Web Services and Data Integration Zachary G. Ives University of Pennsylvania CIS 455 / 555 – Internet and Web Systems September 20, 2015 Some slides by.
Web Service Addressing CS409 Application Services Even Semester 2007.
Web Services (SOAP, WSDL, and UDDI)
Web Services Description Language CS409 Application Services Even Semester 2007.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Web Services (SOAP, WSDL, UDDI) SNU OOPSLA Lab. October 2005.
1 Universal Description, Discovery, and Integration (UDDI) 大葉大學資工系.
Session I Part II: WS Standards Umesh Bellur IIT Bombay umesh[at]it.iitb.ac.in.
UDDI Jianguo Lu University of Windsor What is UDDI?  Universal Description, Discovery, and Integration  A project to encourage interoperability.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
IBM Software Group ® WSRP-UDDI Straw Man Richard Jacob WSRP-PFB SC.
1 UDDI (Universal Description, Discovery, and Integration) An Overview – part II Version : Date : Pages Responsible Author : Co-Authors : Status : Confidentiality.
The Exchange Network Node Mentoring Workshop Universal Description, Discovery, and Integration Registry David Dundua February 28, 2005.
Web Services Registries and UDDI INFOSYS290-3 Web Services: Concepts, Design and Implementation.
Helsinki, June 7 th 2004 IAB Meeting MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
A brief introduction of UDDI By Xin Huang. What is UDDI.
1 Web Services Web and Database Management System.
Service provider service requestor application object (client) application object (service provider) SOAP-based middleware SOAP messages exchanged on top.
Kemal Baykal Rasim Ismayilov
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
CP3024 Lecture 10 Web Services. What are Web Services?  “encapsulated, loosely coupled, contracted software objects offered via standard protocols” ZapThink.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
Web Services Part 1 -- Qinwei Zhu Part 2 – Yongqun He.
WSDL – Web Service Definition Language  WSDL is used to describe, locate and define Web services.  A web service is described by: message format simple.
UDDI (Universal Description, Discovery and Integration) Dr. SVL Narasimham.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
IBM Software Group ® WSRP-UDDI Straw Man Richard Jacob WSRP-PFB SC.
1 G52IWS: Universal Description, Discovery and Integration (UDDI)‏ Chris Greenhalgh
Discovery of Manageability Clarification
Service Description: Addressing & Policy COMP6017 Topics on Web Services Dr Nicholas Gibbins –
UDDI (Universal Description,Discovery and Integration) By S.NAGARJUNA M.Tech-C.S.E.
INFS3204/ M51 INFS 3204/7204 Service-Oriented Architecture Dr Heng Tao SHEN ITEE, UQ Semester 2, M5: Web Service basics.
Cloud Computing Web Services.
Sabri Kızanlık Ural Emekçi
Introduction to Web Services
Chris Peiris CSSE ASP.NET UDDI Browser Chris Peiris CSSE
UDDI Best Practices.
Wsdl.
Web services, WSDL, SOAP and UDDI
Universal Description, Discovery and Integration (UDDI)
Presentation transcript:

Service Discovery: UDDI COMP6017 Topics on Web Services Dr Nicholas Gibbins –

Universal Description Discovery and Integration Unified and systematic way to find service providers Roughly equivalent to a “phone directory” of web services

Universal Description Discovery and Integration Specifications: –Schemas for service and business description –Query and update API for the registry WS-I compatible Based on XML, HTTP, SOAP, WSDL Current status : –UDDI 3.0 has been released in August –OASIS UDDI Specifications Technical Committee manages and develops UDDI Specifications

Organising Structure UDDI registries store three types of published information about web services: –White Pages: information such as name, address, i.e. contact details –Yellow Pages: information such as categorization of businesses or services –Green Pages: information such as technical data about services

Business Description businessEntity –provides information, including identifiers, contact information etc… – [white-pages information] –includes one or more businessService (service entity) elements that represents the services it provides –specifies a categoryBag to categorize the business [yellow-pages information] –a unique key identifies each businessEntity

<businessEntity businessKey= “A687FG00-56NM-EFT ”> Acme Travel Incorporated Acme is a world leader in online travel services Acme Inc CALL ACME ….... … <keyedReference tModelKey= “UUID:DB77450D-9FA8-45D4-A7BC-04411D14E384” keyName=“Electronic check-in” keyValue=“ ”/> Business Name Services Category Business Key

Service Description businessService (service entity) –includes information such as name, description. [white-pages information] –uniquely identified by a service key –specifies a categoryBag to categorize the service [yellow-pages information] –contains a list of bindingTemplates which in turn contains tModelInstanceDetails encoding the technical service information [green-pages information] –includes reference to its host with a businessKey

<businessService serviceKey= “894B5100-3AAF-11D5-80DC C64” businessKey=“D AAF-11D5-80DC C64”> ElectronicTravelService <bindingTemplate bindingKey= “6D665B10-3AAF-11D5-80DC C64” serviceKey=“89470B40-3AAF-11D5-80DC C64”> SOAP-based e-checkin and flight info Service Key Service Name Binding Template tModelDetails Category

UDDI Information Model Rompothong, Senivongse 03

UDDI Query UDDI Search API allows users to query for service providers that provide a particular service After finding the required UDDI entry, a set of APIs is used to get details of those entries –get_businessDetail(), get_serviceDetail(), get_bindingDetail(), get_tModelDetail()

UDDI Query Targets A business entity, using business name, key or category A list of publisher assertions, using business key A business service, using the business key of service key and service name Service key of a bussiness entity, using a binding template A set of business entities and business services adopting same tModel

UDDI and WSDL relationship AdamsAdams, Boeyen 02Boeyen

tModel A WSDL document is registered as a tModel into UDDI registry –In order to describe a service in more expressive way, an external information is referenced where the type and format of this information should be arbitrary. –UDDI specification leaves the responsibility of defining such arbitrary information types and formats to programmers.

tModel tModel is a UDDI construct to refer an interface describing WSDL document. The tModel idea: –to better describe a service we tend to reference information –such information type or format should not be anticipated –replacing such information about a service with a unique key provides a reference to arbitrary information types

tModels for Categorization Using categorization, UDDI directory can be queried for specific type of services. Each classification in a taxonomical system is registered as a tModel. Three standard taxonomies cited by UDDI are –North American Industry Classification System (NAICS) taxonomy – an industry classification –The Universal Standard Products and Services Code System (UNSPSC) taxonomy – a classification of products and services –The International Organization for Standardization Geographic taxonomy (ISO 3166)

A simplified tModel definition Standard service interface definition for travel services WSDL Service Interface Document

Binding WSDL to UDDI

Example Consider the following simple WSDL document: –one portType, one binding, one service, and one port Location of this WSDL is

<definitions name="StockQuote" targetNamespace=" xmlns:tns= xmlns:xsd1=" xmlns:soap= xmlns=" “Input\Output” Details “Binding” Details output “Method” Specification input

Example This WSDL document may be decomposed into: –a tModel for the portType –a tModel for the binding –a businessService with abindingTemplate.

portType tModel 21 The WSDL portType entity maps to a tModel –The tModel name is the same as the WSDL portType local name –The tModel contains a categoryBag that specifies the WSDL namespace, and it indicates that the tModel is of type “portType” –The overviewDoc provides a pointer to the WSDL document

UDDI portType tModel StockQuotePortType <keyedReference tModelKey="uuid:d01987d1-ab2e be2-2a66eb99d824" keyName=”portType namespace” keyValue=” /> <keyedReference tModelKey="uuid:6e090afa-33e5-36eb-81b7-1ca18373f457" keyName=”WSDL type” keyValue="portType" /> tModel name overviewDoc categoryBa g

binding tModel 23 The WSDL binding entity maps to a tModel. –The tModel name is the same as the WSDL binding local name. –The tModel contains a categoryBag that –specifies the WSDL namespace –indicates that the tModel is of type “binding” –supplies a pointer to the portType tModel –indicates what protocols are supported by the binding. –The wsdlSpec keyedReference ensures that users can find the tModel using the conventions defined in the Version 1 Best Practice. –The overviewDoc provides a pointer to the WSDL document.

StockQuoteSoapBinding <keyedReference tModelKey="uuid:d01987d1-ab2e be2-2a66eb99d824" keyName=”binding namespace” keyValue=” /> <keyedReference tModelKey="uuid:6e090afa-33e5-36eb-81b7-1ca18373f457" keyName=”WSDL type” keyValue="binding" /> <keyedReference tModelKey="uuid:082b d8-303c-b332-f24a6d53e38e" keyName=”portType reference” keyValue="uuid:e8cf b35-865f-94a7322e40c3" /> <keyedReference tModelKey="uuid:4dc d9-aecd-33c57dc3a865" keyName=”SOAP protocol” keyValue=“uuid:aa de df3-a5c075d64a0e” /> <keyedReference tModelKey="uuid:e5c e4-37bf d04b35c0099" keyName=”HTTP transport” keyValue=“uuid:68DE9E80-AD09-469D-8A BFBC36" /> <keyedReference tModelKey="uuid:c1acf26d d70-39b756e62ab4" keyName=”uddi-org:types” keyValue="wsdlSpec" /> keyedReference overviewDoc categoryBag

businessService and bindingTemplate 25 The WSDL service entity maps to a businessService, and the WSDL port entity maps to a bindingTemplate. –The businessService name should be a human-readable name. –The businessService contains a categoryBag that indicates that this service represents a WSDL service, and it specifies the WSDL namespace and WSDL service local name. –The bindingTemplate specifies the endpoint of the service, and it contains a set of tModelInstanceDetails. –The first tModelInstanceInfo indicates that the service implements the StockQuoteSoapBinding and provides the WSDL port local name. –The second tModelInstanceInfo indicates that the service implements the StockQuotePortType

<businessService serviceKey="102b114a-52e0-4af4-a da543d4" businessKey="1e65ea29-4e0f d352d7b10368"> Stock Quote Service <bindingTemplate bindingKey="f793c521-0daf-434c e32da232e74” serviceKey="102b114a-52e0-4af4-a da543d4"> <tModelInstanceInfo tModelKey="uuid: f4a5-4ba5-b8d0-32ab388dadda"> text here… StockQuotePort <tModelInstanceInfo tModelKey="uuid:e8cf b35-865f-94a7322e40c3"> The wsdl:portType that this wsdl:port implements. ….. business name tModelInstanceInfo bindingTemplate tModelInstanceDetails

Query example - I Find the businessService for a WSDL service <keyedReference tModelKey=”uuid:6e090afa-33e5-36eb-81b7-1ca18373f457” keyName=”WSDL type” keyValue=”service” /> <keyedReference tModelKey="uuid:d01987d1-ab2e be2-2a66eb99d824" keyName=”service namespace” keyValue=” /> <keyedReference tModelKey="uuid:2ec bec-c9dbefcaccf6" keyName=”service local name” keyValue="StockQuoteService" />

Query example - II Find tModel for portType name StockQuotePortType <keyedReference tModelKey=”uuid:6e090afa-33e5-36eb-81b7-1ca18373f457” keyName=”WSDL type” keyValue=”portType”/> <keyedReference tModelKey=”uuid:d01987d1-ab2e be2-2a66eb99d824” keyName=”portType namespace” keyValue=”

Query example - III Find bindings for portType <keyedReference tModelKey=” uuid:6e090afa-33e5-36eb-81b7-1ca18373f457” keyName=”WSDL type” keyValue=”binding”/> <keyedReference tModelKey=”uuid:082b d8-303c-b332-f24a6d53e38e” keyName=”portType reference” keyValue=”uuid:e8cf b35-865f-94a7322e40c3”/>

Updates to UDDI Specifications Richer mapping of WSDL 1.1 to UDDI v.2 and v.3 – portType is supported. –Note that portType replaced by Interface in WSDL 2. – any logical/physical WSDL structure is supported spec/doc/tn/uddi-spec-tc-tn-wsdl-v htm

Updates to UDDI Specifications new querying abilities on UDDI registries –Given the namespace of a wsdl:portType, find the tModel that represents that portType. –Given the namespace a wsdl:binding, find the tModel that represents that binding. –Given a tModel representing a portType, find all tModels representing bindings for that portType. –Given a tModel representing a portType, find all bindingTemplates that represent implementations of that portType. –Given a tModel representing a binding, find all bindingTemplates that represent implementations of that binding. –Given the namespace of a wsdl:service, find the businessService that represents that service.

WSDL data model

UDDI data model

mapping of WSDL 1.1 to UDDI V2 data model

Limitations tModels are not stored in UDDI registries themselves. A unique identifier referencing a tModel is contained in the registries. There is no uniform way of querying about services, service interfaces and classifications. UDDI does not support WSDL security

Limitations Out-of-date service documents in UDDI registries. No dynamic discovery functionality Limited query capabilities: search for services restricted to WS name and its classification

Future Extensions to UDDI Information on spatial and temporal availability of a service Information on pricing, payment and delivery channels Information on degree of security and confidentiality of service request Information on consumption, quality of service and reputation