UDDI (Universal Description, Discovery and Integration) Dr. SVL Narasimham.

Slides:



Advertisements
Similar presentations
Web Service Architecture
Advertisements

Web Services Components of the Transactional Web James Snell
UDDI v3.0 (Universal Description, Discovery and Integration)
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.
SOA and Web Services. SOA Architecture Explaination Transport protocols - communicate between a service and a requester. Messaging layer - enables the.
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)
Web Services - Concepts, Architecture and Applications Part 7: Service Discovery (UDDI) Gustavo Alonso and Cesare Pautasso Computer Science Department.
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
UDDI Ashish Jain University of Colorado 3 October, 2001.
Presentation 9: UDDI - Universel Description, Discovery & Integration.
1 WS Technologies I UDDI Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions.
Secure Systems Research Group - FAU Web Services Standards Presented by Keiko Hashizume.
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.
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.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
Web Service Addressing CS409 Application Services Even Semester 2007.
Creating and Registering Mobile E-services Using Java, UDDI, and WSDL Chris Peltz Carollyn Carson
UDDI ebXML(?) and such Essential Web Services Directory and Discovery.
Web Services (SOAP, WSDL, and UDDI)
WSDL Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
1 Universal Description, Discovery, and Integration (UDDI) 大葉大學資工系.
Interfacing Registry Systems December 2000.
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.
XML Registries Source: Java TM API for XML Registries Specification.
UDDI Update Bob Sutor Director IBM e-business Standards Strategy.
1 UDDI (Universal Description, Discovery, and Integration) An Overview – part II Version : Date : Pages Responsible Author : Co-Authors : Status : Confidentiality.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
The Exchange Network Node Mentoring Workshop Universal Description, Discovery, and Integration Registry David Dundua February 28, 2005.
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.
A Brave NEtWork World Rob Willis, Ross & Associates Node Mentoring Workshop New Orleans, LA February 28, 2005.
Kemal Baykal Rasim Ismayilov
Registries, ebXML and Web Services in short. Registry A mechanism for allowing users to announce, or discover, the availability and state of a resource:
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.
1 1 ECHO Extended Services February 15, Agenda Review of Extended Services Policy and Governance ECHO’s Service Domain Model How to…
UNIVERSITY OF HELSINKI HELSINKI UNIVERSITY OF TECHNOLOGY Semantic Computing Research Group Web Services Service Publishing.
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.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
EbXML Registry and Repository Dept of Computer Engineering Khon Kaen University.
OASIS ebXML Registry Standard Open Forum 2003 on Metadata Registries 10:30 – 11:15 January 20, 2003 Kathryn Breininger The Boeing Company Chair, OASIS.
1 G52IWS: Universal Description, Discovery and Integration (UDDI)‏ Chris Greenhalgh
DISCO/UDDI -Ketan Reddy Peddabachi. Agenda Web Service Disco UDDI Disco Vs UDDI.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
International Planetary Data Alliance Registry Project Update September 16, 2011.
UDDI (Universal Description,Discovery and Integration) By S.NAGARJUNA M.Tech-C.S.E.
Wsdl.
XML and Web Services (II/2546)
Presentation transcript:

UDDI (Universal Description, Discovery and Integration) Dr. SVL Narasimham

Universal Description, Discovery and Integration (UDDI)  UDDI technology is the core and one of the building blocks of Web services apart from SOAP and WSDL.  UDDI is initiated by IBM, Microsoft, and Ariba and later many companies joined the UDDI community.  It powers businesses (large, medium, or small) to accelerate their business presence in this global market.  Businesses providing services can register information to enable the discovery of their services and business profile by prospective customers and/or partners.  Enables businesses to discover other businesses for expanding potential business partnerships.  Provides an opportunity to step into new markets and services.

UDDI Registries  An implementation of the UDDI specification is termed as a UDDI registry.  UDDI registry services are a set of software services that provide access to the UDDI registry.  Registry services can perform activities such as:  Authenticating registry requests  Authorizing registry requests  Logging registry requests  Load-balancing requests ...

