22
Web Services Web Services Components of the Components of the “Transactional Web” “Transactional Web” James Snell [email protected]

Web Services Components of the Transactional Web James Snell [email protected]

Embed Size (px)

Citation preview

Page 1: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

Web ServicesWeb ServicesComponents of the Components of the “Transactional Web”“Transactional Web”

James Snell

[email protected]

Page 2: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

OverviewOverview

What is the “Transactional Web”What is the “Transactional Web” The Web Services StackThe Web Services Stack

Web Service Description Language Web Service Description Language (WSDL)(WSDL)

Universal Description, Discovery and Universal Description, Discovery and Integration (UDDI)Integration (UDDI)

Web Services and the Semantic WebWeb Services and the Semantic Web Discussion/Q&ADiscussion/Q&A

Page 3: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

What is the “Transactional What is the “Transactional Web”Web”

Today: “The eye-ball Web” - the Today: “The eye-ball Web” - the architecture of the Web is geared architecture of the Web is geared towards delivering information towards delivering information visually.visually.

Tomorrow: “The transactional Web” – Tomorrow: “The transactional Web” – the architecture of the Web geared the architecture of the Web geared towards intelligently exchanging towards intelligently exchanging information between applications.information between applications.

Page 4: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

What is the “Transactional What is the “Transactional Web”Web”

““Web Services” (plural) is a blanket Web Services” (plural) is a blanket term representing all of the term representing all of the technologies that enable the technologies that enable the “transactional web” to exist.“transactional web” to exist.

““Web Service” (singular) is a term Web Service” (singular) is a term referring to a collection of application referring to a collection of application operations accessible over a network operations accessible over a network using Web Services technologies.using Web Services technologies.

Page 5: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

WSAHWSAH(Web Services Acronym Hell)(Web Services Acronym Hell)

XML

SOAP

WSDL

UDDIWSFL

DISCO

PKIXKMS

SAML

ebXML

XML-RPC

XMLP

XML-DIGSIG

XML-ENCSOAP-

SEC

X-KISS

CPP-CPA

WSEL

SOAP-RP

DIME

XLANG

DISCO

JABBER

(Tylenol with Codeine - which is what you’ll need after reading about all of

these)

P3P

DSML

DAML-S

XSD

TWC

Page 6: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

The Web Services StackThe Web Services StackWire

ProtocolsDescription Discovery

TCP/IP

HTTP/SMTP/BEEP

XML

SOAP/XMLP

SOAP Blocks

XML

WSDL

WSDL Extensions

Process

Agreements

Inspection

Registry (UDDI)

The Web Services Stack helps us understand how each of the various pieces fit into the “Big Picture”

Page 7: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

The Web Services StackThe Web Services Stack

Wire ProtocolsWire Protocols Primary Role: provide a standard, Primary Role: provide a standard,

flexible communications channelflexible communications channel Secondary Role: provide a standard, Secondary Role: provide a standard,

flexible wire-level data representationflexible wire-level data representation

Advantage: interoperability at the lowest Advantage: interoperability at the lowest level level

Page 8: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

The Web Services StackThe Web Services Stack

DescriptionDescription Primary Role: provide a standard, Primary Role: provide a standard,

flexible way to describe what and how a flexible way to describe what and how a Web service does what it does.Web service does what it does.

Advantage: interoperabilityAdvantage: interoperability

Page 9: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

The Web Services StackThe Web Services Stack

DiscoveryDiscovery Primary Role: provide a standard, Primary Role: provide a standard,

flexible way to discover where a Web flexible way to discover where a Web service is located and where to find service is located and where to find more information about what the Web more information about what the Web service does (the service does (the descriptiondescription))

Advantage: interoperability, dynamic Advantage: interoperability, dynamic integrationintegration

Page 10: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

WSDL - OverviewWSDL - Overview

WSDL is a simple XML grammar for WSDL is a simple XML grammar for describing how to communicate with a describing how to communicate with a Web serviceWeb service It defines the messages (both abstract and It defines the messages (both abstract and

concrete) that are sent to and from a serviceconcrete) that are sent to and from a service It defines logical collections of messages (“port It defines logical collections of messages (“port

type”, “interface”)type”, “interface”) It defines how a given “port type” is bound to It defines how a given “port type” is bound to

particular wire protocolsparticular wire protocols It defines where the service is locatedIt defines where the service is located

Page 11: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

WSDL - OverviewWSDL - Overview<definitions>

<types> <!-- XML Schema --> </types>

<message name=“getQuote_In” />

<message name=“getQuote_Out” />

<portType name=“StockQuoteServiceInterface”>

<operation name=“getQuote”>

<input message=“getQuote_In” />

<output message=“getQuote_Out” />

</operation>

</portType>

<binding name=“StockQuoteServiceBinding” type=“StockQuoteServiceInterface”>

