1. Introduction

1.1 Overview

RapidContext is a platform for building and hosting web applications. It is ideal for creating and distributing web-based tools on an intranet and provides a number of important advantages:

1.2 Standard Setup

RapidContext provides a web application environment with both client (web browser) and server components. The client and server parts are integrated, providing easy-to-use solutions for all the common issues that arise in a web environment (authentication, permissions, etc).

The web browser runs the web applications and manages the user interface. In the standard setup, multiple applications are running on a single web page. Data is fetched asynchronously in the background without blocking the user from other parallel tasks.

The RapidContext server handles user authentication, sessions, permissions, data connectivity, transactions, etc. The server runs the actual database queries or remote sessions, while posting results back to the web applications in a convenient JSON data format.

Figure of standard setup.

1.3 Features

Using RapidContext for building web tools, connecting to databases or managing servers has a number of advantages compared to other toolkits or direct access via SQL, SSH or similar.

  1. Knowledge Sharing — All SQL queries and system commands used are stored on the RapidContext server for reuse and easy inspection. This improves knowledge sharing and information transfer between co-workers. It also helps with eliminating mistakes and data issues, since changes propagate immediately to all users.
  2. Resource Footprint — Transactions and connection pooling is built-in and used whenever supported by the data source. This means that many users can efficiently share a small number of external connections.
  3. Robust Security — User authentication, authorization and auditing mechanisms are available to guarantee the integrity of applications and data. Since users share connections, the direct access and number of accounts on external systems can also be reduced.
  4. Flexible Scripting — JavaScript is supported both on the client and the server side, providing a powerful programming environment for business logic, data transformations, validations or any kind of data handling.
  5. Efficient Workflows — A well-designed browsing user interface is at least an order of magnitude faster to work with than switching between multiple SQL and shell windows. Since computations are mostly performed in the client browsers, a single server can handle more users than a standard application server.

1.4 Concepts & Terminology

A number of terms are used repeatedly in the RapidContext documentation and elsewhere. Their definitions are as follows: