Software for Device Management

Barracuda Embedded Web Server

This web-site is for engineers that want to learn more about the Barracuda Embedded Web Server and the various plugins. The Barracuda Embedded Web Server is designed from the ground up to support modern resource constrained embedded systems. The Barracuda Embedded Web Server is delivered as a "C" library that can be embedded in other computer programs. Despite its name, the Barracuda Embedded Web Server is an embeddable application server and is specifically designed to function as a framework for running server based applications.

Application Server versus Web Server

You need an Application Server, not a Web Server

You need an Application Server if you are planning on performing any type of device management. The following list of articles drills into why you need an Embedded Application Server and why an Embedded Web Server is not sufficient for device management:

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.

Barracuda Embedded Web Server


Embedded Linux

The Mako Server is a Barracuda Application Server derivative product designed for Linux.

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).