Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-1694

Define interfaces for Data Access Services

    XMLWordPrintable

    Details

    • Type: Story
    • Status: Done
    • Resolution: Done
    • Fix Version/s: None
    • Component/s: Data Archive
    • Labels:
      None

      Attachments

        Issue Links

          Activity

          Hide
          tatianag Tatiana Goldina added a comment -

          Here is couple more items, after talking to Trey:

          1. How do I get metadata for columns returned by "GET /db/v0/query"? I assume that later we might want to select columns from multiple tables. It would be nice to have a way to get the metadata for all the columns retrieved by this query in one call. Something like "GET /db/v0/header" with the same query parameters?

          2. How will this API support asynchronous requests? (It's the same concern Trey and Xiuqin were talking about.) Let's say the query is too long to execute right away. Would you return HTTP status 202 and URLs to query for status or to cancel? Are there alternatives to polling model?

          It might be handy to determine the timing before the subsequent checks for status. How would I estimate the time a query would take? Also how can one obtain partial results, if available?

          Show
          tatianag Tatiana Goldina added a comment - Here is couple more items, after talking to Trey: 1. How do I get metadata for columns returned by "GET /db/v0/query"? I assume that later we might want to select columns from multiple tables. It would be nice to have a way to get the metadata for all the columns retrieved by this query in one call. Something like "GET /db/v0/header" with the same query parameters? 2. How will this API support asynchronous requests? (It's the same concern Trey and Xiuqin were talking about.) Let's say the query is too long to execute right away. Would you return HTTP status 202 and URLs to query for status or to cancel? Are there alternatives to polling model? It might be handy to determine the timing before the subsequent checks for status. How would I estimate the time a query would take? Also how can one obtain partial results, if available?
          Hide
          gpdf Gregory Dubois-Felsmann added a comment -

          After some fishing around in references for URI schemes, it seems that most existing practice uses ";"-delimited key-value parameters (sometimes called "path parameters" or "query parameters") as an optional part of a URI that follows the path and precedes the "?"-delimited query parameters. Using ";"-parameters to limit data returned has strong precedents.

          I think the style "/meta/v0/image/coadd;mask/12345" is pretty strongly at variance with that.

          Some random references:
          https://developer.yahoo.com/social/rest_api_guide/partial-resources.html
          http://www.w3.org/DesignIssues/MatrixURIs.html
          http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding#HTTPURLsyntax

          Show
          gpdf Gregory Dubois-Felsmann added a comment - After some fishing around in references for URI schemes, it seems that most existing practice uses ";"-delimited key-value parameters (sometimes called "path parameters" or "query parameters") as an optional part of a URI that follows the path and precedes the "?"-delimited query parameters. Using ";"-parameters to limit data returned has strong precedents. I think the style "/meta/v0/image/coadd;mask/12345" is pretty strongly at variance with that. Some random references: https://developer.yahoo.com/social/rest_api_guide/partial-resources.html http://www.w3.org/DesignIssues/MatrixURIs.html http://blog.lunatech.com/2009/02/03/what-every-web-developer-must-know-about-url-encoding#HTTPURLsyntax
          Hide
          gpdf Gregory Dubois-Felsmann added a comment -

          With that in mind, what I just suggested in the meeting was that we not include "full" vs. "cutout" as components of the path, but model that choice as path parameters - i.e. as ";"-delimited parameters.

          Show
          gpdf Gregory Dubois-Felsmann added a comment - With that in mind, what I just suggested in the meeting was that we not include "full" vs. "cutout" as components of the path, but model that choice as path parameters - i.e. as ";"-delimited parameters.
          Hide
          jbecla Jacek Becla added a comment -

          Per DataAccess meeting 2015-01-12 we decided to define interfaces consistently for all services, and as a result, the scope of this story changes from "interfaces for image cutout service", to interfaces for the entire Web Service. Plus, we ended up going much much deeper than originally expected. I am updating the title and SP accordingly.

          Show
          jbecla Jacek Becla added a comment - Per DataAccess meeting 2015-01-12 we decided to define interfaces consistently for all services, and as a result, the scope of this story changes from "interfaces for image cutout service", to interfaces for the entire Web Service. Plus, we ended up going much much deeper than originally expected. I am updating the title and SP accordingly.
          Hide
          jbecla Jacek Becla added a comment -

          This has been reviewed by several people, and discussed in detailed at Data Access Hangout 2015/01/26

          Show
          jbecla Jacek Becla added a comment - This has been reviewed by several people, and discussed in detailed at Data Access Hangout 2015/01/26

            People

            Assignee:
            fritzm Fritz Mueller
            Reporter:
            fritzm Fritz Mueller
            Reviewers:
            Trey Roby
            Watchers:
            Gregory Dubois-Felsmann, Jacek Becla, John Gates, Tatiana Goldina, Trey Roby, Xiuqin Wu [X] (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                CI Builds

                No builds found.