17
Web Services & UDDI

Web Services & UDDI

  • Upload
    neveah

  • View
    36

  • Download
    1

Embed Size (px)

DESCRIPTION

Web Services & UDDI. Web services are distributed components that communicate using standard protocols such as Simple Object Access Protocol (SOAP) and HTTP. Web services exposes callable API functions, better known as Web Methods over the Internet. - PowerPoint PPT Presentation

Citation preview

Page 1: Web Services & UDDI

Web Services & UDDI

Page 2: Web Services & UDDI

• Web services are distributed components that communicate using standard protocols such as Simple Object Access Protocol (SOAP) and HTTP.

• Web services exposes callable API functions, better known as Web Methods over the Internet.

Web services publish details of their interface using XML vocabulary called Web Services Description Language(WSDL).

Page 3: Web Services & UDDI

• WSDL describes the interface for the Web service.

• WSDL is an XML-based vocabulary that describes the set of SOAP messages that a Web service supports.

• Every Web service has an associated WSDL file that documents the Web methods including their arguments and return types.

Page 4: Web Services & UDDI

• Generates a proxy class that can be used by the Web service consumers for communicating with the Web service.

• .NET also provides a default service description screen that summarizes the WSDL information in a readable format.

• Automatic generation of XML based WSDL.

•Avoids handling SOAP responses and requests.

Page 5: Web Services & UDDI

•The proxy class assembles the requests and responses

in the correct format.

•Web services are stateless.

•Web services are platform and language agnostic.

Page 6: Web Services & UDDI

• Universal Description, Discovery and Integration (UDDI) is a specification for building distributed databases that enable interested parties to “discover” each other’s Web services.

• Provides easy discovery, sharing, and reuse of Web services and other programmable resources.

Page 7: Web Services & UDDI

In step 1 , “Invocation Pattern using the UDDI Registry” it is shown how a business publishes services to the UDDI registry.

In step 2, a client looks up the service in the registry and receives service binding information.

Finally in step 3, the client then uses the binding information to invoke the service. The UDDI APIs are SOAP based for interoperability reasons.

Here, three APIs specified in the UDDI v3 specification, Security, Publication and Inquiry, are used.

Page 8: Web Services & UDDI

APIs defined by UDDI:•UDDI_Security_PortType, defines the API to obtain a security token. With a valid security token a publisher can publish to the registry. A security token can be used for the entire session.•UDDI_Publication_PortType, defines the API to publish business and service information to the UDDI registry.•UDDI_Inquiry_PortType, defines the API to query the UDDI registry. Typically this API does not require a security token.•UDDI_CustodyTransfer_PortType, this API can be used to transfer the custody of a business from one UDDI node to another.•UDDI_Subscription_PortType, defines the API to register for updates on a particular business of service.•UDDI_SubscriptionListener_PortType, defines the API a client must implement to receive subscription notifications from a UDDI node.•UDDI_Replication_PortType, defines the API to replicate registry data between UDDI nodes.•UDDI_ValueSetValidation_PortType, by nodes to allow external providers of value set validation. Web services to assess whether keyedReferences or keyedReferenceGroups are valid.•UDDI_ValueSetCaching_PortType, UDDI nodes may perform validation of publisher references themselves using the cached values obtained from such a Web service.

Page 9: Web Services & UDDI

Conceptually, a business can register three types of information into a UDDI registry. The specification does not call out these types specifically, but they provide a good summary of what UDDI can store for a business:

White pages---Basic contact information and identifiers about a company, including business name, address, contact information, and unique identifiers such as D-U-N-S numbers or tax IDs. This information allows others to discover your web service based upon your business identification.

Yellow pages---Information that describes a web service using different categorizations (taxonomies). This information allows others to discover your web service based upon its categorization (such as being in the manufacturing or car sales business).

Green pages---Technical information that describes the behaviors and supported functions of a web service hosted by your business. This information includes pointers to the grouping information of web services and where the web services are located.

Page 10: Web Services & UDDI
Page 11: Web Services & UDDI

• The Universal Description, Discovery and Integration (UDDI) protocol is one of the major building blocks required for successful Web services.

