W3C home > Mailing lists > Public > www-ws-arch@w3.org > January 2003

Re: WS-I and RPC

From: Mark Baker <distobj@acm.org>
Date: Mon, 6 Jan 2003 01:24:05 -0500
To: Assaf Arkin <arkin@intalio.com>
Cc: www-ws-arch@w3.org
Message-ID: <20030106012405.F12258@www.markbaker.ca>

On Sun, Jan 05, 2003 at 09:02:02PM -0800, Assaf Arkin wrote:
> > As Roy says;
> >
> > "In order for SOAP-ng to succeed as a Web protocol, it needs to start
> > behaving like it is part of the Web. That means, among other things,
> > that it should stop trying to encapsulate all sorts of actions under an
> > object-specific interface."
> >  -- http://lists.w3.org/Archives/Public/www-tag/2002Apr/0181
> 
> I am reading this totally wrong, so please ignore what I say.
> 
> If I have an object representing purchase order and an object-specific
> interface for that purchase order (get/set) I should not strive to
> encapsulate all sorts of actions under an object-specific interface and
> expose this object as a Web service.

Yes, that's my interpretation of Roy's statement.

> (In this particular case the service would have HTTP bindings w/o SOAP, so
> it would be doing HTTP GET/PUT)

Sounds right, given you've only got getters and setters.

> Rather I should have a resource that provides a set of operations which may
> access (read/write) one or more objects, but by itself does not map to any
> one object. I would then let the resource touch which objects it deems
> necessary based on the operation that needs to be performed, e.g.
> sendMeInvoiceDetails or cancelPreviousRequest.
>
> (And in this particular case I assume sendMeInvoiceDetails does not return
> an invoice but actually sends it asynchronously over SMTP or maybe by fax)

Now I'm confused.  Your "()" comment above is what Roy is saying you
should be doing, I believe.

sendMeInvoiceDetails is an object-specific operation.  If you want that
to happen, you need to do so within the constraints of the architecture.
In that case you might invoke GET through an intermediary which returns
the GET response over email or fax.

e.g.

connect to some-intermediary.org 80 and execute;

GET http://example.org/invoice/2384923849732 HTTP/1.1
Reply-To: mailto:foo@bar.org

where "Reply-To" would be understood and processed by the intermediary
(of course, SOAP's processing model would come in handy there, but hey,
it's a GET 8-).

MB
-- 
Mark Baker.   Ottawa, Ontario, CANADA.        http://www.markbaker.ca
Web architecture consulting, technical reports, evaluation & analysis
Received on Monday, 6 January 2003 01:23:51 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:12 GMT