web services


G

gk

Could you please take a look at this..

Unlike SOAP-based web services, which have a standard vocabulary to
describe the web service interface through WSDL, RESTful web services
currently have no such grammar. For a service consumer to understand
the context and content of the data that must be sent to and received
from the service, both the service consumer and service producer must
have an out-of-band agreement. RESTful web services can be built by
JAX-WS standards as any other web service. These web services can be
consumed by Browser or any A J AX code.

I don't understand this part...
what is out-of-band agreement ? I'm not clear here. If anybody could
shed some light or any example at this part , will be just
wonderful.

Thanks
 
Ad

Advertisements

R

RedGrittyBrick

Could you please take a look at this..

Unlike SOAP-based web services, which have a standard vocabulary to
describe the web service interface through WSDL, RESTful web services
currently have no such grammar. For a service consumer to understand
the context and content of the data that must be sent to and received
from the service, both the service consumer and service producer must
have an out-of-band agreement. RESTful web services can be built by
JAX-WS standards as any other web service. These web services can be
consumed by Browser or any A J AX code.

I don't understand this part...

what is out-of-band agreement ? I'm not clear here. If anybody could
shed some light or any example at this part , will be just
wonderful.

I'm not aware of "in-band" being formally defined for WSDL but what they
mean by "out-of-band" is that the web-service deinition is not available
via the same data transport layer as the service itself.

If a web services endpoint is http://example.com/service then you may
often obtain the web-service definition at a related URL such as
http://example.com/service/wsdl - I don't think there is a formal
standard, but there is a convention that this should be the case. This
convention being reinforced by popular web-service tool-kits which
automatically publish WSDL at that URL when you develop or deploy a
web-service.

Some web-service client toolkits can dynamically construct a web-service
request on-the fly from an "in-band" definition with minimal
programming. The only example I know is Perl not Java.

#!perl -w
use SOAP::Lite;
print SOAP::Lite
-> service('http://www.xmethods.net/sd/StockQuoteService.wsdl')
-> getQuote('MSFT');

There are web pages where you can enter the URL of a WSDL and the server
will construct a form for entering the input parameters then construct
and transmit a request and finally display the results.

An "out-of-band" agreement would be where the definition is shared on
paper, by e-mail, by downloading from an ftp server or by some means
that is not using the same transport mechanism or is not at a "location"
prescribed by convention.

For almost all cases, "in-band" definitions are not really much more
than a slight convenience.
 
M

Mike Schilling

RedGrittyBrick said:
I'm not aware of "in-band" being formally defined for WSDL but what they
mean by "out-of-band" is that the web-service deinition is not available
via the same data transport layer as the service itself.

If a web services endpoint is http://example.com/service then you may
often obtain the web-service definition at a related URL such as
http://example.com/service/wsdl - I don't think there is a formal
standard, but there is a convention that this should be the case. This
convention being reinforced by popular web-service tool-kits which
automatically publish WSDL at that URL when you develop or deploy a
web-service.

Some web-service client toolkits can dynamically construct a web-service
request on-the fly from an "in-band" definition with minimal programming.
The only example I know is Perl not Java.

#!perl -w
use SOAP::Lite;
print SOAP::Lite
-> service('http://www.xmethods.net/sd/StockQuoteService.wsdl')
-> getQuote('MSFT');

There are web pages where you can enter the URL of a WSDL and the server
will construct a form for entering the input parameters then construct and
transmit a request and finally display the results.

An "out-of-band" agreement would be where the definition is shared on
paper, by e-mail, by downloading from an ftp server or by some means that
is not using the same transport mechanism or is not at a "location"
prescribed by convention.

For almost all cases, "in-band" definitions are not really much more than
a slight convenience.


It's a bit more serious than that. There are lots of tools than can consume
WSDL and thus generate clients, or at least the stubs of clients. Lacking a
machine-readable description, as most RESTful services do, clients have to
be hand-coded. That's a large difference in convenience.
 
M

Mike Schilling

gk said:
Could you please take a look at this..

Unlike SOAP-based web services, which have a standard vocabulary to
describe the web service interface through WSDL, RESTful web services
currently have no such grammar.

There's WADL, which is semi-standard. WSDL 2.0 HTTP binding is pretty
powerful too. But you're quite correct that many (most?) RESTful services
don't have any machine-consumable description.


For a service consumer to understand
the context and content of the data that must be sent to and received
from the service, both the service consumer and service producer must
have an out-of-band agreement. RESTful web services can be built by
JAX-WS standards as any other web service. These web services can be
consumed by Browser or any A J AX code.

I don't understand this part...

what is out-of-band agreement ?

They write something down on a piece of paper and share it. Seriously.
 
G

gk

There's WADL, which is semi-standard.   WSDL 2.0 HTTP binding is pretty
powerful too.  But you're quite correct that many (most?) RESTful services
don't have any machine-consumable description.

 For a service consumer to understand




They write something down on a piece of paper and share it.  Seriously.

This looks like an AJAX call to me ...nothing more . you submit a
form and it returns a XML response. Then you open you so called
"piece of paper" and try to understand what that XML means .....is
not it ?

how does it differ from AJAX then ?
 
R

RedGrittyBrick

It's a bit more serious than that. There are lots of tools than can
consume WSDL and thus generate clients, or at least the stubs of
clients. Lacking a machine-readable description, as most RESTful
services do, clients have to be hand-coded. That's a large difference in
convenience.

Well no it isn't, my term "slight convenience" applied to "in-band" not
to "WSDL".

I have often downloaded an "out-of-band" zip-file containing WSDL and
used it exactly as you said. Having it available "in-band" at
http://{endpoint}/wsdl *is* no more than a slight convenience to me.

Just my ¤0.02 worth - it's possible the author of the quoted paragraph
meant something else.
 
Ad

Advertisements

J

jaap

Op 30-09-10 17:59, schreef Mike Schilling:
There's WADL, which is semi-standard. WSDL 2.0 HTTP binding is pretty
powerful too. But you're quite correct that many (most?) RESTful
services don't have any machine-consumable description.


For a service consumer to understand

They write something down on a piece of paper and share it. Seriously.
Another solution is to do a GET, POST or anything else to the service
endpoint. If the RESTful service doesn't like it, is should come with a
descriptive errormessage. If the service is well build, you get also the
namespaces for the requests that the service can consume.

Jaap
 
L

Lew

Could you please take a look at this..

Unlike SOAP-based web services, which have a standard vocabulary to
describe the web service interface through WSDL, RESTful web services
currently have no such grammar. For a service consumer to understand
the context and content of the data that must be sent to and received
from the service, both the service consumer and service producer must
have an out-of-band agreement. RESTful web services can be built by
JAX-WS standards as any other web service. These web services can be
consumed by Browser or any A J AX code.

I don't understand this part...

what is out-of-band agreement ? I'm not clear here. If anybody could
shed some light or any example at this part , will be just
wonderful.

"Out-of-band" simply means via a different communication channel.

It's in the dictionary, e.g.,
<http://idle.slashdot.org/story/10/09/29/1622250>

As I've mentioned before, it's a good idea to google, wikipedia or search in
the dictionary for terms to understand. It's faster and more definitive than
Usenet.

For example,
<http://lmgtfy.com/?q=out-of-band>

This technique will empower you.
 
Ad

Advertisements


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top