µWeb System Architecture

Application Layer

The application-specific functionality such as network configuration, diagnostic display and device manipulation is built on top of the functionality provided by µWeb.

Both full sample applications and examples of particular techniques are included with µWeb to provide for rapid development.

C and/or Tcl

µWeb provides both C and Tcl application-level APIs, allowing application-specific functionality to be implemented in C (for highest performance), or Tcl (for rapid development), or both!

Note: Even on slower embedded devices, Tcl scripting provides high performance (less than 200ms response time) for all but the most data-intensive applications.

Framework Layer

µWeb is far more than a library or a web server. It is a high level framework with support for pages, layout (pages linked to menus and tabs) and the ability to define the behaviour of pages with either C or Tcl “scriptlets”.

Also included are common modules for typical embedded device functionality for even faster development.

Protocol Layer

A web application is required to parse and construct various protocols quickly and securely, including http headers, cookies, POST and GET values, multipart-mime encoding and more.

µWeb includes fully tested, low-memory, high-performance support for all of these necessary protocols.

API Layer

µWeb defines a standard API to high level functionality. along with fully-functional default implementations, including:

  • Persistent State Management
  • Error Handling
  • Online Help
  • Menus, Tabs and Toolbar
  • Authentication and Authorisation

Source code is provided for the default implementations to allow modification or replacement to support custom requirements.

Network Layer

A web application must accept and respond to network requests. A µWeb application can seamlessly run under either the tiny built-in web server, or a separate web server as a CGI application.