Web Services UDDI What is UDDI UDDI The
Web Services: UDDI
What is UDDI? • UDDI = The Universal Description, Discovery, and Integration • A central element of the group of standards that comprise the Web services stack A platform-independent, XML-based registry for businesses worldwide to list themselves on the Internet
UDDI Basics • UDDI is a specification for creating a registry service that catalogs organizations and their Web services • An implementation of the UDDI specification is called a UDDI registry • UDDI enables a business to: • • • Describe its business and its services Discover other businesses that offer desired services Integrate with these other businesses
UDDI Registry • A UDDI registry is a database that supports a set of standard data structures defined by the UDDI specification • Most UDDI products run on a relational DBMS • Can be implemented using other technologies, including LDAP servers and XML databases • UDDI products are offered by a number of vendors, including IBM, Microsoft, Sun, Oracle, Fujitsu, Systinet
Registry Data • A UDDI business registration consists of three components: White Pages • White Pages — address, contact, and known identifiers; Yellow Pages • Yellow Pages — industrial categorizations based on standard taxonomies; • Green Pages — technical information about services exposed by the business Green Pages
Brief History • Originally developed by Microsoft, IBM, and Ariba in 2000 • Later UDDI. org was formed, 12 other companies invited to participate • At first attention was focused on the "UDDI Business Registry” - a public implementation of the UDDI standard • Now supported by OASIS
Versions • UDDI 1. 0 (2000) • Foundation for registry of Internet based business services • UDDI 2. 0 (2001) • Align specification with emerging Web services standards and provide flexible service taxonomy • UDDI 3. 0 (2004) • Support secure interaction of private and public implementations as major element of service-oriented infrastructure
Private and Public Registries • Anyone can set up a UDDI registry for private use within an organization or market place • In addition, there was a massive public UDDI registry called the UDDI Business Registry, which was run jointly by IBM, Microsoft, NTT, and SAP • Companies announced they were closing their public UDDI nodes in January 2006 • However, companies continue to support private registries in their products
The Self-Organizing Myth • At first, the concept of self-organizing systems was high on the list of motivations for creating the registry standard • Idea - applications look up Web services and integrate with them automatically, without any human intervention • Sounded pretty good, but in reality doesn't work! • The high level of artificial intelligence is required to make the heuristic decisions
Key Functional Concepts • UDDI describes a registry of Web services and programmatic interfaces for publishing, retrieving, and managing information about services • Describes about 30 different SOAP operations that allow to add, update, delete, and find information contained in a UDDI registry • UDDI itself is of set a Web services!
The UDDI Data Model 1. The core information model used by a UDDI registry is defined in several XML schemas 2. XML was chosen because 1. it offers a platform-neutral view of data 2. allows hierarchical relationships to be described in a natural way 3. XSD was chosen because of its 1. support for rich data types 2. ability to easily describe and validate information based on models represented in schemas
Data Model Types 1. business. Entity • Business or organization that provides the Web service 2. business. Service • Web service or some other electronic service 3. Binding. Template • Technical details to invoke Web services 4. t. Model • Technical fingerprints used to access service specifications
Data Model Types (cont. ) 5. publisher. Assertion • Show relationship between business Entities
UDDI Programming API • UDDI accessing operations use SOAP messages User UDDI SOAP Request UDDI SOAP Response Create, View, Update, and Delete registrations UDDI Registry Node HTTP Server SOAP Processor UDDI Registry Service B 2 B Directory Implementationneutral
UDDI Programming API • UDDI's standard Web services are divided into two WSDL/SOAP-based APIs: • The Inquiry API • The Publishing API • All UDDI Inquiry and Publishing operations use Document/Literal SOAP messages and all of them are Request/Response
Inquiry API • Find things • • find_business find_service find_binding find_t. Model • Get details about things • • get_business. Detail get_service. Detail get_binding. Detail get_t. Model. Detail
Publishing API • Save things • • save_business save_service save_binding save_t. Model • Delete things • • delete_business delete_service delete_binding delete_t. Model
Example: Searching • To search for a company, say Microsoft, we would create a query within a SOAP envelope: <find_business generic="1. 0" xmlns="urn: uddi-org: api"> <name>Microsoft</name> </find_business>
Example: Response (1 -3) <business. List generic="1. 0" operator="Microsoft Corporation" truncated="false" xmlns="urn: uddi-org: api"> <business. Infos> <business. Info business. Key="0076 B 468 -EB 27 -42 E 5 -AC 09 -9955 CFF 462 A 3"> <name>Microsoft Corporation</name> <description xml: lang="en"> Empowering people through great software any time, any place and on any device is Microsoft's vision. As the worldwide leader in software for personal and business computing, we strive to produce innovative products and services that meet our customer's </description>
Example: Response (2 -3) <service. Infos> <service. Info business. Key="0076 B 468 -EB 27 -42 E 5 -AC 09 -9955 CFF 462 A 3" service. Key="1 FFE 1 F 71 -2 AF 3 -45 FB-B 788 -09 AF 7 FF 151 A 4"> <name>Web services for smart searching</name> </service. Info> <service. Info business. Key="0076 B 468 -EB 27 -42 E 5 -AC 09 -9955 CFF 462 A 3" service. Key="8 BF 2 F 51 F-8 ED 4 -43 FE-B 665 -38 D 8205 D 1333"> <name>Electronic Business Integration Services</name> </service. Info> <service. Info business. Key="0076 B 468 -EB 27 -42 E 5 -AC 09 -9955 CFF 462 A 3" service. Key="611 C 5867 -384 E-4 FFD-B 49 C-28 F 93 A 7 B 4 F 9 B"> <name>Volume Licensing Select Program</name> </service. Info>
Example: Response (3 -3) <service. Info business. Key="0076 B 468 -EB 27 -42 E 5 -AC 09 -9955 CFF 462 A 3" service. Key="A 8 E 4999 A-21 A 3 -47 FA-802 E-EE 50 A 88 B 266 F"> <name>UDDI Web Sites</name> </service. Infos> </business. List>
Java API for XML Registries • JAXR provides a uniform and standard Java API for accessing various kinds of XML registries • Gives developers the ability to write registry client programs that are portable across various target registries
UDDI 4 j • UDDI 4 J is a Java class library that provides an API to interact with a UDDI registry • Project is licensed under the IBM Public License. • Project is hosted by Source. Forge. net: http: //sourceforge. net/projects/uddi 4 j/
UDDI Server Implementations • There are various UDDI servers • Apache j. UDDI: Open-Source UDDI Server • Oracle Service Registry • Microsoft Enterprise UDDI Services: Part of Windows Server 2003 • BEA Aqualogic Service Registry • Systinet Registry
References • Introduction to UDDI: Important Features and Functional Concepts http: //www. oasisopen. org/committees/download. php/9861/UDDI%20 Technic al%20 White%20 Paper%20(Final). pdf • Universal Description, Discovery and Integration (UDDI) project: http: //www. uddi. org/ • Java Specification Request (JSR) 93: JAXR 1. 0: http: //jcp. org/jsr/detail/093. jsp • Microsoft UBR Shutdown FAQ http: //uddi. microsoft. com/about/FAQshutdown. htm
- Slides: 25