Web Services

fizzlargeSecurity

Nov 3, 2013 (3 years and 9 months ago)

73 views

Web Services

Components of the
“Transactional Web”

James Snell

jasnell@us.ibm.com

Overview


What is the “Transactional Web”


The Web Services Stack


Web Service Description Language (WSDL)


Universal Description, Discovery and
Integration (UDDI)


Web Services and the Semantic Web


Discussion/Q&A

What is the “Transactional Web”


Today: “The eye
-
ball Web”
-

the
architecture of the Web is geared towards
delivering information visually.


Tomorrow: “The transactional Web”


the
architecture of the Web geared towards
intelligently exchanging information
between applications.

What is the “Transactional Web”


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


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

WSAH

(Web Services Acronym Hell)

XML

SOAP

WSDL

UDDI

WSFL

DISCO

PKI

XKMS

SAML

ebXML

XML
-
RPC

XMLP

XML
-
DIGSIG

XML
-
ENC

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

The Web Services Stack

Wire Protocols

Description

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”

The Web Services Stack


Wire Protocols


Primary Role: provide a standard, flexible
communications channel


Secondary Role: provide a standard, flexible
wire
-
level data representation



Advantage: interoperability at the lowest level

The Web Services Stack


Description


Primary Role: provide a standard, flexible way
to describe what and how a Web service does
what it does.



Advantage: interoperability

The Web Services Stack


Discovery


Primary Role: provide a standard, flexible way
to discover where a Web service is located
and where to find more information about
what the Web service does (the
description
)



Advantage: interoperability, dynamic
integration

WSDL
-

Overview


WSDL is a simple XML grammar for describing
how to communicate with a Web service


It defines the messages (both abstract and concrete)
that are sent to and from a service


It defines logical collections of messages (“port type”,
“interface”)


It defines how a given “port type” is bound to
particular wire protocols


It defines where the service is located

WSDL
-

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

WSDL Overview


WSDL is extensible.


WSDL was created by IBM and Microsoft


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


Creating a formal Web Services “data model”
was
not

a priority


WSDL is RDF
-
compatible (
not

RDF
-
compliant)

UDDI Overview


UDDI is:


A Web Services API for publishing and
discovering the existence of Web services


A registry for managing information about
Web services


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

UDDI Overview


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

Business Entity

Business Services

Service Bindings

Categories

Identities

TModels

UDDI Overview


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

UDDI Overview


TModels


Categories & Identifiers


Categorization and Identification taxonomies are TModels


Categories and Identifiers are TModel Instances


Keyed Referenced


Name + Value + TModel


Examples: NAICS, UNSPSC, D&B #


WSDL Port Types


WSDL Port Types are TModels


WSDL Services that are bound to a Port Type are TModel Instances


WSFL Business Processes


WSFL Flow Models are TModels


WSFL Global Models are TModel instances

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

UDDI Overview


UDDI has only limited extensibility through
TModels


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


The intent was to put something together
that worked.

UDDI Overview


UDDI Version 1.0


September 2000 (in
production)


UDDI Version 2.0


June 2001


UDDI Version 3.0
-

In development



UDDI will be presented to a standards
body after Version 3.0

Web Services and the Semantic
Web


Complimentary Goals


Semantic Web


It’s about making links between information more
intelligent.


Transactional Web (Web Services)


It’s about improving the way information is
exchanged

Web Services and the Semantic
Web


Different Points of View


Semantic Web


Derives the puzzle
-
pieces from the big picture


Transactional Web


Derives the big picture from the puzzle
-
pieces

Web Services and the Semantic
Web


Meeting in the middle


Semantic Web


Provides a formal data
-
model for Web Services


Transactional Web


Provides a technology foundation for the Semantic
Web

Discussion / Q&A