1 UDDI (Universal Description, Discovery, and Integration) An Overview – part II Version : Date : Pages Responsible Author : Co-Authors : Status : Confidentiality.

Slides:



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

Siebel Web Services Siebel Web Services March, From
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.
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.
Web Services: UDDI. What is UDDI? UDDI = The Universal Description, Discovery, and Integration A central element of the group of standards that comprise.
UDDI Overview Copyright © by Accenture, Ariba, Inc., Commerce One, Inc., Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., Intel.
ECHO: NASA’s E os C learing HO use Integrating Access to Data Services Michael Burnett Blueprint Technologies, 7799 Leesburg.
UDDI Overview Web Services Registry SOA Enabler. What Is UDDI? Universal Description, Discovery, and Integration Protocols for web services registry Public.
- Page 1 - VisualWorks Web Services 8/27/02 Version 1.0 Exp osin g Business Value with VisualWorks Web Services Kirk D. Blackburn Qwest Communications,
Distributed Heterogeneous Data Warehouse For Grid Analysis
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Web Services - Concepts, Architecture and Applications Part 7: Service Discovery (UDDI) Gustavo Alonso and Cesare Pautasso Computer Science Department.
UDDI Ashish Jain University of Colorado 3 October, 2001.
Web Services Seppo Heikkinen MITA seminar/TUT
Livermore July Web Services Overview Francisco Curbera IBM T.J. Watson Research Center.
1 WS Technologies I UDDI Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions.
Processing of structured documents Spring 2003, Part 6 Helena Ahonen-Myka.
In Introduction to Web Services
Introduction to UDDI From: OASIS, Introduction to UDDI: Important Features and Functional Concepts.
WEB SERVICES Web Development Technology. 2 Contents How it’s work? –Definition –Simple Web Service Invocation –Web Service Description –SOAP –UDDI.
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.
Discovering E-Services Using UDDI in SELF-SERV Quan Z. Sheng, Boualem Benatallah, Rayan Stephan, Eileen Oi-Yan Mak, Yan Q. Zhu School of Computer Science.
UDDI Overview 9/6/2000 © Copyright 2000 By Ariba, Inc., International Business Machines Corporation and Microsoft Corporation. All Rights Reserved.
Cambridge, March 23 rd 2004 MobileMAN Project MobileMAN Project Web Service in Ad Hoc Network Veronica Vanni NETikos S.p.A.
UDDIe: An Extended registry for Web Services UDDIe: An Extended Registry for Web Services Ali Shaikhali, Omer F. Rana, Rashid J. Al-Ali and David W. Walker.
Web Service Addressing CS409 Application Services Even Semester 2007.
Web Services (SOAP, WSDL, and UDDI)
1 Universal Description, Discovery, and Integration (UDDI) 大葉大學資工系.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Metadata and Geographical Information Systems Adrian Moss KINDS project, Manchester Metropolitan University, UK
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
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.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
Web Services Standards. Introduction A web service is a type of component that is available on the web and can be incorporated in applications or used.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
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.
- Page 1 - VisualWorks Web Services 8/27/02 Version 1.0 Exp osin g Business Value with VisualWorks Web Services Kirk D. Blackburn Qwest Communications,
RSISIPL1 SERVICE ORIENTED ARCHITECTURE (SOA) By Pavan By Pavan.
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.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
UDDI (Universal Description, Discovery and Integration) Dr. SVL Narasimham.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Lecture VI: SOAP-based Web Service CS 4593 Cloud-Oriented Big Data and Software Engineering.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
1 G52IWS: Universal Description, Discovery and Integration (UDDI)‏ Chris Greenhalgh
WSTK Development toolkit for Java Implementation of Web Services By Keping Jia.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Service Discovery: UDDI COMP6017 Topics on Web Services Dr Nicholas Gibbins –
Sabri Kızanlık Ural Emekçi
UDDI Best Practices.
Wsdl.
Presentation transcript:

1 UDDI (Universal Description, Discovery, and Integration) An Overview – part II Version : Date : Pages Responsible Author : Co-Authors : Status : Confidentiality : Mar Gabriele Zacco Draft [ ]Proposal [ ]Released [ X ] Public [ ]Internal [ X ]Restricted [ ]

2 Outline 1.Brief recap of last episode 2.UDDI Data structures 3.UDDI API 1.Querying 2.Publishing 4.Using WSDL and BPEL in a UDDI registry