<soap:binding transport=“http://schemas.xmlsoap.org/soap/http” />

</binding>

<service name=“StockQuoteService”>

<port name=“StockQuoteServicePort” binding=“StockQuoteServiceBinding”>

<soap:address location=“http://www.acme.com/services/stockquote” />

</port>

</service>

</definitions>

Definition of data types

Definition of messages

Definition of port type

Definition of the bindings

Definition of the service

Page 12: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

WSDL OverviewWSDL Overview

WSDL is extensible.WSDL is extensible. WSDL was created by IBM and MicrosoftWSDL was created by IBM and Microsoft

The intent was to create something that The intent was to create something that worked, not something that was completeworked, not something that was complete

Creating a formal Web Services “data Creating a formal Web Services “data model” was model” was notnot a priority a priority

WSDL is RDF-compatible (WSDL is RDF-compatible (notnot RDF- RDF-compliant)compliant)

Page 13: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

UDDI OverviewUDDI Overview

UDDI is:UDDI is: A Web Services API for publishing and A Web Services API for publishing and

discovering the existence of Web discovering the existence of Web servicesservices

A registry for managing information A registry for managing information about Web servicesabout Web services

A coalition of organizations working A coalition of organizations working together to manage UDDI registries and together to manage UDDI registries and to further develop the Web Services API to further develop the Web Services API for accessing those registries.for accessing those registries.

Page 14: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

UDDI OverviewUDDI Overview

UDDI is built around a “Yellow-pages” UDDI is built around a “Yellow-pages” like data model:like data model:

Business Entity

Business Services

Service Bindings

Categories

Identities

TModels

Page 15: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

UDDI OverviewUDDI Overview

TModel = “Technology Model”TModel = “Technology Model”

TModel TModel Instance

Abstract metadata definition relating to some aspect of the UDDI registration

Implementation specific metadata conforming to a given TModel.

TModel = Abstract Class

Page 16: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

UDDI OverviewUDDI Overview

TModelsTModels Categories & IdentifiersCategories & Identifiers

Categorization and Identification taxonomies are TModelsCategorization and Identification taxonomies are TModels Categories and Identifiers are TModel InstancesCategories and Identifiers are TModel Instances Keyed ReferencedKeyed Referenced

Name + Value + TModelName + Value + TModel Examples: NAICS, UNSPSC, D&B #Examples: NAICS, UNSPSC, D&B #

WSDL Port TypesWSDL Port Types WSDL Port Types are TModelsWSDL Port Types are TModels WSDL Services that are bound to a Port Type are TModel WSDL Services that are bound to a Port Type are TModel

InstancesInstances WSFL Business ProcessesWSFL Business Processes

WSFL Flow Models are TModelsWSFL Flow Models are TModels WSFL Global Models are TModel instancesWSFL Global Models are TModel instances

TModels represent the extent of UDDI’s semantic description capabilities.

Page 17: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

UDDI OverviewUDDI Overview

UDDI has only limited extensibility UDDI has only limited extensibility through TModelsthrough TModels

UDDI was created by IBM, Microsoft UDDI was created by IBM, Microsoft and Ariba (many companies have and Ariba (many companies have joined the effort)joined the effort)

The intent was to put something The intent was to put something together that worked.together that worked.

Page 18: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

UDDI OverviewUDDI Overview

UDDI Version 1.0 – September 2000 UDDI Version 1.0 – September 2000 (in production)(in production)

UDDI Version 2.0 – June 2001UDDI Version 2.0 – June 2001 UDDI Version 3.0 - In developmentUDDI Version 3.0 - In development

UDDI will be presented to a UDDI will be presented to a standards body after Version 3.0standards body after Version 3.0

Page 19: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

Web Services and the Web Services and the Semantic WebSemantic Web

Complimentary GoalsComplimentary Goals Semantic WebSemantic Web

It’s about making links between information It’s about making links between information more intelligent.more intelligent.

Transactional Web (Web Services)Transactional Web (Web Services) It’s about improving the way information is It’s about improving the way information is

exchangedexchanged

Page 20: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

Web Services and the Web Services and the Semantic WebSemantic Web

Different Points of ViewDifferent Points of View Semantic WebSemantic Web

Derives the puzzle-pieces from the big Derives the puzzle-pieces from the big picturepicture

Transactional WebTransactional Web Derives the big picture from the puzzle-Derives the big picture from the puzzle-

piecespieces

Page 21: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

Web Services and the Web Services and the Semantic WebSemantic Web

Meeting in the middleMeeting in the middle Semantic WebSemantic Web

Provides a formal data-model for Web Provides a formal data-model for Web ServicesServices

Transactional WebTransactional Web Provides a technology foundation for the Provides a technology foundation for the

Semantic WebSemantic Web

Page 22: Web Services Components of the Transactional Web James Snell jasnell@us.ibm.com

Discussion / Q&ADiscussion / Q&A

??