Interacting with a UDDI Registry There are two ways to interact with UDDI registry  Browser-based Graphical User Interface (GUI)       Programmatic Interface  These programmatic interfaces are based on SOAP, because the UDDI registry supports SOAP as the communication protocol.

Public and Private UDDI Registries A UDDI registry can be operated in two modes - public and private mode.  Public UDDI registry  Available for everyone to publish/query the business and service information on the Internet.  Public registries can be a logical single system built upon multiple UDDI registry nodes that have their data synchronized through replication.  Global grouping of UDDI registry nodes is known as a UDDI Business Registry, or UBR.  Content can be added into a UBR from any node, but can be modified or deleted only at a node at which it was inserted.  Private UDDI Registry  Operated by a single organization or a group of collaborating organizations to share the information that would be available only to the participating bodies.  Private UDDI registries can impose additional security controls to protect the integrity of the registry data and to prevent access by unauthorized users.  A private node also can participate in information replication.

The Three Levels of UDDI UDDI specification does not explicitly specify different types of usage levels of the UDDI registry. The categorization of these levels is rather implicit.  White pages level  Register just the very basic information about their company, such as company name, address, contact information etc.  Yellow pages level  Register and classify information based on categorizations (also known as classification schemes or taxonomies)  Green pages level  Publish the technical information describing the behavior and supported functions on the Web services

UDDI Data Structures   Represents the primary information about a business, such as contact information, categorization of the business according to a specific taxonomy or classification scheme, identifiers, relationships to other business entities, and descriptions about that particular business. The categorizations are discussed in a later section titled Support for Categorization in UDDI Registries.   Relationships with other business entities are represented  Ensures both business parties have entry about the relationship   Represents the service of a business in a logical XML structure   Consists of pointers to technical descriptions and access URLs of the service   Provides a description of a particular specification or behavior of the service. The structure contains a link to the service specification, which is managed elsewhere, like WSDL. (t stands for either type or technical)

Additional UDDI Data Structures   information about the common forms of identification such as Registration numbers and tax IDs   Contains information about categories to which this service belongs to

UDDI Structure

Categorization Schemes Categorization System NameDescription and tModel Key NAICSntis-gov:naics North American Industry Classification System. This system is the most elaborate and comprehensive industry classification scheme defined so far. uddi:C0B9FE13-179F-413D-8ASB-5004DB8E5BB2 UNSPSCunspcs- org:unspsc:3-1 Universal Standard Products and Services Classification. This was the first such industry classification scheme uddi:CD A-4237-B336-6BDCBDCC6634 ISO 3166iso-ch:3166:1999 This is the standard Geography-based categorization system uuid:4E49A8D6-D5A2-4FC2-93A0-0411D8D19E88 Operator Specific uddi-org: general_keywords This is an open-ended categorization system that is not predefined

Programming with UDDI – Publishing API Data TypeSave APIDelete API Binding Template Business Template ServiceBusiness tModel Miscellaneous API

Programming with UDDI – Inquiry API DatatypeFind APIGet API bindingTemplate businessEntity serviceBusiness tModel Miscellaneous

Find_XX Functions: All Code must be within SOAP message  [ ] [ [ ]...] [ ]  ACM

Soap Response ACME Computer Services Provides professional services in the areas of computer software Billing Services