3 UDDI in a Nutshell UDDI is an open standard for publishing and discovering the software components of a service-oriented architecture Cross-industry effort driven by major platform and software providers, marketplace operators and e-business leaders within the OASIS standard consortium UDDI allows for a standard interoperable platform that enables companies and applications to quickly, easily and dynamically (at run-time) find and use Web services over the Internet The UDDI protocol is another XML-based building block of the Web services stack along with SOAP (standard for invoking remote operations) and WSDL (standard for specifying what these operations look like)

4 UDDI Registry Service The UDDI specifications define a registry service for Web services UDDI is a meta service for locating web services by enabling robust queries against rich metadata. Service providers can use UDDI to advertise the services they offer Service consumer can use UDDI to discover services that suites their requirements and to obtain the service metadata needed to consume those services.

5 UDDI Interaction Publisher and user are free to communicate directly as soon as the former has published on a UDDI registry and the latter has performed his queries Standards for communicating are important, also considering that we are not only talking about data retrieval but also function/methods calling (web services) and workflow executions (processes)

6 UDDI Registry Types UDDI allows operational registries to be maintained for different purposes in different contexts A business may deploy one or more: Private registries: Isolated from the public network, firewalled Restricted access No shared data Public registries: Unrestricted open and public access Data is shared with other registries Affiliated registries Controlled environment Access limited to authorized clients Data shared in a controlled manner Private registry supports intranet applications, while a public registry support extranet applications Affiliated registries supports all other infrastructural topologies e.g., involving delegation, distribution, replication, subscription, that reflects the realities and the relationship of the underlying business processes

7 UDDI Registry Data Model The core information model of UDDI registries is made of several data structures: businessEntity (info about the organization that published the service) businessService (description of a service business function) bindingTemplate (service’s technical details) tModel (attributes or metadata about the service such as taxonomies, transports, digital signatures) publisherAssertions (relationship among entities in the registry) subscription (standing request to track changes to a list of entities) Each data structure within a given registry is assigned a Universally Unique ID (or “key”, also called UUID) UDDI allows users to specify different taxonomies for providing semantic structure to the information about Web services contained in a registry

8 UDDI Data Structures businessEntity: White pages service: supply contacts, addresses, and other info that are useful to get in touch with publishers for preliminary negotiations and to get technical support businessService: Yellow pages service: enables companies to search for specific information about services published by other companies bindingTemplate: Supply detailed info when searching for a particular service Contains a technical schema of the service Important at run-time since it supplies the web address of the service tModel: Describes services and supply technical details for the implementation Used for labelling taxonomies (each taxonomiy own a unique tModel that is a detailed descriptions of the data in a UDDI registry) UUID: All the entities within UDDI registries have a Universally Unique ID

9 Remarks about Data Structures Structures overlapping: businessEntity and businessServices You can search a company in the yellow pages (businessServices) as well; the difference is that you can search by category rather than name or other id categoryBag is the trait-du-union: contains general categories referred to companies Taxonomies are very important (UDDI supports different)

10 UDDI API Features that supports core data management: Authorized publishing and deleting information about a service to a registry Querying a UDDI registry for information about a service or a company; can be generic or specific Features that supports registry interaction: Replicating and transferring custody of data about a service from servers to servers within a UDDI registry network Registration key generation and management Registration subscription API set Security and authorization

11 UDDI Querying API – part I SOAP requests (and answers) for retrieving services or activities To be used as a first step during searches or when little info is required Keys are returned identifying services or activities that can be used for further discovery find_business For searching an activity using several different criteria (name, category) Returns a businessList structure find_binding For searching a binding template associated to a service Returns a bindingDetail structure find_relatedBusiness Uses the business key, returned by find_business, to find business related to it find_service For retrieving services published by an activity Returns a serviceList structure find_tModel For searching tModel structures by name or other criteria Returns a tModelList structure

12 UDDI Querying API – part II These are other SOAP requests (and answers) that use the keys obtained from previous calls for retrieving detailed records about services or activities Several keys can be used for each request get_bindingDetail Uses a bindingKey to return a bindingDetail structure get_businessDetail, get_businessDetailExt Uses a businessKey to return a businessDetail structure (with more or less attributes) get_serviceDetail Uses a serviceKey to return a serviceDetail structure get_tModelDetail Uses a tModelKey to return a tModelDetail structure

