ddd

Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

UDDI : 

UDDI Working with Web Services

Web Services Outline : 

Web Services Outline History of Web Services What are Web Services? Implementation Benefits Web Service Technologies XML, SOAP, WSDL, UDDI WS-Security Implementation Future for Web Services!

What Are Web Services? : 

What Are Web Services? Components that run on Web servers that allow its methods to be called over HTTP Allows procedures on one machine to be run remotely via the Internet by another machine Web based application that relies on the SOAP protocol and XML Goal is to seamlessly and transparently exchange data between clients (RPC) SOA - Service Oriented Architecture

What Are Web Services? : 

What Are Web Services? Client (Web User) Web site Standard HTTP Using SOAP over HTTP Web Service #1 Web Service #2 Web Service #3 Local Web Service Internet

What Are Web Services? : 

What Are Web Services? doGoogleSearch Class Web Service doSpellingSuggestion Class doGetCachedPage Class Web Server (api.google.com) The Internet

History of Web Services : 

History of Web Services 11/1996 – Initial XML draft published 1999 – HP and e-Speak 1998-1999 – UserLand develops XML-RPC 9/1999 – Microsoft and others develop SOAP 5/2000 – SOAP 1.1 submitted to W3C 9/2000 - XML Protocol working group created

History of Web Services, con’t : 

History of Web Services, con’t 12/2001 - SOAP 1.2 working draft released 1/2002 – Web Services working group created 1/2003 – WSDL 1.2 working draft published 6/2003 – SOAP 1.2 released as W3 recommendation 11/2003 – WSDL 1.2 renamed to WSDL 2.0

History of Web Services, con’t : 

History of Web Services, con’t Source: U. Ogbuji, "The Past, Present and Future of Web Services, part 1" [Online document] Sept. 2002, [2005 Jan 30], Available at HTTP: http://www.mywebservices.org/index.php/article/articleview/663/2/24/

Benefits of Web Services : 

Benefits of Web Services Platform independent technology Transparent to user Integration is easy. This is a low cost technology from a business standpoint Use existing methods/procedures Easy cross business and enterprise integration Service registries

Demo! : 

Demo! Google Windows Application

Web Services : 

Web Services The Underlying Technology

SOAP, XML, WSDL, UDDI : 

SOAP, XML, WSDL, UDDI Most Web Services rely on four main technologies: XML, SOAP, WSDL, and UDDI XML (Extensible Markup Language) – Encode & organize the Message SOAP (Simple Object Access Protocol) – Defines message standards and acts as message envelope WSDL (Web Service Description Language) – Describes a web service and its functions UDDI (Universal Description, Discovery and Integration Service) – Dynamically find other web services

Underlying Framework Summary : 

Underlying Framework Summary SOAP SOAP message <xml message> WSDL describes the web service and how to invoke it UDDI helps one find web services (dynamically) XML encodes data while SOAP then translates this data into a format that can be understood by the web service & client

XML (Extensible Markup Language) : 

XML (Extensible Markup Language) XML encodes the message Customizable tags Facilitates data organization & encoding Provides interoperability/easy exchangeXML Example <?xml version="1.0" encoding="ISO-8859-1"?><classes> <class><number>SC 712</number><professor>Professor Skinner</professor><location>PSY 53</location></class><class><number>SC 518</number><professor>Professor Brackett</professor><location>PHO 202</location></class></classes>

SOAP (Simple Object Access Protocol) : 

SOAP (Simple Object Access Protocol) SOAP defines standards for XML message SOAP consists of three different parts: Envelope Encoding Rules for Datatypes Remote Procedure Call (RPC) Conventions

SOAP example : 

SOAP example Below is a SOAP message (Ver 1.1) for Google’s API. Searching for the terms “boston” “university”. <?xml version='1.0' encoding='UTF-8'?> <soap11:Envelope xmlns="urn:GoogleSearch“ xmlns:soap11="http://schemas.xmlsoap.org/soap/envelope/"><soap11:Body> <doGoogleSearch> <key>00000000000000000000000000000000</key> <q>boston university</q> <start>0</start> <maxResults>10</maxResults> <filter>true</filter> <restrict></restrict> <safeSearch>false</safeSearch> <lr></lr> <ie>latin1</ie> <oe>latin1</oe> </doGoogleSearch> </soap11:Body> </soap11:Envelope>

SOAP 1.2 improvements over 1.1 : 

SOAP 1.2 improvements over 1.1 Protocol independent Better interoperability Improved performance Extensible Better support for web standards

WSDL (Web Service Description Language) : 

WSDL (Web Service Description Language) Standard format for describing a web service What can a web service do? Where is the web service located? How is a web service procedure call invoked? Not yet a W3C standard, is a widely-adopted form Available to those who need to invoke the web service

UDDI : 

