HTTP Servers for Enterprise Applications
Today, enterprise users expect applications to have a web based user interface*. The simplicity of using a browser as the client and being freed from the endless updating of client desktops makes web based interfaces attractive and significantly lowers administration costs.
However, while the client side is greatly simplified, the server side is complicated by having to create, deploy, maintain and manage an additional application to do the web user interface. Usually the web interface is a separate application running under a HTTP server such as Apache or Microsoft IIS. Often it is on a physically different server and managed by different IT personnel.
This model gained momentum due to the prevailing wisdom that separation of the presentation layer from the business logic was essential for a manageable implementation. However, that separation should be a design separation and should not mandate a deployment separation, i.e. you should be able to still have separate presentation and business logic without requiring the complexity of deploying the presentation application separately from the business logic application. When the web interface is presenting static data, this split-deployment model is acceptable, but when application interfaces are dynamic, it is often easier, faster, less complex and more secure to incorporate the web user interface directly into the application.
Embedding a HTTP Server
The Mbedthis approach is to embed the HTTP web server and web user interface directly into the application. The presentation and business logic may still be logically separate, but both the application and the presentation are now be deployed as one. This greatly simplifies installation and administration.
Qualities of an Ideal Embedded HTTP Server
Most existing embedded HTTP servers were designed before the security threat reached its current level and are not suitable for use in an enterprise application. Indeed, five years ago, the web was a much kinder place. Consequently, old web servers have usually compromised on features and security. The following lists the ideal qualities of an embedded HTTP server:
- Strong security (SSL, digest authentication)
- Configuration that is compatible with Apache
- Ability to use PHP and other standard page creation environments
- Compact with a small memory footprint
- Easy to embed in new or existing applications
- Be optionally single or multithreaded
Mbedthis AppWeb is a 2nd generation design that fulfills today's requirements. It is secure, compact and easily embedded in C and C++ applications. It has an extensive set of features and is one of the fastest web servers available today.
AppWeb requires very little system resource to run. It will run in as little as 110K RAM and will consume less than 1% of the CPU when serving an active user. (It can serve over 3,500 requests per second on a PC class device). AppWeb has a modular architecture where you can select the feature set you require and only load those modules.
The AppWeb embedded HTTP server has the following features:
- Embedded Server Pages for dynamic content
- Secure Socket Layer (SSL)
- In-process CGI as well as traditional CGI
- Digest Authentication
- Dynamically loadable modules
- HTTP Client program and library
- Extensive logging
- Fastest performance in its class
- Cross-platform and portable
- Full source code and documentation provided
Read about Mbedthis AppWeb and download to try it out.
*InfoWorld (2003) -- 87% of enterprise users demand a web based user interface for enterprise applications