[MOBY-dev] Re: [MOBY] join operations

Phillip Lord p.lord at russet.org.uk
Fri Jan 24 13:16:41 UTC 2003


>>>>> "Mark" == Mark Wilkinson <markw at illuminae.com> writes:

  Mark> On Thu, 2003-01-23 at 11:14, Phillip Lord wrote:

  >> There is no reason that this should not be implemented by a base
  >> class. There is no intrinsic reason, for example, why a service
  >> provider should not forward results onto another service, rather
  >> than return it directly to the client.

  Mark> Right - but that is somewhat tangential to my objection...  my
  Mark> worry is putting the onus of interpreting arbitrary complex
  Mark> queries on a service provider who simply wants to return you a
  Mark> genbank record in response to a genbank ID.  If a service
  Mark> provider *wants* to set up such a complex service, that is
  Mark> entirely different.  I just don't want it to be an
  Mark> "expectation" of a service provider to perform joins on data
  Mark> which may or may not reside on his/her machine.  As you point
  Mark> out below, this level of complexity could be handled by a base
  Mark> class.  So long as the service provider can mindlessly return
  Mark> what it was asked for without having to interpret the
  Mark> higher-level query I would feel comfortable.

  Mark> Do you see this base class being part of the service, or more
  Mark> like an 'agent'?


The latter. A service base class, would automatically support
forwarding of queries to third parties. This is similar to OGSA for
instance. Implementing the grid services spec would be a right pain,
but their base class takes care of implementing all of the life cycle
management stuff, so the service provider does not have
to. Implemented a "Hello World" service is straight forward enough. 


Of course there are other issues, which is that of resource and
security. Someone setting up a simple service, querying a small
resource, for instance, might find a large amount of traffic going
through their service, if they were used as part of a large join. Also
forwarding a request from one place to another, is a great way of
hiding the identity of the person originating the request, which is
good for all sorts of naughtiness. 


 
  >> I understand your reservations, but think that they may not be so
  >> much of a problem as you think.

  Mark> I tend to be quite reactionary :-) ...eventually I come
  Mark> around...

My own feeling that this sort of distributed querying is a nice thing,
but not an urgent thing. Getting moby working well for the simple
cases is important. Doing this sort of join on the client is, as you
point out, possible, even if its not efficient. I'd worry about
optimisation later. 

Phil



More information about the MOBY-dev mailing list