public interface DataSourceDeclaration
  Whether a DataSource is loaded via the Smart GWT server or programmatically created
  client-side, identical requests will ultimately be submitted to the server.  However,
  DataSources defined in XML are loaded and used by the Smart GWT Server, enabling many
  features including synchronized client-server validation, request bundling, file upload, and
  optional automatic SQL/JPA/Hibernate connectivity (see the 
  Server Summary for details).
  
DataSources can be programmatically created on the client like so:
     DataSource ds = new DataSource();
     ds.setID("supplyItem");
     DataSourceTextField nameField = new DataSourceTextField("itemName", "Name");
     // create other fields
     ds.setFields(nameField, ...);
  
  
  Reference for all properties that can be set for DataSources, their fields and validators is
  given in the DataSource class reference.
  DataSources defined in XML declare fields, validators and other settings using XML tags:
      <DataSource ID="supplyItem">
          <fields>
              <field name="itemName" type="text" title="Item"/>
              <field name="SKU"      type="text" title="SKU">
                  <validators>
                      <validator type="integerRange" ... />
                  </validators>
              </field>
          </fields>
      </DataSource>
  
  DataSources defined in XML are loaded by using the DataSourceLoader
  servlet provided by the Smart GWT Server.  This can be done as an ordinary HTML
  <script> tag as you application first loads:
  
      <SCRIPT SRC=isomorphic/DataSourceLoader?dataSource=supplyItem,employees,worldDS></SCRIPT>
  
 .. or can be done on the fly via DataSource.load().
  Alternatively, in JSP environments, XML DataSources can be loaded via a special JSP tag supported by the Smart GWT Server:
      <%@ taglib uri="http://www.smartclient.com/taglib" prefix="isomorphic" %>
      ...
      <SCRIPT>
      <isomorphic:loadDS ID="supplyItem"/>
      </SCRIPT>
  
  
  When loading an XML DataSource, by default, the ISC Server will look for a file named
  <dataSourceId>.ds.xml in the project.datasources directory 
  as configured in [webroot]/WEB-INF/classes/server.properties .
 By default this may be set to /shared/ds or /WEB-INF/ds under
 webroot.
  The location of this directory can be changed, or individual DataSources can be
  placed in arbitrary locations.  For more information, see the documentation for 
  server.properties
  
  The directory containing dataSource defintions should not be made publicly accessible via the 
  webserver. DataSource configuration files can contain sensitive data that should only be read
  by the server. When loading a dataSource via the loadDS tag or by hitting the 
  DataSourceLoader servlet such data will not be passed to the client.
  
  
XML DataSources can also be generated on the fly in case the entire DataSource or portions of it are based on dynamic data. See the server API com.isomorphic.DataSource.addDynamicDSGenerator().
DataSource, 
com.smartgwt.client.docs.LoadDSTag