13 UDDI Publishing API (1/2) Publishing on a UDDI registry, unlike querying, requires authorization UDDI is in charge of verifying authorizations since SOAP can not Logging is achieved through a get_authToken request that return a authToken to be used for subsequent interactions, until a discard_authToken is issued at the end of the interaction Publishing means saving and deleting the four main UDDI objects (services, activities, bindings, tModels) Save operations require one or more objects of the relevant kind (businessEntity, businessService, bindingTemplate, tModel) Delete operations require one or more object key (businessKey, serviceKey, bindingKey, tModelKey) Last, for establishing a relation between different businesses (find_relatedBusinesses), they both have to explicitly declare it

14 UDDI Publishing API (2/2) get_authToken discard_authToken save_business save_service save_binding save_tModel delete_business delete_service delete_binding delete_tModel add_publisherAssertion, set_publisherAssertion delete_publisherAssertion

15 back to UDDI Data Structure

16 back to

17 back to UDDI Data Structures

18 back to UDDI Data Structures

19 back to

20 back to

21 back to

22 back to

23 back to UDDI Data Structures

24 back to UDDI Query API

25 back to UDDI Query API

26 back to UDDI Query API

27 back to UDDI Query API

28 back to UDDI Query API

29 back to UDDI Query API

30 back to UDDI Query API

31 back to UDDI Query API

32 back to UDDI Query API

33 WSDL and UDDI UDDI provides a way of describing and discovering Web services and Web service providers WSDL, that describes the abstract interfaces, protocol bindings and deployment details of network services, can be seen as a complement to the UDDI standard Understanding the relationship between WSDL and UDDI and establishing a mapping between them allows to Enable automatic registration of WSDL definitions in UDDI Enable precise and flexible UDDI queries based on specific WSDL artifacts and metadata Namespace and/or local name of a wsdl:portType  tModel that represents that portType Namespace and/or local name of a wsdl:binding  tModel that represents that binding tModel representing a portType  all tModels represeting bindings for that portType tModel representing a portType  all binding templates that represent implementations of that portType tModel representing a binding  all binding templates that represent implementations of that binding Namespace and/or local name of a wsdl:Service  businessService that represents that Service

34 WSDL/UDDI Mapping: portType - tModel WSDLUDDI portTypetModel portType NamespacekeyedReference in categoryBag Local name of portTypetModelName Location of WSDL docoverviewURL

35 WSDL/UDDI Mapping: binding - tModel WSDLUDDI bindingtModel (categorized as binding and wsdlSpec) binding NamespacekeyedReference in categoryBag Local name of bindingtModelName Location of WSDL docoverviewURL portType binding relates tokeyedReference in categoryBag Protocol from binding extensionkeyedReference in categoryBag Transport from binding extension (if there is one) keyedReference in categoryBag

36 WSDL/UDDI Mapping: Service - businessService WSDLUDDI ServicebusinessService (categorized as service) Service NamespacekeyedReference in categoryBag Local name of ServicekeyedReference in categoryBag; optionally also the name of the service

37 WSDL/UDDI Mapping: port - bindingTemplate WSDLUDDI portbindingTemplate port NamespaceCaptured in the keyedReference of the containing businessService port Local NameInstanceParms of the tModelInstanceInfo related to the tModel for the binding Binding implemented by porttModelInstanceInfo with tModelKey of the tModel corresponding to the binding portType implemented by porttModelInstanceInfo with tModelKey of the tModel corresponding to the portType

38 BPEL and UDDI BPEL abstract processes complements WSDL by describing behavioral aspects of Web services Therefore it may be of interest to exchange abstract processes between business partners A BPEL/UDDI mapping can be established in order to: Enable automatic registration of BPEL definitions in UDDI Enable optimized and flexible UDDI queries on specific BPEL artifacts and metadata Namespace and/or local name of a wsdl:process  tModel that represents that process tModel representing a portType  all tModels representing processes based on that portType tModel representing a process  all tModels represent portTypes that are used by the process tModel representing a process  all bindingTemplates that implement a portType that in turn is part of the process

39 BPEL/UDDI Mapping: process - tModel BPELUDDI processtModel (categorized as processdef) process NamespacekeyedReference in categoryBag Local name of processtModelName Location of BPEL doc with process definition overviewURL WSDL portTypesportType tModels portbindingTemplate