Barracuda Industrial Embedded Web-Server

The Barracuda platform comprises an advanced Embedded Web-Server specifically designed for controlling and monitoring embedded industrial applications in real time. Real time control of devices using HTTP has been impossible without constantly polling the HTTP server in the device until now. The Barracuda platform lets you implement real time update of remote user interfaces using HTTP(S).

Remote access to embedded applications over the Internet using HTTP with browsers and non-browser clients provides many benefits including authentication, authorization, and encryption using SSL.

The Hyper Text Transfer Protocol(HTTP), which is a Remote Procedure Calling (RPC) protocol, can securely transfer any type of data between a client and the server, including new firmware versions and application control data. Unfortunately, many embedded development projects are unable to deploy HTTP based technology for remote monitoring since the nature of the HTTP protocol makes it difficult to design true event driven applications typically needed by embedded devices. Though the HTTP protocol can be used for controlling industrial applications, monitoring applications becomes difficult as client user interfaces must constantly poll the embedded application for any changes to the data model presented to the operator in the client user interface. Also, a standard HTML based user interface makes it difficult to simultaneously control and supervise multiple devices. Web-Services, which are typically used by non-browser client applications, suffer from the same limitations since Web-Services use standard HTTP as the transport protocol.

The Barracuda platform makes HTTP more useful for devices by providing a full duplex persistent asynchronous protocol stack on top of HTTP. The full duplex persistent asynchronous protocol stack, called the EventHandler, makes it possible for browsers and non browser clients to send messages and receive messages from multiple devices at any time. Since the EventHandler sits on top of HTTP, applications using the EventHandler have the same benefits as regular HTTP clients, including the ability to bypass proxies and firewalls. Client applications using the EventHandler can simultaneously control and supervise multiple devices in real-time. A client can either be a browser based Dynamic HTML (DHTML) application or a Java program. A DHTML application can remotely receive up to 50 messages a second from the server and a Java application can receive up to 200 messages a second from the server. A DHTML browser application is installed on demand when the user enters the URL to an EventHandler based application. A Java application can also be installed on demand by using an applet or the Java Web Start Technology.

Traditional server generated web-applications are designed using our Active Server Pages (ASP) like scripting language, CSP. With CSP, you can embed C or C++ directly into an HTML template page created by an HTML designer. The feature rich C and C++ API provided to developers are modeled after the API provided to enterprise servers. The API provides developer with methods that make it easy to design applications based on the common Model-View-Controller paradigm. The object oriented virtual file system provided by the Barracuda platform makes it possible to delegate user requests, such as HTTP GET and HTTP POST, to any resource or resource collection. The Barracuda platform comes with a number of ready to use resource collections, such as the ability for clients to read and write files to any directory in an embedded file system and read files directly from within ZIP files. Resources can be dynamically installed and removed during runtime. Thus, a ZIP file can be uploaded using HTTP(S) and dynamically installed into the virtual file system.

The Barracuda SharkSSL (Secure Socket Layer) stack, which is designed from the ground up for embedded systems, is incredibly small and fast. The SharkSSL stack is specifically designed for the Barracuda HTTP protocol stack and supports hardware crypto encoding and decoding for common hardware crypto engines. The Barracuda HTTP Protocol Stack can also use third party SSL stacks such as OpenSSL, though no other SSL stack can compete with the small size of SharkSSL. As an example, many embedded SSL stacks are based on OpenSSL, which requires from 300Kb to 1Mb of memory. This is in stark contrast to the 32Kbytes required for SharkSSL. The size of SharkSSL is even less for microprocessors with hardware crypto engines.

The Barracuda platform provides a number of advanced plugins such as Web-services and a Web Interface to any SNMP MIB. The Barracuda platform also provides a number of host tools such as a graphical MIB editor and compiler, Interface Definition Language (IDL) compiler for the EventHandler, and a compiler and linker for the CSP scripting language.

Barracuda is specifically designed for rapid development on any Unix or Windows machine. You develop, run, and test the code on a host machine before you deploy the code into an embedded device.

The ability to run Barracuda in a hosted development simulation environment allows developers to design and create the entire user interface without requiring target hardware, further reducing time to market. The entire user interface may be created and reviewed prior to committing valuable time to building and executing the application on the target product. The Barracuda host development platform is designed such that you can take advantage of offsite (D)HTML, JavaScript or Java developers with no or little C/C++ experience and have the developers work with the user interfaces.

More information:

Get Demo | Previous Page | Downloads Search

If you found this page useful, bookmark and share it on: