Application Server versus Web Server
An embedded web server is a HTTP protocol stack that is limited to handling HTTP requests. In contrast, an embedded application server is a software framework dedicated to the efficient execution of programs, routines, or scripts for supporting the construction of various applications. An application server also contains a web server. Thus, one may consider a web server a subset of an application server. While a web server mainly deals with sending HTML for display in a web browser, an application server provides access to server side logic (server applications) for use by client application programs.
Think of an application server as a GUI engine that is connected to a remote display with applications running in the server dynamically creating the user interface and presenting the user interface in, for example, a browser. A web server is limited to presenting static (pre-designed) web pages and is consequently of little value or no value for designing GUI applications since a GUI typically changes the look and behavior when used by a client. Some web servers allow extensions such as CGI and other means for managing dynamic content. These extensions typically limit the GUI designer and make it time consuming and difficult to design GUI applications.
A standard web server is typically associated with a directory on a file system. This directory contains the static web content for the application. The Barracuda Embedded Web Server can function as a standard web server by creating one instance of a resource reader and inserting the resource reader as a root directory in the virtual file system. The resource reader can, for example, be associated with one DiskIo that is configured to read files from a specific location in your file system. The resource reader is designed to be efficient at serving static content and the Barracuda Embedded Web Server is therefore also very efficient at serving content similar to a standard web server. However, unlike a regular web server, the resource reader can be LSP enabled, meaning that it will run pages on the server that end with the extension .lsp. In other words, the page is loaded and executed on the server and not returned as a static file to the web client.
The following diagram shows the Barracuda Embedded Web/Application Server and the major plugins such as the LSP plugin. The diagram is interactive, and more information appears when you move your mouse over the diagram. See our products page for an introduction to the various components.
Operating Systems and Platforms:
The Barracuda Application Server has been ported to many popular embedded operating systems, including INTEGRITY and µ-velOSity (Green Hills Software), VxWorks (Wind River), ThreadX/NetX (Express Logic), RTXC Quadros (Quadros Systems), QNX (QNX Software Systems), Embedded Linux, Windows CE, embOS (SEGGER), SMX (Micro Digital), and MQX (Freescale).