UDDI UDDI (Universal Description, Discovery and Integration) project began in 2000 Grew out of a collaborative effort from IBM, Microsoft and Ariba Version 1.0 of its’ specification was released in September 6, 2000. Surprised the ebXML community and eventually became the dominant force in that community IBM and Sun collaborated on ebXML with the backing of Commerce – One Commerce – One: Business to Business solution September 7th 2000 Commerce – One backed the UDDI initiative

What is UDDI? : 

What is UDDI? UDDI is an OASIS standard. It is a collaboration of over 300 companies UDDI provides a universal method for publishing and discovering web services Think of UDDI as a web based ‘phone book’ that enables businesses to detail themselves on the internet Facilitates rapid development in B2B marketplaces

What Are The Benefits of UDDI? : 

What Are The Benefits of UDDI? Web services are becoming the basis for electronic commerce of all forms PayPal Amazon UDDI is similar to an internet search engine Organizes businesses and what services the business has to offer. Useful for businesses who want to invoke numerous services to complete a business transaction In the past businesses did not adapt well to change. Platforms simply were not scalable. Web Services and UDDI create a more malleable form of interaction As the number of companies that the business needs to interact with grows it becomes very difficult to locate services the old fashioned way (a Google search?) Hopefully the UDDI registry solves this problem

How Does The UDDI Work? : 

How Does The UDDI Work? Businesses deploy one or more public or private UDDI registries. Private registries Public registries Shared/Private registries Currently there exists access to a number of UDDI Business Registry (UBR) such as: IBM Microsoft SAP NTT-Communications Example of IBM’s Public Business Registry Version 2 Information is shared cross UDDI public registries

Technical Model : 

Technical Model The method for which UDDI presents it services can be classified into three categories White Pages: Company contact information (description) Yellow Pages: Categorizing businesses and service by taxonomies (business locators) Green Pages: Technical Specifications (service details)

Drawbacks of UDDI : 

Drawbacks of UDDI Concerns in the community of the service being controlled by a few large companies Not widely used and supported Cumbersome technology Business to Business e-commerce has not evolved as anticipated

The Future of UDDI : 

The Future of UDDI Easier to use discovery of services More evolved API for UDDI Broader acceptance of the standard

UDDI Resources : 

UDDI Resources www.uddi.org www.uddi.microsoft.com www.uddi.hp.com/uddi www.uddi.ibm.com

Web Services : 

Web Services SOAP Alternative

REST - A SOAP Alternative : 

REST - A SOAP Alternative REST - Representational State Transfer. The web is composed of resources Accessing a resource returns a representation of that resource This places the client in a state Accessing another resource in that representation transfers the client to another state.

REST continued : 

REST continued A architectural style, not a standard Use standards like HTTP/URL/XML, etc. The web is a REST system

REST Web Service Example(Example from: http://www.xfront.com/REST-Web-Services.html) : 

REST Web Service Example(Example from: http://www.xfront.com/REST-Web-Services.html) Let’s say a company provides a web service to return a list of parts they sell http://www.parts-depot.com/parts Returns an XML doc such as: <?xml version="1.0"?> <p:Parts xmlns:p="http://www.parts-depot.com" xmlns:xlink="http://www.w3.org/1999/xlink"> <Part id="00345" xlink:href="http://www.parts-depot.com/parts/00345"/> <Part id="00346" xlink:href="http://www.parts-depot.com/parts/00346"/> <Part id="00347" xlink:href="http://www.parts-depot.com/parts/00347"/> <Part id="00348" xlink:href="http://www.parts-depot.com/parts/00348"/> </p:Parts>

REST Web Service Example, cont. : 

REST Web Service Example, cont. Can then access a resource listed in the XML doc such as: http://www.parts-depot.com/parts/00345 It can then return something like: <?xml version="1.0"?> <p:Part xmlns:p="http://www.parts-depot.com" xmlns:xlink="http://www.w3.org/1999/xlink"> <Part-ID>00345</Part-ID> <Name>Widget-A</Name> <Description>This part is used within the frap assembly</Description> <Specification xlink:href="http://www.parts-depot.com/parts/00345/specification"/> <UnitCost currency="USD">0.10</UnitCost> <Quantity>10</Quantity> </p:Part>

REST Web Service Example, cont. : 

REST Web Service Example, cont. RSS is a example of a REST style web service. Remember, an actual document does not have to exist on the server at a specific URL. XML data can be generated on the fly by the server and sent to the client.

Benefits of REST Based Services : 

Benefits of REST Based Services Easy to use by clients Amazon offer both SOAP and REST style web services for their item search capability. The REST example uses about half as much code as the SOAP one Increased performance over SOAP Uses existing protocols (HTTP), no other layers required

Web Services : 

Web Services Security in Web Services

Why The Need For Specific Web Service Security? : 

Why The Need For Specific Web Service Security? Imagine a service that has two exposed methods. Public use Private use Can the security be achieved with a firewall? No capability to validate SOAP request Must make XML and SOAP aware Add security information in SOAP messages XML and SOAP aware firewall checks these messages

WS - Security : 

WS - Security Proposed by IBM, Microsoft and Verisign in 2002 OASIS created a WS-Security committee in 2002 OASIS approved standard April 2004 WS – Security describe enhancements to SOAP to provide message integrity Designed to be used in conjunction with SSL, Kerberos and other security models These simply aren’t enough security Provides end-to-end level security Three components for WS-Security Authentication and authorization of users Message integrity Message encryption

Web Service Authentication : 

Web Service Authentication Three ways to use authentication Username/Password Model Server side: For .NET use the Microsoft.Web.Services.Security.IpasswordProvider interface Client side: Implementation of the web service is the same except implement the Microsoft.Web.Services.Security.UsernameToken to pass authentication information

Web Service Authentication : 

Web Service Authentication X.509 Certificate Model Ensures the identity of the client the server is communicating with Evaluates credentials of the client Uses PKI, “Public Key Infrastructure” Each user has a unique PKI certificate Public key/Private Key Architecture User keeps one key private User publishes one key in the form of a certificate

Web Service Authentication : 

Joe asks for Jane’s Public Key Joe encrypts the data with Jane’s key Joe sends encrypted data Jane decrypts the message Web Service Authentication

Web Service Authentication : 

Web Service Authentication Kerberos Method User presents credentials Username/password Accepted or denied Security system grants the user a “ticket granting ticket” User then presents this TGT to get access to requested resources

Web Service Message Integrity : 

Web Service Message Integrity Digital Signature Ensures the integrity of the message Doesn’t prevent others from seeing the message, but does present a security mechanism for ensuring data has been tampered with X.509 – sender signs message with key Kerberos – session key Generated using XML Signature W3C implemented the signature element in XML, 2002

Web Services Encryption : 

Web Services Encryption Simply proving the users identity and signing the messages is not enough Everyone who understands the SOAP protocol can read messages being sent across the network We only want the intended recipient of the message to see read the message Encrypt SOAP messages!

Web Services Encryption : 

Web Services Encryption Uses XML Encryption Symmetric Encryption One encrypt and decrypt key Asymmetric Encryption Public key/Private key distribution X.509 certificates

Web Services : 

Web Services How Are They Implemented

Implementations of Web Services : 

Implementations of Web Services Commercially available services: Amazon – item searching/pricing (SOAP and REST) Google – search (SOAP) Mapquest – maps (REST) MS Mappoint – maps (SOAP) Some are available for free, while others are fee-based.

Current Penetration of Market : 

Current Penetration of Market By Fall 2005, 77% of enterprises are predicted to have deployed Web Services 48% of enterprises currently have Web Services in production 39% will have web services in production in next 10 months As of July 2004, 50,000 developers were signed up for Amazon Web Services Program eBay receives 1 billion XML queries a month (related to Web Services)Source: See References [20], [21]

Web Services : 

Web Services Using/Deploying Web Services

Tools To Develop Web Services in .NET : 

Tools To Develop Web Services in .NET .NET makes web services easy Visual Studio .NET provide a template to create a new web service. Also provides methods to use an existing web service in a program so you can use it’s methods as if they were local.

Tools To Develop Web Services on other platforms : 

Tools To Develop Web Services on other platforms Toolkits for SOAP are available for many platforms including Java and Perl. Apache SOAP for Java SOAP::Lite for Perl

Web Services : 

Web Services Limitations of web services

Limitations to Web Services(SOAP related) : 

Limitations to Web Services(SOAP related) Data security Lack of security over SOAP Time-consuming Due to SOAP/XML parsing Overhead addition SOAP adds overhead to data returns Complex Object limitations Full interaction with complex objects is not always possible

Limitations to Web Services(General) : 

Limitations to Web Services(General) Reliant on HTTP Messages not guaranteed over HTTP Distributed Management Load management, availability Error tracing Distributed over many systems Specification Delays and Confusion New standards released but products are already in development under old ones

Web Services : 

Web Services What Does The Future Hold?

Future of Web Services : 

Future of Web Services XML performance increase using binary XML Push for simplification. Tim Bray, co-inventor of XML, says that Web services standards have become "bloated, opaque and insanely complex.” Better multi-stage, distributed process management (XLang, XAML)

Future of Web Services : 

Future of Web Services XLang XML-based Used to coordinate actions/processes over several Web Services Compensatory-model style XAML (Transaction Authority Markup Language) XML-based Not to be confused with Microsoft XAML Two-phase commit style

Future of Web Services : 

Future of Web Services Remain in background (transparent) to average web user Usage will increase among developers and companies using Web Services as collaboration tool Better tools to develop services Stronger standards being developed Increased market share Large opportunity for third party vendors to provide clients customized services Conclusion: Web Services Strong