DataFed Vision
Data Views
What is a data view?
A data view is a user-specified representation of
data accessible through DataFed. Data views consists of a
stack of data layers, similar to the stack of spatial GIS data except that
DataFed views can represent temporal and other dimensional pattern. Each data layer
is created by chaining a set of web services, typically consisting of a
DataAccessService which is followed
by the DataRenderService. When all
the data layers are rendered, and Overlay
service merges all the layers into a single rendered image. Subsequent to the
data access-render-overlay, the MarginService
adds image margins and physical scales to the view. Finally, layer-specific
AnnotationService can add titles
and other user provided labels to the view. Below is a brief description and
illustration of data views. Further detail can be found elsewhere.


View_State.XML file
Views are defined by a 'view_state' XML file.
Each view_state.xml contains the data and instructions to create a data view.
Since the view creation is executed exclusively through web services, and web
services are 'stateless' the data in the view_state.xml file represents the
'state' of the system, i.e. the input parameters for each of the web services
used in the view. The view_state.xml file also contains instructions regarding
the web service chaining. Thus, given a valid view_state.xml file an interpreter
can read that file and execute the set of web services that creates a view. All
data views, i.e. geo-spatial (GIS), temporal (time series), trajectories, etc
are created in this manner.
The concept and the practical illustration data
views is given below through specific examples. Suppose we have single layer
view with a map data layer, margin and a title annotation, encoded in the file
TOMS_AI. The section on Settings contains parameters
applicable for the entire view, such as image_width for the output image
or lon_min for setting the zoom geo-rectangle. The section of Services
specifies the services used to generate the data layers. In the
example below, the combined MapImageAccessRender service accesses
the map image and renders the boundaries. Normally there an more layers and
services used in a view. The third section of each view state file is the
ServiceFlow, which specifies the sequence and manner in which the individual
services needs to executed.
View
generation
A data
view program can be executed by either the SOAP or the HTTP Get protocol. These
illustrations use the simpler and transparent HTTP Get protocol in the form a 'cgi'
- URL. In order to execute the view generation program, the user (or her
software agent) makes the following URL call (click on the URL below):
The entry after the ? view_state=TOMS_AI is
the only user-specified parameter. The resulting view was generated dynamically
by the web service interpreter at the DataFed website. Since the view file
TOMS_AI
had default values for all the services, it was able
generate an image of the view. However, each of the default parameters can be
modified by the user by explicitly changing the desired parameters. These
parameter changes are concatenated to the URL using the standard '&' character
for instruction separation. In the example below, the parameters for image
width, tom margin, minimum longitude, title text and location add the margin
background color was changed. The difference in the two map renderings is
evident.
http://webapps.datafed.net/cgi.wsfl?view_state=TOMS_AI
http://webapps.datafed.net/cgi.wsfl?view_state=TOMS_AI&lon_min=-60&lon_max=40&lat_min=0&text=ModifiedMap&y=center

Fig 1 Rendering of a view with default parameters
(left) and with user-modified parameters (right)
In summary, a user can take existing views and
place those in her own web-page by calling a URL that defines the view. The user
does not need to know the intricacies of the web service programming language,
except the parameters that she whishes to modify in the view. This aspect of
DataFed is similar to the the procedure for retrieving maps from standard OGC
(Open GIS Consortium) servers. The preparation of data views is accomplished by the
DataFed view
editor tool.
Views
can be simple or complex as shown in the current list of user-defined views
page. Each illustrates a somewhat different
aspect of the data or the DataFed services.
List of VIEWS (April 2004)
Since
data views are images, the can be embedded into web pages as any other image.
However, since the images are created dynamically, the content of the images can
be controlled from the web page through a set of HTML controllers, connected to
the image URL through JavaScript or other scripting languages. For instance, the
date of the displayed data in the view can be set by standard Text or Dropdown
boxes, and the value of the user selection is used to set views URL. Such web
pages, containing the dynamic views and the associated controllers, are called
WebApps or MiniApps(?). By design, such WebApps web pages can be designed and
hosted on the user's server. The only realtionship to DataFed is that the view
image are produced by the DataFed system. Unfortunately, full instructions for
the implementation of WebApps is nut yet prepared. However, a number of WebApps
have been prepared to illustrated the use of DataFed views in user's web pages.
The JavaScript code of each WebApp is embedded in the source of each WebApp
page.
List of
illustrative WebApps