19
T-110.5140 NAF & XML UDDI Sasu Tarkoma and Pekka Nikander Helsinki Institute for Information Technology

T-110.5140 NAF & XML UDDI Sasu Tarkoma and Pekka Nikander Helsinki Institute for Information Technology

Embed Size (px)

Citation preview

T-110.5140 NAF & XMLUDDI

Sasu Tarkoma and Pekka Nikander

Helsinki Institute for Information Technology

UDDI

Universal Description Discovery and Integration

A “meta service” for locating web services by enabling robust queries against rich metadata

Distributed registry of businesses and their service descriptions implemented in a common XML format

Web Service Challenges

Who provides web services? How are they implemented? Where are they provided? What is their behavior? Is an application compatible? Searching and indexing do not work

today how to find the right services at the right time? we need solutions designed for tools and

apps

What is UDDI?

Universal Description Discovery and Integration Industry-wide initiative supporting web services Specifications

Schemas for service description Schemas for business (service implementers) description Developed on industry standards

Applies equally to XML and non-XML web services Implementation

Public web service registry and development resources SOAP-based programming protocol for registering and

discovering Web services XML schema for SOAP messages a description of the API

UDDI does not directly specify how pricing, deadlines, etc. are handled/matched

Advanced discovery via portals and marketplaces

Again: What is UDDI?

A project to speed interoperability and adoption for web services Standards-based specifications for service description

and discovery Shared operation of a business registry on the web

Partnership among industry and business leaders With UDDI a programmer or a program can locate

Information about services exposed by a partner find compatible in-house services Find links to specifications of a Web service Maintain technical compatibility by automatically

configuring certain technical connections Businesses can locate potential partners

The four core types of data structures that are specified by the UDDI API Schema and

their relationships are shown here

UDDI v1 Implementation

UDDI Business RegistryProgrammatic descriptions

of web services

Programmatic descriptions of businesses and the services they support Programming model,

schema, and platform agnostic

Uses XML, HTTP, and SOAPFree on the Internet

Manufacturers

Flower Shops

Marketplaces

Source: www.uddi.org, UDDI Overview presentation 9/6/2000

Standards Bodies, Agencies, Programmers, Publishers register specifications for their Service Types

Service providers register precise information about themselves and their Web services

UDDI Registry Entries

White pages

Business name General business description

Any number of languages Contact info

Names, phone numbers, fax numbers, web sites, etc.

Known identifiers List of unique identifiers for a business

Yellow pages

Business categories Based on standard taxonomies 3 base taxonomies in V1

Taxonomies Industry: NAICS (Industry codes - US Govt.) Product/Services: UNSPSC (ECCMA) Location: Geographical taxonomy (ISO 3166) …easy extension in upcoming releases

Realized using name-value pairs, any valid taxonomy identifier can be attached to the business white page

Green pages

New set of information businesses use to describe how to “do e-commerce” with them References to specifications for Web Services

Business process (functional) Service specifications (technical)

Programming/platform/implementation agnostic Binding information (implementation)

IBM

Ariba

Microsoftother

other

Now look at that again:Registry Operation

Peer nodes (websites) Companies register

with any node Registrations replicated

on a daily basis Complete set of

“registered” recordsavailable at all nodes

Common set ofSOAP APIs supportedby all nodes

Compliance enforced bybusiness contract

UDDI.org

queries

Source: www.uddi.org, UDDI Overview presentation 9/6/2000

The programmer’s API Implementation

UDDI is up and running at Microsoft, IBM, and Ariba.

An online Web Service that you can use from your applications to dynamically discover other online services, all neatly packaged in a simple XML interface:

http://uddi.microsoft.com/inquire http://uddi.ariba.com/UDDIProcessor.aw/ad/process http://www-3.ibm.com/services/uddi/inquiryapi

These are the UDDI entry points for “INQUIRIES”. The entry points for updates are different and are typically HTTPS addresses for security reasons.

UDDI Invocation Model

1. The programmer uses the UDDI business registry to locate the businessEntity information for the desired advertised Web Service

2. The programmer selects a particular bindingTemplate and saves it

3. The program is prepared on this knowledge, obtained from tModel key information in the bindingTemplate

4. At runtime, the program invokes the Web service as planned using the cached bindingTemplate information

Registry APIs

Inquiry API find_business, find_service, find_binding,

find_tModel get_businessDetail, get_serviceDetail,

get_bindingDetail, get_tModelDetail Publisher’s API

save_business, save_service, save_binding, save_tModel

delete_business, delete_service, delete_binding, delete_tModel

Security get_authToken, discard_authToken

What XML Do You POST?

<?xml version='1.0' encoding='UTF-8'?> <Envelope

xmlns='http://schemas.xmlsoap.org/soap/envelope/'> <Body>

<find_business generic="1.0"

xmlns="urn:uddi-org:api"> <name>Microsoft</name> </find_business>

</Body> </Envelope>

How Do You Post the XML?

http = new ActiveXObject("Microsoft.XMLHTTP");http.open("POST", url, false);http.setRequestHeader("Accept","text/xml");http.setRequestHeader("Cache-Control","no-cache");http.setRequestHeader("SOAPAction",'""');http.send(msg);

What Do You Get Back?

<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>

<serviceInfos> <serviceInfo

businessKey="0076B468-…-9955CFF462A3" serviceKey="8BF2F51F-…-38D8205D1333"> <name>EBI Services</name> </serviceInfo> <serviceInfo

businessKey="0076B468-…-9955CFF462A3" serviceKey="D2BC296A-…-494F9E53F1D1"> <name>UDDI Web Services</name> </serviceInfo>

More Information

UDDI Resources http://www.uddi.org http://uddi.microsoft.com http://www-3.ibm.com/services/uddi

For Developers SOAP/Web Services SDK Visual Basic UDDI SDK IBM AlphaWorks Web Services Toolkit