Re: [thredds] CDMRemote and OPeNDAP

On Jul 2, 2012, at 12:26 PM, Doug Lindholm wrote:

> Hi Dennis,
> 
> I am going to spin off a new thread for this one.
> 
> I'm inclined to agree that DAP2 doesn't currently provide the best 
> abstraction for data access. What concerns do you have about it and how do 
> you think CDMRemote addresses them? Others out there, do you have cases of 
> OPeNDAP request syntax short-comings?
> 
> I'll point out that I am a big fan of REST and GET. I'd be curious to hear 
> more about the GET vs POST issues (maybe in another thread?), but I'm only 
> concerned about GET, for now. I note an affinity for "name=value" parameters 
> in REST APIs. Is there anything in REST practices that require this? Do 
> others consider OPeNDAP (which does not adhere to this convention) to be 
> RESTful?

Well, I consider DAP2 to be a REST API ;-)

James
> 
> For example, instead of "data.nc?req=CDL" in the CDMRemote examples, I would 
> simply say "data.cdl". Although I've seen many OPeNDAP servers point to 
> actual NetCDF files, I consider "data" in this case simply as a resource - a 
> virtual dataset. "data.nc" tells me that I should expect a NetCDF file as a 
> response.  Saying that "data.nc" is the "endpoint" seems to expose an 
> implementation detail - that the data come from a specific NetCDF file.  It's 
> the suffix "cdl" (or "das" or "dods"...) that specifies the output format.  
> Maybe a little unconventional compared to most REST interfaces, but it's 
> consistent with OPeNDAP.
> 
> After a quick glance, I also don't see how the CDMRemote request syntax is 
> significantly different from OPeNDAP. OPeNDAP's hyperslab notation seems to 
> support the index subsetting, and selection constraints like "longitude>22.8" 
> could be used in place of "south=22.8". Is there something I'm missing in 
> those examples? (I'll save the ncstream vs dods protocol discussion for 
> another time.)
> 
> I've been working on a new data model for our OPeNDAP server (LaTiS). It is 
> largely inspired by Unidata's CDM, DAP2, and VisAD. One thing that strikes me 
> is that CDM (and many other data models) seem to leap to a domain specific 
> "feature type" definition prematurely. At some level, I can say that my 
> variable is a function of two variables (think two dimensional):
> 
>  (X,Y) -> MyVariable
> 
> At a higher level, I can say that X is longitude and Y is latitude so I now 
> have a GeoGrid. However, there are lots of things you can do with a more 
> generic view of a 2D variable (think polymorphism). No need to exclude 
> astronomers or anyone else that has a 2D problem domain. And it gets more 
> interesting when you start thinking about a 2D variable being a function of 
> arity 2 from a Functional Programming perspective. If anyone knows anything 
> about category theory, type classes, contravarience, partial functions, 
> currying,... in Scala, I'd love to talk with you.
> 
> Doug
> 
>> IMO DAP2 queries are not usable for specifying server-side operations.
>> There is too much missing.
>> DAP4 is a possibility although I am not sanguine on the prospects
>> given the way it is evolving.
>> John Caron's CDMremote seems like a better candidate.
>> Visad also would be promising for its data model, but
>> as far as I know, there is no remote access protocol
>> using visad.
>> 
>> =Dennis Heimbigner
>>  Unidata
> 
> _______________________________________________
> thredds mailing list
> thredds@xxxxxxxxxxxxxxxx
> For list information or to unsubscribe,  visit: 
> http://www.unidata.ucar.edu/mailing_lists/ 

--
James Gallagher
jgallagher at opendap.org
406.723.8663

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

  • 2012 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the thredds archives: