DataWeb is Powerful Online Service that Business People use to create custom Cloud Data Base Applications quickly.

The DataWeb Platform

View:  Platform  |   Whitepaper  |   Datasheet


This paper gives an overview of DataWeb's architecture. The design time environment, physical architecture, and runtime architecture are explained in detail. The paper also covers scalability considerations, and the current feature set. This paper is intended to give a developer, systems administrator, or technical managers an understanding of how DataWeb works.

Design Time Architecture
DataWeb allows any developer with a web browser to quickly build a web application that incorporates custom database functionality, scripting, membership services and security. Examples of these would be: issue-tracking web applications, content management systems, shopping carts, and discussion boards.
Figure 1: A View file being edited in the DataWeb Builder

The DataWeb Builder is a hosted, browser based IDE for building and customizing every aspect of a DataWeb application. There is no client code required to run the Builder other than a web browser and an Internet connection (web applications created with DataWeb work on all 4.0-level browsers on all operating systems. The DataWeb Builder requires IE 5 on Windows or Macintosh, and Netscape 6.). The Builder presents each web site in the familiar metaphor of a file system tree. Developers can select and edit each file in the tree, as well as manage and set options for the entire application. The following file types are supported within a DataWeb application:
  • Data tables are SQL tables that are presented as files within the user’s application. A graphical editor is provided for editing data-table schema and for displaying the data stored in the table. Data tables support multi-table relationships.
  • Views are XHTML files that can be bound to data tables. Each view has four modes—insert, update, details and browse—giving a developer multiple ways of displaying data in a single page. Views understand multi-table relationships, have full knowledge of the security and membership model and can show and hide elements based on the users permissions.
  • Script is processed by the DataWeb Server and is written in ECMA compliant server-side JavaScript-standard. Script can be executed within views, in response to database events (triggers), or directly from URLs. The object model provides server-side functionality including access to user profiles, HTTP requests and responses, database operations, and secure file-system access.
  • Static Files are stored in the file tree and are served by the DataWeb Server. Text files such as .html or .css can be edited in the Builder, while graphic files can be stored and served but not edited.
Physical Architecture
DataWeb was designed from the beginning to be a hosted platform, with all software running on the server. DataWeb is available in three configurations—DataWeb Online, DataWeb Server – Standard edition, and DataWeb Server – Enterprise edition—that share similar architecture and provide different levels of scalability and redundancy.

DataWeb Online
The hosted version of DataWeb available on runs in a cluster with multiple web-servers running identical copies of the DataWeb Data Engine. Each server can service requests for any DataWeb application and additional web and database servers can be added at any time without disruption to the operation of the Platform. This allows all hosted sites to continue to run seamlessly even through web server failures. Database servers support RAID and redundant hardware to increase reliability.

The load balancer is configured to keep sessions tied to the same web server whenever possible. Individual webs also have an affinity to a set of servers. This helps ensure that every customer sees a consistent set of data, while allowing the Engine to do optimistic data caching.
Figure 2: Model Physical Architecture
(Not Pictured: mail, dns and administrative servers)

DataWeb Server, Enterprise Edition
The DataWeb Server, Enterprise Edition is also a clustered solution running multiple web servers behind a load balancer. It is designed to run inside a corporation by in-house IT staff. Customers can determine the number of web and database servers necessary to meet expected loads and provide desired back up and redundancy.

DataWeb Server, Standard Edition
The DataWeb Server, Standard Edition runs on a single web server with out a load balancer. It lacks failover and redundancy but benefits from the inherent scalability of DataWeb (see below). It is suitable for a departmental or lower traffic installation.

Server Configuration
  • Web Servers: DataWeb currently runs on IIS and Windows 2000.
  • Database Servers: The database servers run Microsoft SQL server 7.0.
  • Load Balancers: The DataWeb data center uses F5 big IP load balancers.
  • Auxiliary Servers: Mail gateways and DNS servers run Unix/Linux.
Runtime Architecture
The DataWeb Data Engine is the server-side component of the Platform that handles HTTP requests from the users of a DataWeb web application. The Engine manages security, renders views, executes scripts, and caches results for faster performance. The diagram below outlines how the Engine handles an HTTP request.
  1. All HTTP requests are checked for permissions and mapped to the appropriate handler.
  2. Assuming the user has sufficient permissions, requests for static files are handled as usual by the web server.
  3. Script and view files are cached in compiled form and served as requested; a call to the file server is made if a file is needed that is not cached.
  4. The data layer checks security and validates queries and updates.
  5. The query cache checks if the query results exist in the cache, and if updates have invalidated cached results, in which case a request is made to the database server.
Figure 3: HTTP request path

Scalability Considerations
DataWeb is designed to be a highly scalable solution, as discussed in the Physical Architecture section above.There are several additional features that support this goal.
  • C++ Runtime: The majority of the DataWeb runtime is implemented in C++, allowing for the highest level of optimization. There are no Java, ASP or COM components.
  • Virtual Database Support: Each DataWeb application has it’s own custom tables and schema, but many applications can share a single physical database. This lowers the overhead for each app and allows the back-end to service many virtual databases efficiently. The DataWeb security layer guarantees that users read and update tables only if they have appropriate permissions.
  • Data Caching Layer: In typical web applications many queries are repetitive, and the results of those queries change infrequently. The DataWeb data layer caches common query results and invalidates cached results as updates occur. The data-caching layer also includes a database connection pool to optimize the use of database resources when SQL queries are necessary.
  • View and Script Caching: Compiled views and scripts are cached on web servers to speed request handling.
Feature Details
The following list gives an overview of the feature set of the DataWeb Platform.

Security Model
  • Secure Logon: All logons to the DataWeb system occur over SSL connections. The logon is preserved over standard HTTP connections and reauthorized via HTTPs at regular intervals.
  • Security and individual pages: Any element of a page can be displayed or hidden based on user permissions. In addition, elements of a page can be made editable or non-editable based on user permissions.
  • Groups and Roles: DataWeb supports sets of permissions known as “roles”. Roles include Reader, Depositor, Author, Editor and Builder. These roles can currently be assigned to a fixed set of groups, though the underlying architecture supports custom groups.
  • Record-level security: The Author role allows groups of users to create records but limits their update privileges to the records they created. For example, I might be allowed to read the company address book, but only allowed to update my own address.
Import/Export Capabilities
  • Access Database Import/Export: The DataWeb server can “upsize” an Access database to the DataWeb Platform. Views and navigation are created to allow users to instantly create a web-accessible custom relational database. Relationships between tables are preserved on both import and export.
  • CSV Import/Export: The DataWeb Platform imports and exports standard CSV files.
  • XML Export: Any query can be returned as an XML dataset from a URL.
  • Web Import: Given a URL, DataWeb servers can walk an existing web application, import pages, and fix up links within the pages. This gives users a quick start on porting web sites to DataWeb.
  • Integrated FTP Server: The Platform includes a custom FTP server that integrates with the DataWeb security model. This allows developers to publish content to their DataWeb application from existing web development tools such as HomeSite and Dreamweaver.
  • Archive Support: DataWeb can package an entire application as a zip file for easy archiving, maintenance and restoration.
Helpful Data types and Objects
  • HTML data type: With the HTML data type, formatted text that is entered into a field is automatically converted to HTML. A graphical HTML editor makes it easy to format text to be stored as HTML.
  • File upload data type: The file upload data type uploads a file to a folder in your web application and stores a pointer to that file in your table.
  • HTTP Object: The HTTP client objects offer programmatic access to the data returned by a request to any web server. These objects make it possible to share data between a DataWeb web application and any other web site on the Internet.
  • Web Schema Objects: Web schema objects offer programmatic access to the structure of your web application and tables. Using script, you can create and modify tables, fields, and indexes.
  • JavaScript (ECMAScript) Compatible: DataWeb uses a server-side implementation of ECMA compliant JavaScript that allows developers to build dynamic web applications using DataWeb’s extensive object model. Developers can use JavaScript to create business logic to drive an application, to generate custom pages based on user requests, or to programmatically manipulate data tables.
  • Object Model: The DataWeb object model includes the standard ECMAScript core object model along with a set of objects that are useful in a server environment. These include request and response objects, data and file system access, and user information.
  • Class Model: User-created DataWeb script files can be loaded as classes. New classes can be added to DataWeb without changing the core runtime.
  • Event Binding/Triggers: Scripts can be associated with database events and fired on insert, update, or delete of records.
  • Tag Embedding: Scripts that produce web pages or email often need to output large bodies of text. Like ASP and JSP, the script compiler can mix tags directly in the script for convenience of authoring.
  • Webcall: Functions within script files can be marked as “public”, “private” or “webcall”. Webcall functions can be called directly via a URL, allowing non-browser clients to automate DataWeb applications.
  • Data Regions: Data regions are areas of a page that are bound to data. Data regions support filtering, sorting, and paging through data. Data regions can display data in grid, insert, update or details modes. Multiple modes allow a developer to create a single page and use it to serve different types of uses.
  • Template Pages: Template pages are an innovative way to give a group of pages within an application a common navigation “frame” and formatting.
  • Flexible Editing: The Builder has both a graphical editing tool that allows a developer to author views through the UI, and an editable source view, for direct editing.
  • Script Integration: Script can be used anywhere within a view to calculate and output values. In addition, script expressions can be used within many attributes on the server, to change how a page is rendered.
  • Auto Joins: Views can include data from multiple tables without exposing SQL or the concepts of joins. Users can add related fields to the display of any record and can also display "sub-lists" of related information.
Terms of Use | Privacy Policy | Contact Us | FAQ | Bring DataWeb In-House
*206 769 8783*    Email Us