Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

SCA Assembly Spec Driven Scenarios (vtest)

This page describes in further detail the Atom Binding scenarios in the Tuscany Web 2.0 roadmap at [http://tuscany.apache.org/sca-java-roadmap.html}.

A broader view of all the scanearios scenarios is located at http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Scenarios.

Understanding Data Caching using ETags, Last-Modified, and other Header Commands

Atom feeds and entries can often be very large pieces of data. Since Tuscany uses the Atom data binding as one of its supported bindings, there is the potential that many requests for data may have large pieces of data associated with a request.

Hyper Text Transfer Protocol (HTTP), the basis of the web, has support to help limit or cache the amount of data shared between a client and server by adding tags to a resource reques. These header tags are the ETag and the Last-Modified tags. When used with a predicate tag such as If-Match, If-Not-Match, If-Modified-Since, If-Unmodified-Since, etc., the client and the server can avoid shipping large pieces of data when updated data is not needed. The following scenarios show how Tuscany supports this form of caching throught ETags, Last-Modified, and other Header Commands.

Posting new data to a feed

(show data post request, server response, required fields)

Updating existing data in a feed)

(show data update put, If-Match precondition, Matching return code 412)

Requesting existing data

(show get via ETag, If-None-Match precondition, Matching content returned)

Requesting stale data

(show get via ETAG, If-None-Match precondition, Not modified return code 304)

Requesting up-to-date data

( show request via last-modified date, data is unmodified, Not modified return code 304)

Requesting out-of-date data

( show request via last-modified date, data is modified, updated data is returned)

Support for postMedia, putMedia and other Streaming Data

Support for Negitiated Content Types

XML Data

JSON Data

GZipped Data

Workspace and Merged Data Support

Security on Sensitive Commands (Delete,DeleteAll,etc.)