[DAS2] [DAS] [Fwd: Re: Writeback implementation]

Gregg Helt gregghelt at gmail.com
Fri Oct 31 11:45:38 UTC 2008


All this discussion is getting me excited about writeback again!


>> That's why I decided to explore others alternatives and now I started to
>> work reimplementing the server DAS writeback capabilities not in Dazzle but
>> in MyDas.
>
>
I like that you're starting out with MyDas.  When I started work on the
DAS1-->DAS2 proxy project I reviewed the various Java-based DAS1
implementations available (including my own previous DAS1 client and server
work), and also decided to start with MyDas for the DAS1 side of the proxy.
For DAS1.53 MyDas seems to hit the sweet spot in terms of completeness
combined with low complexity.

When what was initially a DAS1-->DAS2 proxy project expanded to include a
general DAS2 server framework, DAS1 client, DAS2 client, and more, I
realized that I was really making too many fundamental changes to my copy of
MyDas and ended up redoing the DAS1 side  to use a completely new DAS1 data
model.  But even though there's no MyDas code in the proxy anymore, there's
definitely ideas from MyDas in there.

But I digress.  What I really wanted to say is that you might be able to
leverage parts of Trellis (my DAS2 server framework) and Ivy (the DAS1 proxy
plugin for Trellis) for your writeback project.  As mentioned earlier in
this thread, the DAS2 writeback spec relies on the DAS2 retrieval spec for
feature, type, etc. XML.  So if you're implementing the DAS2 writeback spec
and using MyDas on the server side, you're going to need some way of
transforming DAS2 features sent to the server in the writeback request into
the MyDas DAS1 model (or else implement a DAS2 model in MyDas).  And you'll
also need to transform DAS1 features in MyDas into DAS2 features for the
writeback response, so the transformations are bidirectional.  I think code
in Trellis and Ivy could help with these transformations.

One of the perks of Trellis is that for use with any existing Java-based
DAS1 or DAS2 server, there are several potential levels of integration.  For
DAS1 servers:

1) Separate servers: Use Trellis/Ivy as a transformational proxy server,
acts as a DAS1 client to the proxied DAS1 server.
2) Integrate by writing mapping code to transform between existing DAS1
server data model and Ivy DAS1 data model, rely on Ivy to transform from Ivy
DAS1 model to Trellis DAS2 model.
3) Integrate by writing mapping code to transform between existing DAS1
server data model and Trellis DAS2 data model.
4) Reimplement existign DAS1 server to use Trellis DAS2 data model directly.

Going down this list the level of integration with Trellis increases, and
thus so does the efficiency of the resulting DAS2 server (fewer
transformations), but the implementation overhead also increases.  So groups
that are interested in using Trellis have different options to choose from
based on their preferences/needs for implementation overhead vs. server
performance.  There's a similar list of three levels of integration for
existing DAS2 servers:

A) Separate servers: Use Trellis/Vine (Vine is the DAS2 proxy plugin for
Trellis) as a transformational proxy server, acts as a DAS2 client to the
proxied DAS2 server.
B) Integrate by writing mapping code to transform between existing DAS2
server data model and Trellis DAS2 data model
C) Reimplement existing DAS2 server to use Trellis DAS2 data model directly.

My intent is to start integrating Trellis with various DAS1 servers via (2),
and DAS2 servers via (B) and/or (C).  My short list of Trellis integration
projects, listed by estimated difficulty level:

      MyDas DAS1 server
      UCSC-based DAS2 server I've been working on
      Dazzle DAS1 server
      Genometry DAS2 server

Given that the Ivy DAS1 data model borrows ideas from MyDas, integrating
Trellis and Ivy via (2) above should be pretty straightforward.  Which would
essentially yield the MyDAS-->DAS2 half of the bidirectional transform
mentioned above for writeback implementation.  I think the DAS2-->MyDAS
other half of the transform would also fit well into the Trellis framework,
though I haven't given as much thought to that yet.

Are you interested in this approach?  If so, I'm interested in working on
this MyDAS<-->Trellis integration.  What's your timeline?  That may help
determine my project priorities over the coming months.

     Gregg



More information about the DAS2 mailing list