Upload
giolla
View
48
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Web Services: UDDI. What is UDDI?. UDDI = The U niversal D escription, D iscovery, and I ntegration A central element of the group of standards that comprise the Web services stack. - PowerPoint PPT Presentation
Citation preview
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 — address, contact, and known identifiers;
• Yellow Pages — industrial categorizations based on standard taxonomies;
• Green Pages — technical information about services exposed by the business
WhitePages
YellowPages
GreenPages
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• The core information model used by a UDDI
registry is defined in several XML schemas
• XML was chosen because• it offers a platform-neutral view of data• allows hierarchical relationships to be described in a
natural way
• XSD was chosen because of its• support for rich data types • ability to easily describe and validate information
based on models represented in schemas
Data Model Types1. businessEntity
• Business or organization that provides the Web service
2. businessService• Web service or some other electronic service
3. BindingTemplate• Technical details to invoke Web services
4. tModel• Technical fingerprints used to access service
specifications
Data Model Types (cont.)5. publisherAssertion
• Show relationship between business Entities
UDDI Programming API• UDDI accessing operations use SOAP messages
UDDI RegistryNodeUser
UDDISOAP Request
UDDISOAP Response
HTTPServer
SOAPProcessor
UDDIRegistry Service
B2B DirectoryCreate, View, Update, and Deleteregistrations
Implementation-neutral
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_tModel
• Get details about things• get_businessDetail• get_serviceDetail• get_bindingDetail• get_tModelDetail
Publishing API• Save things
• save_business• save_service• save_binding• save_tModel
• Delete things• delete_business• delete_service• delete_binding• delete_tModel
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)<businessList generic="1.0"
operator="Microsoft Corporation"
truncated="false"
xmlns="urn:uddi-org:api">
<businessInfos>
<businessInfo
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3">
<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) <serviceInfos>
<serviceInfo
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
serviceKey="1FFE1F71-2AF3-45FB-B788-09AF7FF151A4">
<name>Web services for smart searching</name>
</serviceInfo>
<serviceInfo
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
serviceKey="8BF2F51F-8ED4-43FE-B665-38D8205D1333">
<name>Electronic Business Integration Services</name>
</serviceInfo>
<serviceInfo
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
serviceKey="611C5867-384E-4FFD-B49C-28F93A7B4F9B">
<name>Volume Licensing Select Program</name>
</serviceInfo>
Example: Response (3-3) <serviceInfo
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
serviceKey="A8E4999A-21A3-47FA-802E-EE50A88B266F">
<name>UDDI Web Sites</name>
</serviceInfo>
</serviceInfos>
</businessInfo>
</businessInfos>
</businessList>
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
UDDI4j• UDDI4J 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 SourceForge.net: http://sourceforge.net/projects/uddi4j/
UDDI Server Implementations• There are various UDDI servers
• Apache jUDDI: 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.oasis-open.org/committees/download.php/9861/UDDI%20Technical%20White%20Paper%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 FAQhttp://uddi.microsoft.com/about/FAQshutdown.htm