W3C home > Mailing lists > Public > www-ws-arch@w3.org > April 2002

AW: Infinite Loops and webservices

From: Meinkoehn, Jens <Jens.Meinkoehn@t-systems.com>
Date: Fri, 19 Apr 2002 13:02:59 +0200
Message-Id: <73D3E97F639DD5119642000347055F0543379E@G9JNS.mgb01.telekom.de>
To: www-ws-arch@w3.org
> At 12:56 PM 4/16/2002 -0400, Booth David wrote:
> [snip]
> In short, this kind of mistake can be made, but it is not 
> fundamentally 
> different from many other mistakes that you can make whenever 
> you automate 
> something.

...but this certainly does not mean a pragmatic approach to solving this type of problem - e.g. *hoping* that the various, independently involved developers all apply the same kind of common sense - is sufficient when looking at large-scale federated open service markets.

Surely, David's "usage scenario" is rather simplistic (for illustration purposes!) and the particular problem may in fact be easily solved by a pragmatic approach. However, what is going to happen if e.g. the loop stretches over several intermediate players? What if the semantics are more complex than just producing/ordering widgits?

Here's another one to chew around on: what happens if several (formerly unrelated) Web Services are automatically federated "on the fly" and the semantics of one service negates, contradicts or is in conflict with the semantics of another? This kind of problem is sometimes labeled as "undesireable feature interactions" and to date has not found sufficient attention as it's a rather tough problem area. I guess it's somehow related to the ontology issue. The pragmatic approach to this was always to assume you have a "closed" (static) system with a priori knowledge of all semantics so you can identify and define away such problems during system design time. Unfortunately, the more exciting issue about Web Services is the potential for "open" (dynamic) federated and heavily automated systems where no single designer/developer can safely make assumptions on third-party services' semantics. This really forces the issue of explicitly dealing with those problems.

Problems such as the infinite loops stuff described by David as well as the undesireable feature interactions are of course reminiscent of co-ordination/co-operation problems in distributed systems, a classic. I have that dreadful feeling ;-) a formal approach is required in analogy to approaches used for solving co-operation problems (complete and non-contradictory) in distributed systems. These approaches will have to be part of a management framework which - next to control and information frameworks - will form an essential foundation of a future Web Services reference architecture.

Any thoughts on this? Maybe these kinds of issues can be seen outside the scope of this working group as our results will only be a very first iteration on Web Services architecture? 


 Dipl.-Inform. Jens Meinkoehn | Tel +49(0)30/3497-2438
 T-Systems Nova GmbH, Berkom  | Fax +49(0)30/3497-3199
 Goslarer Ufer 35             | mailto:jens.meinkoehn@t-systems.com
 D-10589 Berlin               | Projektmanagement

> At 12:56 PM 4/16/2002 -0400, Fraser David wrote:
> >I have an idiot question:
> >Given how loosely coupled webservices and their clients can 
> be and the 
> >high degree of dynamicity(?) there can be in choosing 
> webservices could it 
> >be possible that infinite loops could occur between companies?
> >e.g.
> >Company X manufactures widgits
> >Company Y manufactures widgits
> >Company Z is a retailer of widgits
> >
> >Company Z runs out of widgits and through dynamically 
> searching through a 
> >UDDI registry determines that Company X has the best price 
> for widgets. 
> >Company X does not have enough widgets to immediately 
> fulfill the order 
> >but instead informing the client of this Company X's 
> webservice has been 
> >programmed to search for another widget manufacturer 
> (Company Y) in the 
> >UDDI registry and buy the widgets at
> >cost thereby keeping the business of Company Z. Company Y only has 1 
> >widget left. Unfortunately its webservice has been 
> programmed to search 
> >for the cheapest widget manufacturer in the UDDI registry if 
> it does not 
> >have enough widgets to complete a sale. As Company X has the
> >cheapest widgets it invokes it's webservice. This completes 
> the loop and 
> >Company X and Y end up ordering 6 bazillion widgets from 
> each other to 
> >fulfill Company Z's need for only a couple of widgets.
> >
> >D.
> >
> >
> >_________________________________________________________________
> >Join the world's largest e-mail service with MSN Hotmail. 
> >http://www.hotmail.com
> David Booth
> W3C Fellow / Hewlett-Packard
> Telephone: +1.617.253.1273
Received on Friday, 19 April 2002 07:28:15 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:40:55 UTC