• UDDI creates a standard interoperable platform that enables companies and applications to quickly, easily, and dynamically find and use Web services over the Internet (or Intranet).

• UDDI also allows operational registries to be maintained for different purposes in different contexts.

• UDDI is a cross-industry effort driven by major platform and software providers, as well as marketplace operators and e-business leaders within the OASIS standards consortium 

• UDDI is a Web-based distributed directory that enables businesses to list themselves on the Internet (or Intranet) and discover each other, similar to a traditional phone book’s yellow and white pages.

• The UDDI registry is both a white pages business directory and a technical specifications library. The Registry is designed to store information about Businesses and Services and it holds references to detailed documentation.

Page 12: Web Services & UDDI

• UDDI sites publish a pair of SOAP-based APIs : Inquiry API

Publisher API .

•UDDI services enables companies to run their own private UDDI service for use on the corporate intranet or extranet.

Page 13: Web Services & UDDI

•UDDI Services helps companies organize and catalog programmatic resources.

• The four core entities that you need to model when developing UDDI services are:    Provide•        Service•         Binding•         tModel

Page 14: Web Services & UDDI

Provider: Information about the Provider: Information about the entity who offers a serviceentity who offers a service

0…n

Service: Descriptive information Service: Descriptive information about a particular family of about a particular family of

technical offeringstechnical offerings

0…n

Service: Descriptive information Service: Descriptive information about a particular family of about a particular family of

technical offeringstechnical offerings

Service: Descriptive information Service: Descriptive information about a particular family of about a particular family of

technical offeringstechnical offerings

0…n

Binding: Technical information Binding: Technical information about a service entry pointabout a service entry point

0…n

Binding: Technical information Binding: Technical information about a service entry pointabout a service entry point

Binding: Technical information Binding: Technical information about a service entry pointabout a service entry point

tModel: Descriptions of tModel: Descriptions of specifications for services. specifications for services.

Bindings contains Bindings contains references to tModels. references to tModels. These references declare These references declare the interface specifications the interface specifications for a service.for a service.

0…n

tModel: Descriptions of tModel: Descriptions of specifications for services. specifications for services.

tModel: Descriptions of tModel: Descriptions of specifications for services. specifications for services.

Bindings contains Bindings contains references to tModels. references to tModels. These references declare These references declare the interface specifications the interface specifications for a service.for a service.

0…n

Page 15: Web Services & UDDI

Microsoft.Uddi.Inquire.Url = url;Microsoft.Uddi.Inquire.AuthenticationMode = Microsoft.Uddi.AuthenticationMode.UddiAuthentication;

FindService fs = new FindService();if (businessKey != String.Empty) Microsoft.Uddi.Inquire.Url = url; Microsoft.Uddi.Inquire.AuthenticationMode = Microsoft.Uddi.AuthenticationMode.UddiAuthentication; fs.BusinessKey = businessKey;

fs.FindQualifiers = _qualifiers;if (_tTModelKeys.Count > 0) fs.TModelKeys = _tTModelKeys;

String temp = service == String.Empty ? "%" : service;fs.Names.Add(temp.Trim());

Page 16: Web Services & UDDI

try{ ServiceList svlist = fs.Send(); if (svlist == null) return null; List<SVInfo> list = new List<SVInfo>(); foreach (ServiceInfo si in svlist.ServiceInfos) { SVInfo s; s.name = si.Name; s.key = si.ServiceKey; s.businesskey = si.BusinessKey;

GetBusinessDetail gbd = new GetBusinessDetail(); gbd.BusinessKeys.Add(si.BusinessKey); BusinessDetail be = gbd.Send(); s.businessname = be.BusinessEntities[0].Names[0].Text;

GetServiceDetail gsd = new GetServiceDetail(); gsd.ServiceKeys.Add(si.ServiceKey); ServiceDetail sd = gsd.Send(); s.accesspoint = sd.BusinessServices[0].BindingTemplates[0].AccessPoint.Text; list.Add(s); } return list;}catch (Exception){ return null; throw;}

Page 17: Web Services & UDDI

http://www.codeproject.com/Articles/34187/Publish-a-WSDL-to-a-UDDI-Server