Title: Web Services
1 Web Services
- Index
- Overview
- SOAP
- WSDL
- UDDI
- Performance
basado en UPC-DAC/FIB-AAD Jordi Torres v2.0-05/04
2Web Services
- What are web services?
- Web services are modular web applications that
provide data and services to other applications
over the web - Web services apply web technologies such as HTTP
and XML to the concepts of distributed computing
technologies such as CORBA and DCOM - Aplicaciones auto-contenidas, auto-escritas que
pueden ser publicadas, localizadas e invocadas a
través de la Web
3Web Service Examples
- A stock quote service.
- A weather service, a map service, a web search
service - any composition of Web services.
- e.g. Dollar Rent-A-Car
- Create standard interfaces so business partners
could tap into the company's car reservation
system. - Google, Amazon,
- ?http//www.google.com/apis/
4What are Web Services?
- Todays web
- Web designed for application to human
interactions - Information sharing a distributed content
library. - Built on very few standards http html
- Shallow interaction model very few assumptions
made about computing platforms. - Enabled B2C e-commerce.
- Non-automated B2B interactions.
- Web services is an effort to build a
distributed computing platform for the Web. - Services available via the Web.
- Meant mainly for application to application
communication (as opposed to users directly) - Enables Business-to-Business transactions.
- E.g., a web service is contacted on a URL using
the SOAP protocol over HTTP.
5Complete picture of distributed applications
(using WS)
6Core technologies used for WS
- XML
- SOAP
- Simple Object Access Protocol
- a framework for exchanging XML-based information
in a network - the currently most hyped XML/Web service
technology - WSDL
- Web Service Description Language
- an XML-based language for describing network
services - WSDL descriptions of capabilities and locations
of services - like an interface description language for Web
services - communication using SOAP or direct HTTP
- UDDI
- Universal Description, Discovery, and Integration
- provides a registry mechanism for clients and
servers to find each other - uses SOAP for communication
7Otra definición
- Programas accesibles en Internet que exponen su
funcionalidad recibiendo/enviando mensajes SOAP a
través de HTTP(s) y describen su interfaz en WSDL
8The Web Services Stack
ServicePublication/Discovery
UDDI
ServiceDescription
WSDL
XML Messaging
SOAP
Transport Network
HTTP, SMTP, MQSeries, etc.
9(No Transcript)
10What is SOAP?
- SOAP is a lightweight protocol for exchange of
information in a decentralized, distributed
environment using XML.
11The Simple Object Access Protocol (SOAP)
- XML-based protocol for messaging and RPC
- Can works on top of existing transports
- HTTP, SMTP, FTP, MQSeries
- Use of XML schema for encoding typed values
- Language independent
- Generation of SOAP messages available in popular
programming language - C, Java, Perl
12SOAP FORMATO GENERAL
Envelope
Header
Header Key
Header Key
Body
13SOAP Formato general
- SOAP especifica el formato de mensajes
- Envelope datos globales (codificación, espacio
de nombres, ...) - contiene header (opcional) body (obligatorio)
- Bodycontiene datos en formato XML
- Header contiene meta-informaticón
14Sample HTTP Interaction
(C) Prof. Dr. Frank Leymann, IBM
15HTTP POST Invoking Code
(C) Prof. Dr. Frank Leymann, IBM
16A Simple SOAP RPC
- ( SOAP Message Embedded in HTTP Request)
- POST /StockQuote HTTP/1.1Host
www.stockquoteserver.comContent-Type text/xml
charset"utf-8"Content-Length nnnnSOAPAction
"Some-URI"ltSOAP-ENVEnvelope xmlnsSOAP-ENV"h
ttp//schemas.xmlsoap.org/soap/envelope/" SOAP-E
NVencodingStyle"http//schemas.xmlsoap.org/soap/
encoding/"gt ltSOAP-ENVBodygt ltmGetLastTr
adePrice xmlnsm"Some-URI"gt ltsymbolgtDI
Slt/symbolgt lt/mGetLastTradePricegt lt/SOAP
-ENVBodygtlt/SOAP-ENVEnvelopegt
Object Endpoint
Method name
Input parameter
17A simple soap response
- ( SOAP Message Embedded in HTTP Response)
- HTTP/1.1 200 OKContent-Type text/xml
charset"utf-8"Content-Length
nnnnltSOAP-ENVEnvelope xmlnsSOAP-ENV"http//
schemas.xmlsoap.org/soap/envelope/" SOAP-ENVenc
odingStyle"http//schemas.xmlsoap.org/soap/encodi
ng/"/gt ltSOAP-ENVBodygt ltmGetLastTradePr
iceResponse xmlnsm"Some-URI"gt ltPricegt
34.5lt/Pricegt lt/mGetLastTradePriceResponsegt
lt/SOAP-ENVBodygtlt/SOAP-ENVEnvelopegt
18(three) standard aspects of SOAP
- Overall message format
- A SOAP message is an envelope containing zero
or more headers and exactly one body. - The SOAP encoding rules
- defines a serialization mechanism that can be
used to exchange instances of application-defined
datatypes. ( based on XSD) - The SOAP RPC representation
- defines a convention that can be used (optional)
to represent remote procedure calls and responses
(if not, message-oriented style)
19Working example A soap request
- POST /servlet/rpcrouter HTTP/1.1
- Host www.messages.com
- Content-Type text/xml charset"utf-8"
- Content-Length nnnn
- SOAPAction ""
- ltSOAP-ENVEnvelope
- xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soap/e
nvelope/" - ltSOAP-ENVBodygt
- ltns1getMessage xmlnsns1"urnNextMessage"
- SOAP-ENVencodingStyle"http//schemas.xmlsoap.o
rg/soap/encoding/"gt - ltUserID xsitype"xsdstring"gtJDoelt/UserIDgt
- ltPassword xsitype"xsdstring"gt0JDOE0lt/Password
gt - lt/ns1getMessagegt
- lt/SOAP-ENVBodygt
- lt/SOAP-ENVEnvelopegt
20Working example soap response
- HTTP/1.1 200 OK
- Content-Type text/xml charset"utf-8"
- Content-Length nnnn
- ltSOAP-ENVEnvelopegt
- xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soap/e
nvelope/" - ltSOAP-ENVBodygt
- ltns1getMessage xmlnsns1"urnNextMessage"
- SOAP-ENVencodingStyle"http//schemas.xmlsoap.or
g/soap/encoding/"gt - ltreturn xsitype"xsdstring"gtCall mom!lt/returngt
- lt/ns1getMessagegt
- lt/SOAP-ENVBodygt
- lt/SOAP-ENVEnvelopegt
21SOAP Endpoint Reference
- POST /servlet/rpcrouter HTTP/1.1
- Host www.messages.com
- Content-Type text/xml charset"utf-8"
- Content-Length nnnn
- SOAPAction ""
- ltSOAP-ENVEnvelope
- xmlnsSOAP-ENV"http//schemas.xmlsoap.org/soap/e
nvelope/" - ltSOAP-ENVBodygt
- ltns1getMessage xmlnsns1"urnNextMessage"
- SOAP-ENVencodingStyle"http//schemas.xmlsoap.o
rg/soap/encoding/"gt - ltUserID xsitype"xsdstring"gtJDoelt/UserIDgt
- ltPassword xsitype"xsdstring"gt0JDOE0lt/Password
gt - lt/ns1getMessagegt
- lt/SOAP-ENVBodygt
- lt/SOAP-ENVEnvelopegt
85.34.235.95
80
/servlet/rpcrouter/getMessage
22SOAP client-server interaction
23The Apache eXtensible Interaction System (AXIS)
- A very flexible SOAP engine from Apache
- Open and pluggable architecture
- Design to cope with various deployment
configuration - From very simplistic to highly sophisticated
configurations - The Java Web Services facility (JWS)
- Drop-in development
- Simplest and quickest way to deploy a Java-base
Web Service - Rename source file from xxx.java to xxx.jws
- Drop xxx.jws into JWS directory
24APIs de Java
- SAAJ (SOAP with Attachment API for Java)
- tratar mensajes SOAP como objetos Java
- JAX-RPC (Java API for XML based RPC)
- WSDL/XML lt-gt Java
- API para cliente WSDL, Invocación, proxy
dinámico - JWSDL
- acceso a descripciones WSDL
- JAXR (Java API for XML registries)
- acceso a registros de servicios Web
- ...
25Creación de un Servicio Web
- Utilizar JWS
- Con limitaciones (no package, ...)
- WSDD (Web Service Deployment Descriptor)
26Creación de un cliente
- Acceder a WSDL
- http ....Calculator.jws?wsdl
- -gt almacenar Calculator.wsdl
- Generar stubs
- java org.apache.axis.wsdl.WSDL2Java p
Calculator Calculator.wsdl - Clases generadas ls Calculator/ .java
- Compilar javac Calculator/ .java
- Compilar cliente javac ClienteCalculator.java
- Ejecutar cliente java ClienteCalculator
27What is WSDL?
- SOAP
- specifies the communication between a requester
and a provider - WSDL
- describes the services offered by the provider
(an endpoint) - and might be used as a recipe to generate the
proper SOAP messages to access the services.
- WSDL describes network services by using an XML
grammar. - A WSDL document has a role similar to an IDL file
in CORBA or the Remote Interface in a Java RMI
implementation.
28Complete picture of distributed applications
(using WS)
29WSDL
service
port
1-M
binding
1-1
1-M
port types
operation
1-1
message
1-M
types
1-M
30Types xSchema definition of data
Service
Port
Binding
lttypesgt ltschema targetNamespace"http//example.c
om/stockquote.xsd" xmlns"http//www.w3.org/2000
/10/XMLSchema"gt ltelement name"TradePriceRequest
"gt ltcomplexTypegt ltelement
name"tickerSymbol" type"string"/gt lt/complexTy
pegt lt/elementgt ltelement name"TradePrice"gt
ltcomplexTypegt ltelement name"price"
type"float"/gt lt/complexTypegt lt/elementgt lt/s
chemagt lt/typesgt
Port Types
Operations
Messages
Types
31Messages meaningful collections of Types
Service
Port
Binding
Port Types
Operations
ltmessage name"GetLastTradePriceInput"gt ltpart
name"body" element"xsd1TradePriceRequest"/gt lt/m
essagegt ltmessage name"GetLastTradePriceOutput"gt
ltpart name"body" element"xsd1TradePrice"/gt lt/m
essagegt
Messages
Types
32Operations available Methods
Service
Port
Binding
Port Types
Operations
ltoperation name"GetLastTradePrice"gt ltsoapoperat
ion soapAction"http//example.com/GetLastTrade
Price"/gt ltinputgt ltsoapbody use"literal"/gt lt/
inputgt ltoutputgt ltsoapbody use"literal"/gt lt/o
utputgt lt/operationgt
Messages
Types
33Port Types XML in/out for specific methods
Maps Operations to Messages
Service
Port
Binding
ltportType name"StockQuotePortType"gt ltoperation
name"GetLastTradePrice"gt ltinput
message"tnsGetLastTradePriceInput"/gt ltoutput
message"tnsGetLastTradePriceOutput"/gt lt/operati
ongt lt/portTypegt
Port Types
Operations
Messages
Types
34Binding Maps Protocols to Methods (Http, etc.)
Service
Port
ltbinding name"StockQuoteSoapBinding type"tnsS
tockQuotePortType"gt ltsoapbinding
style"document transport"http//schem
as.xmlsoap.org/soap/http"/gt ltoperation
name"GetLastTradePrice"gt ltsoapoperation
soapAction"http//example.com/GetLastTradePric
e"/gt ltinputgt ltsoapbody use"literal"/gt lt/i
nputgt ltoutputgt ltsoapbody use"literal"/gt lt
/outputgt lt/operationgt lt/bindinggt
Binding
Port Types
Operations
Messages
Types
35Port Maps URLs to Methods
Service
ltport name"StockQuotePort" binding"tnsStockQuot
eBinding"gt ltsoapaddress location"http//example
.com/stockquote"/gt lt/portgt
Port
Binding
Port Types
Operations
Messages
Types
36Service Packages ports bindings
Service
ltservice name"StockQuoteService"gt ltdocumentation
gtMy first servicelt/documentationgt ltport
name"StockQuotePort" binding"tnsStockQuoteB
inding"gt ltsoapaddress location"http
//example.com/stockquote"/gt lt/portgt lt/servicegt
Port
Binding
Port Types
Operations
Messages
Types
37Document structure of WSDL
- ltdefinitionsgt element the root of any WSDL
- The name attribute specifies the name of the Web
Service (usually it corresponds to the file
name). - it contains a set of namespace definitions that
are used throughout the document. - ...
- ltdefinitions name 'weatherservice
xmlns'http//schemas.xmlsoap.org/wsdl/'gt -
- lt/definitionsgt
38Document structure of WSDL
- ltdefinitionsgt contains other elements
- elements
- types
- messages
- portType
- bindings
- services
- ...
- Each element within the document may contain a
ltdocumentationgt element to provide some human
readable explanation of the element that is
specified. - In addition, all the elements contain an
attribute name serving as an identifier.
39Document structure of WSDL
- lttypesgt element
- Provide data types definitions
- All data type definitions relevant for sending
and receiving the messages described - The specification suggests using XML schema
definitions.
lttypesgt ltschema targetNamespace"http//add
.fib.upc.es/symbol.xsd" xmlns"http//www.w3.org/
2000/10/XMLSchema"gt ltelement name"exampleType"gt
... lt/elementgt ... lt/schemagt lt/typesgt
40Document structure of WSDL
- ltmessagegt element
- specifiy the data that will be communicated
between a requester and a service - may appear multiple times and consists of a name
and one or more ltpartgt elements. - The parts specify the contents of the message.
ltmessage name'Weather.GetTemperature'gt ltpart
name'zipcode' type'xsdstring'/gt ltpart
name'celsius' type'xsdboolean'/gt lt/messagegt
ltmessage name'Weather.GetTemperatureResponse'gt
ltpart name'Result' type'xsdfloat'/gt
lt/messagegt
41Document structure of WSDL
- ltoperationgt element
- In order to tie the defined messages together as
a request-response pair corresponding to a method
call. - An operation specifies which message is the input
and which message is the output.
ltoperation name'GetTemperature'gt ltinput
message'wsdlnsWeather.GetTemperature' /gt
ltoutput message'wsdlnsWeather.GetTemperatureRes
ponse' /gt lt/operationgt
42Document structure of WSDL
- ltportTypegt element
- The collection of all operations (i.e. methods)
exposed by your service
ltportType name'WeatherSoapPort'gt
ltoperation name'GetTemperature'gt
ltinput message'wsdlnsWeather.GetTemperature'
/gt ltoutput message'wsdlnsWeather.GetTemp
eratureResponse' /gt lt/operationgt lt!--
other operations would go here --gt lt/portTypegt
43Document structure of WSDL
- ltbindinggt element
- to bind the operation to the SOAP protocol.
- The elements presented so far described our
operation in a generic way (Nothing has been said
about a concrete implementation). - Next to a name attribute it contains a type
attribute that references a portType and provides
predefined binding for protocols such as SOAP,
HTTP, and MIME.
ltbinding name'WeatherSoapBinding'
type'wsdlnsWeatherSoapPort' gt . lt/bindinggt
44Document structure of WSDL
- ltbindinggt element (cont)
- Binding to SOAP
- Inside the ltbindinggt element you have a WSDL
SOAP extension element called ltsoapbindinggt
which is used to specify the transport protocol
youre using (SOAP can be used over HTTP, SMTP,
or possibly any other transport) and the style of
request (rpc and document are the two styles).
ltsoapbinding style'rpc' transport'http//sc
hemas.xmlsoap.org/soap/http' /gt
45Document structure of WSDL
- ltbindinggt element (cont)
- Then for each operation that this service
exposes, you specify the value of the SOAPAction
that is used for the HTTP header of SOAP message
ltbinding name'WeatherSoapBinding'
type'wsdlnsWeatherSoapPort' gt
ltsoapbinding style'rpc' transport'http//sch
emas.xmlsoap.org/soap/http' /gt ltoperation
name'GetTemperature' gt ltsoapoperation
soapAction'http//tempuri.org/action/Weather.GetT
emperature' /gt .... lt/operationgt
lt/bindinggt
46Document structure of WSDL
- ltbindinggt element (cont)
- There has to be at least one binding for every
portType. - In order to specify how the input and output
messages of this operation are encoded, there is
an operation element having three subelements
input, output, and fault. Each operation
corresponds to an operation in the portType
element.
ltbinding name'WeatherSoapBinding'
type'wsdlnsWeatherSoapPort' gt
ltsoapbinding style'rpc' transport'http//sche
mas.xmlsoap.org/soap/http' /gt ltoperation
name'GetTemperature' gt ltsoapoperation
soapAction'http//tempuri.org/action/Weather.GetT
emperature' /gt ltinputgt
ltsoapbody use'encoded' namespace'http//tem
puri.org/message/' encodingStyle'http//sch
emas.xmlsoap.org/soap/encoding/'/gt
lt/inputgt ltoutputgt
ltsoapbody use'encoded' namespace'http//tem
puri.org/message/' encodingStyle'http//sch
emas.xmlsoap.org/soap/encoding/'/gt
lt/outputgt lt/operationgt lt/bindinggt
47Document structure of WSDL
- ltservicegt and ltportgt element
- A service is a set of related ports.
- The binding is specified within the port element.
- In order to bind to the SOAP protocol a
ltsoapaddressgt is defined. - It contains a name and a location that defines an
address of the same type as the transport
specified in the soapbinding element. That means
that we have to define a HTTP address. - ? See the Web Service Example
48WSDL Structure Overview
- portType
- Abstract definition of a service (set of
operations) - Multiple bindings per portType
- How to access it
- Ports
- Where to access it
Service
Port (e.g. http//host/svc)
Port
Binding (e.g. SOAP)
Binding
Abstract interface
portType
operation(s)
inMesage
outMessage
49WSDL Example
- float WeatherGetTemperature(String zipCode,
bool celsius) -
- if (celsius)
- return 21.7
- else
- return 71.06
-
50WSDL Example Defining Services
- You can think of the class as the Web service and
the GetTemperature method as an operation on that
service. To describe this service, you use the
WSDL ltservicegt element. - ltdefinitions name 'weatherservice
xmlns'http//schemas.xmlsoap.org/wsdl/'gt - ltservice name'WeatherService' gt
-
- lt/servicegt
- lt/definitionsgt
51WSDL Example Defining Services (cont.)
- Each service is defined using a service element.
Inside the service element, you specify the
different ports on which this service is
accessible. - The port definition would be like this
- ltport name'WeatherSoapPort' binding'wsdlnsWeat
herSoapBinding' gt - ltsoapaddress
- location'http//localhost/demos/wsdl/devxpert/w
eatherservice.asp' /gt - lt/portgt
52WSDL Example Defining Services (cont.)
- A Web service does not have to be exposed using
SOAP. For example, if your Web service is exposed
via HTTP GET, the port element would contain an
lthttpaddress/gt element similar to this -
- lthttpaddress location"http//localhost/demos/w
sdl/devxpert/weatherGET.asp"/gt - A Web service may be accessible on many ports.
For example, you might make your service
available via SOAP and HTTP GET and possibly even
via SMTP. For this Web service, you would have
three ports each one with a different name.
53WSDL Example Whats Your Message? (cont.)
- To use Web services in a remote procedure call
(RPC) model, there are two messages you must
describe. - To describe the message structures, you use the
WSDL ltmessagegt element. Each ltmessagegt contains
zero or more ltpartgt elements. A ltpartgt
corresponds to a parameter or a return value in
the RPC call. - ltmessage name'Weather.GetTemperature'gt
- ltpart name'zipcode' type'xsdstring'/gt
- ltpart name'celsius' type'xsdboolean'/gt
- lt/messagegt
- ltmessage name'Weather.GetTemperatureResponse'gt
- ltpart name'Result' type'xsdfloat'/gt
- lt/messagegt
54WSDL Example Port Types and Operations
- An operation specifies which message is the input
and which message is the output like this - ltoperation name'GetTemperature'gt
- ltinput message'wsdlnsWeather.GetTemperatu
re' /gt - ltoutput message'wsdlnsWeather.GetTemperat
ureResponse' /gt - lt/operationgt
55WSDL Example Port Types and Operations (cont.)
- The collection of all operations (i.e. methods)
exposed by your service is called a portType and
is defined using the WSDL ltportTypegt element like
this - ltportType name'WeatherSoapPort'gt
- ltoperation name'GetTemperature'gt
- ltinput message'wsdlnsWeather.GetTemperat
ure' /gt - ltoutput message'wsdlnsWeather.GetTempera
tureResponse' /gt - lt/operationgt
- lt!-- other operations would go here --gt
- lt/portTypegt
56WSDL Example Binding It All Together
- We are now making a transition from abstract data
types, messages, and operations to concrete
physical representation of messages on the wire.
To define the concrete aspects of operations, you
use the WSDL ltbindinggt element - ltbinding name'WeatherSoapBinding'
type'wsdlnsWeatherSoapPort' gt - .
- lt/bindinggt
57WSDL Example Binding It All Together (cont.)
- Inside the ltbindinggt element you have a WSDL SOAP
extension element called ltsoapbindinggt which is
used to specify the transport protocol youre
using (SOAP can be used over HTTP, SMTP, or
possibly any other transport) and the style of
request (rpc and document are the two styles).
For example - ltsoapbinding style'rpc'
- transport'http//schemas.xmlsoap.org/soap/http'
/gt
58WSDL Example Binding It All Together (cont.)
- Then for each operation that this service
exposes, we specify the value of the SOAPAction
HTTP header - ltbinding name'WeatherSoapBinding'
type'wsdlnsWeatherSoapPort' gt - ltsoapbinding style'rpc'
transport'http//schemas.xmlsoap.org/soap/http'
/gt - ltoperation name'GetTemperature' gt
- ltsoapoperation soapAction'http//tempuri
.org/action/Weather.GetTemperature' /gt - ....
- lt/operationgt
- lt/bindinggt
59SOAP client-server interaction(rep)
60WSDL Example Binding It All Together (cont.)
- Finally, we must specify how the input and output
messages of this operation are encoded, the
complete binding looks like this - ltbinding name'WeatherSoapBinding'
type'wsdlnsWeatherSoapPort' gt - ltsoapbinding style'rpc'
transport'http//schemas.xmlsoap.org/soap/http'
/gt - ltoperation name'GetTemperature' gt
- ltsoapoperation soapAction'http//tempur
i.org/action/Weather.GetTemperature' /gt - ltinputgt
- ltsoapbody use'encoded'
namespace'http//tempuri.org/message/' - encodingStyle'http//schemas.xmlsoap.org/so
ap/encoding/'/gt - lt/inputgt
- ltoutputgt
- ltsoapbody use'encoded'
namespace'http//tempuri.org/message/' - encodingStyle'http//schemas.xmlsoap.org/so
ap/encoding/'/gt - lt/outputgt
- lt/operationgt
- lt/bindinggt
61What is UDDI?
- Universal Description, Discovery, and Integration
(UDDI) is a standard designed to provide a
searchable directory of businesses and their Web
Services. - Thus, it represents the service broker that
enables service requesters to find a suitable
service provider.
62Complete picture of distributed applications
(using WS)
63What is UDDI?
- To get access to the UDDI services, the UDDI
directory exposes a set of APIs in the form of a
SOAP-based Web Service. - UDDI APIs
- Publication API - Authenticated set of operations
that allow organizations to publish businesses,
services, service type specifications - Inquiry API - Non authenticated public set of
operations that allows users to extract
information out of the UDDI registry.
64What is UDDI?
- UDDI classifies businesses and services according
to standard taxonomies - Why Classification ?
- Searches based on keywords alone, could return a
large set of hits for a particular search - Classification of services and businesses allows
to perform better searches - Registry Data
- White Pages
- Yellow Pages
- Green Pages
- ServiceType Registrations
65What is UDDI?
- (In many ways UDDI is designed like a phone
book) - White Pages
- contains business name, text description, contact
info and other related info. -
- contains classification information about the
business entity and types of the services the
entity offers. - Searches can be performed to locate businesses
which service a particular industry or product
category, or that are located within a specific
geographic region. - Green Pages
- contains information about how to invoke the
offered services. - If a business entity were to offer its catalog
online, its Green - pages entry would have a reference to its
catalog URL
White Pages
Yellow Pages
Green Pages
66Web Service Deployment
ServiceProvider
Write Application
Deploy Application As Service
Remote UDDI Web Service Registry
1
WSDL File Generation and Registration
WSDL
SOAP Request
Start Listener
67Dynamic Service Invocation
Service Requestor
2
Remote UDDI Web Service (Registry)
SOAP Request
Automated Web Service Lookup
3
WSDL(s)
Automatic Service Selection
(SOAP Response)
1
Dynamic Client Code Generation
Remote Web service
4
SOAP Request
Publish Web Service
Web Service Invocation
5
SOAP Response
68- Business registry nodes
- http//uddi.microsoft.com
- http//uddi.ibm.com
- http//uddi.ltcompanynamegt.com
- ...
69Web Services Performance
- New technologies are often marketed with grand
promises to solve business problems, but ...
PERFORMANCE? - Performance criteria
- simultaneous requests,
- latency in responding to requests,
- levels of operational degradation due to
increases in transaction loads. - ...
70Web Services Performance
- Web service component stack
71Web Services Performance
- Impact of parsing and marshalling
(source http//www-106.ibm.com/developerworks/lib
rary/ws-best9)