find_relatedBusinesses Function  [ ] [keyedReference/> 23453aef-af35-6a3f- c34a-bf798dab965a

find_relatedBusiness response <relatedBusinessesList generic=”2.0” operator=”SYSTINET” xmlns=”urn:uddi-org:api_v2”> 23453aef-af35-6a3f-c34a-bf798dab965a 22443aef-ac35-2f3f-c34a-ca4423bb931c XYZ Corporation Outsourced HR Services provider <keyedReference tModelKey=”uuid:...” keyName=”XYZ Provides HR Services to ACME Computer Services” keyValue=”1”>

find_service <find_service businessKey=uuid_key” [maxRows=”nn”] generic=”2.0” xmlns=”urn:uddi-org:api_v2”> [ ] [ [ ]...] [ ] caseSensitiveMatch Bill

find_service Response <serviceList generic=”2.0” operator=”SYSTINET” xmlns=”urn:uddi-org:api_v2”> <serviceInfo serviceKey= “uuid:1245sdef-af35-6a3f- c34a-bf798dab965a” businessKey= “uuid:23453aef-af35-6a3f-c34a-bf798dab965a”> Billing Services

Programming Steps for Publishing The entire publishing logic is provided by the doSubmit() method of the jws.ch5.SubmitBusiness class, and hence, its implementation is of most interest to us. The following are the steps of doSubmit(): 1. Construct the UDDIApiPublishing object. This is the object that we will use to actually publish to the registry. 2. Get hold of the authentication token from the registry with the help of the get_authToken() API call on the UDDIApiPublishing object. Once we have the authentication token, we should be able to publish to the registry. 3. Create the BusinessEntity structure and populate it with the name and description of the business to submit. Note that we do not have to create the key for this business because the registry, upon submitting the business information, would generate it. 4. Now, get hold of the SaveBusiness object. This object represents a collection of businesses that we wish to submit at a time. Hence, we will need to add the BusinessEntity object that we just created to the SaveBusiness object using the addBusinessEntity() method. 5. Now, publish the business information through a save_business() call on UDDIApiPublishing object. This method call takes the SaveBusiness object as an argument and returns the BusinessDetail object upon completion. 6. After the publishing operation has been executed, discard the authentication token. Finally, check whether the publishing operation was successful or not.

Programming Steps for Searching The entire querying logic is provided by the doSearch() method of the jws.ch5.SearchBusiness class, and hence, its implementation is of most interest to us. The following are the steps to implementing a doSearch():  1. Construct the FindBusiness object. This object represents the criteria for the search operation. Hence, we will need to add our criteria, that is, the name pattern that the user supplied, using the addName() method on this object.  2. Construct the UDDIApiInquiry object that we would use for placing the inquiry call.  3. Finally, invoke the business inquiry operation through the find _business() method on the UDDIApiInquiry object. This method returns a BusinessList object containing the BusinessInfo structures.  4. Now, check whether the businesses are found matching the given criteria. If there are matching businesses, we need to traverse through their BusinessInfo structures and get hold of the name and key UUID of the business.

Programming Steps for Deleting The deletion logic is provided by the doDelete() method of the jws.ch5.DeleteBusiness class, and hence, its implementation is of most interest to us. The following are the steps to implementing doDelete():  1. Construct the UDDIApiPublishing object. This is the object that we would use to actually delete information from the registry.  2. Get hold of the authentication token from the registry with the help of the get_authToken() API call on the UDDIApiPublishing object. Once we have a valid authentication token, we should be able to delete from the registry.  3. Now, get hold of the DeleteBusiness object. This object represents a collection of businesses that we wish to delete at a time. Hence, we will need to add businesses referenced through BusinessKey to this object, using the addBusinessKey() method on DeleteBusiness.  4. Now, delete the business information through the delete_business() call on the UDDIApiPublishing object. This method call takes the DeleteBusiness object as an argument and returns the DispositonReport object upon completion.  5. Check the DispositionReport object to see if this operation was a success or a failure.

Limitations of UDDI UDDI is an evolving standard. UDDI provides support for storing only the basic data structures, such as businesses, users, services, and service technical descriptions. However, storing information about business Web services requires more than just the basic support. UDDI is just a registry as opposed to ebXML Registry/Repository, which is, as the name suggests, a registry as well as repository. The basic difference between a registry and repository is that a registry holds just the metadata of the objects submitted, whereas a repository actually stores the submitted objects.