Mbedthis Software

Why Embed a Web Server?

There are numerous benefits to embedding a web server. It simplifies design, often makes it easier to secure the system and usually results in less code and is therefore simpler to maintain. But first, let us examine what is special about embedded web servers and why embed them in the first place.

A Web Server is a Web Server, Right? ... Wrong.

An embedded web server has a different set of design goals compared with those of an enterprise web server such as Apache. While both servers receive and respond to the standard HTTP protocol, the design goals and core processing architectures choices are considerably different. Furthermore, the resource demands these web servers impose on a system may be very different. Enterprise web servers typically assume that they are the most important application on the system and often run on a dedicated system. It is acceptable for them to scale to consume available resources to serve incoming requests. In contrast, Embedded web servers assume they are secondary to the essential functions an application or device must perform. As such, embedded web servers must minimize their resource demands and must be deterministic in the load they place on a system.

The key design goals of embedded web servers and AppWeb in particular are to be:
  • Easily embeddable in applications and devices
  • Easy to configure and administer
  • Small memory footprint
  • Secure by design and by default
  • Deterministic demand on system resources
  • No compromise on features
  • Open source with commercial license options

Options in Web-Enabling

There are two classes of users for AppWeb: Device builders and Enterprise application developers and they are riding two key trends:

  • Devices and appliances are expected to be manageable via a browser, and
  • Enterprise customers are demanding applications with web based user interfaces

To respond to these drivers, there are two primary ways to provide such web based access:

  1. Create a web application to run with an Enterprise Web server. This presentation layer application then communicates with your "logic" application as required.
  2. Embed a HTTP web server directly in your application so it becomes a HTTP server itself.

Conventional wisdom has stressed the separation of presentation from logic and this is a good axiom. However, it should be a logical separation and not necessarily a physical separation. In some cases, a physical separation is ideal and it certainly can help to scale-out a large web-site when used with load balancing. In other cases, the simplicity and performance gains from embedding a web server directly in an application or device make direct embedding a preferred choice. Both approaches have their place. Mbedthis aims to deliver the best embeddable HTTP server in the market.

Other Reasons to Embed a Web Server

There are many other reasons to embed a Web Server. Some examples are:

  • You want to ship evaluation copies of your application with a web user interface, but you don't want users to have to modify their enterprise web server configuration just for a trial.
  • You want to ship a device appliance and it must be web manageable for all functions.
  • You want to web-enable an existing application as quickly as possible and you don't want the complexity of creating a separate web application.
  • You want to simplify the deployment of your application so it can be secured and administered at one point. You don't want so separately manage the web presentation and the back-end application.



© Mbedthis Software LLC, 2003-2004. All rights reserved. Mbedthis is a trademark of Mbedthis Software LLC.
    Privacy Policy and Terms of Use.   Generated on July 15, 2004.