Barracuda Advanced Web Server
Barracuda is an advanced, embedded Web Server that provides capabilities comparable to those found in enterprise Web Servers.
Features
- Web based device control
- Advanced server-side scripting language
- Persistent session handling
- Separation of presentation and logic
- HTTP 1.0 and 1.1, with persistent connections
- IPv4 and IPv6 operation
- Authentication and Authorization
- HTTP Basic
- HTTP Digest
- Form-based login
- SSL support
- Also available stand-alone
- Virtual object-oriented file system included
- Written in ANSI C-compatible code
- Designed as an object-oriented library
- Secure control makes SNMP unnecessary
Sophisticated Graphical User Interfaces
How your product looks to your potential user is a major sales feature. The ubiquity of HTTP and HTML are well-known, as is their ability to create sophisticated graphical user interfaces. This is ideal for headless embedded products and for remote access to all embedded products. Barracuda allows you to employ professional HTML designers to create outstanding graphical user interfaces.
Powerful Device Control
As good as it is for presentation, Barracuda is even better for remote web based device control. This is because it is based upon a server-side scripting language, called CSP. CSP allows creating C (or C++) scripts to execute the HTTP GET and POST commands sent by browsers. GET commands are used to get information from the device; POST commands are used to control the device. Creating scripts for these processes is made easier by having persistent sessions provided by Barracuda. (HTTP normally closes a connection after each response.)
Division of Labor
Most embedded Web Servers permit embedding readings and other dynamic data into HTML pages via server-side includes. These are accomplished with C function calls embedded into HTML pages. This mixture of C and HTML makes creating and maintaining professional-looking web pages difficult. Barracuda, by virtue of its scripting language, CSP, allows separating the presentation from the logic. CSP, with its own cross-compiler and linker, allows generating dynamic HTML. HTML designers can work on the presentation and leave the logic to C programmers (who do not have to worry about appearance.)
Security
Post 9/11, security has become increasingly important. If your embedded product produces sensitive information or if its behavior can be remotely controlled, then your customers will want security. Barracuda provides advanced protection as follows:
- SSL protects communication from being eavesdropped by a third party.
- Authenticating users by using HTTP Digest, HTTP Basic, or Form Based Login.
- Authorization can also be controlled by placing users in groups with different privilege levels.
Access
All firewalls accept access via HTTP port 80 or secure access via HTTPS port 443. This cannot be said for other protocols, such as SNMP or email. Hence, the use of HTTP or HTTPS guarantees that your product will be accessible even if it is on the other side of a customer's firewall.
Minimizing Web Page Memory
A well-known downside of HTML pages is their potentially large size. Barracuda attacks this problem by providing host tools that precompile the HTML and server-side scripts into binary files, which can then be zipped up. The Barracuda virtual file system can read ZIP files directly from flash, without need for an unzip utility.
Operating Systems.
Barracuda has been ported to OSE, MQX, SMX;, ThreadX;, SuperTask, EBSnet rtplatform, uClinux, Linux and Windows.
Other Environments
Barracuda encapsulates the socket interface and the SSL interface, thus Barracuda can easily be ported to other environments.
Documentation
Extensive documentation is provided. The User's Manual describes the web server's fundamentals and how to use CSP. The Reference Manual describes the feature-rich Web Server API. Since Barracuda's CSP is very similar to Microsoft's Active Server Pages (ASP), one can learn how to use CSP from an ASP book. The main difference is that CSP uses C or C++ for server-side scripting.