TCPIP Products

Barracuda™ Event Server
The Barracuda Event Server facilitates remote control and monitoring of embedded devices by means of rich client user interfaces.
The traditional web server allows downloading of HTML pages to a browser which can include dynamically updated information. It can also accept commands from a remote browser to control its embedded device. However, this approach presents the following problems:
-
The web server must poll the device for new information because HTTP does not maintain a persistent connection that would allow the embedded device to send a message whenever it had new data or an alarm.
-
The web server must send the entire HTML page containing the data, even if only one or a few fields have changed.
Because of the these problems, loading on the network can become quite high, especially if many devices are being controlled or monitored simultaneously. If loading is reduced by polling less frequently, then responsiveness suffers and timely device control is put at risk.
The Barracuda Event Server solves these problems by providing a protocol on top of HTTP that maintains a persistent bi-directional connection. The embedded device can send data or alarms, at any time, without the need to wait for a poll from the remote browser. Even better, only changed data needs to be sent - the full HTML page must be sent only once, during initial contact. With Barracuda Event Server rich client GUIs can be created from complex HTML pages, that include extensive graphics, without overloading networks.
Barracuda accomplishes this by initially downloading a compressed JavaScript program from the embedded device to the browser. This JavaScript program, which is automatically unpacked and started by the browser, interprets messages received from the embedded device and performs appropriate actions, such as updating display data, gauges, etc. The JavaScript programs are written by application programmers as part of their overall application software.
A major advantage of uploading JavaScripts from an embedded device is that any browser-enabled unit, such as a PC, a laptop, a PDA, or even a G3 cell phone can be used to communicate with and to control an embedded device, without the need for the user to install anything. Furthermore, each version, or new release, of an embedded device can upload HTML pages and JavaScripts that are appropriate for it. This can be helpful in situations where it is necessary to maintain or gather data from units having different installed options or that are configured differently.
Of course, remote access brings with it security concerns. To deal with these issues the Barracuda Event Server incorporates user authentication and authorization. Also available is the SharkSSL add-in package to provide even greater security. SharkSSL is specifically designed for Barracuda and embedded systems. It is very small (32Kbytes), fast, and low cost. And it supports hardware crypto engines, when available.
Other key benefits of the Barracuda Event Server:
-
Penetration of firewalls and proxy servers by virtue of piggybacking on HTTP. This can be especially important for companies that must access or maintain embedded devices installed on customer premises and connected to customer LANs behind firewalls or proxy servers.
-
Multiple devices can be controlled simultaneously. In this case, it is simply necessary to design the HTML page and JavaScripts for multiple device access. After connecting to one device, the others are brought on line by the downloaded JavaScript program.
-
Included in the package is a server-side scripting language like Microsoft's ASP, called CSP (meaning C/C++ Server Pages.) CSP allows programmers to easily implement remote control of their embedded devices and gathering of data from them. CSP code is precompiled into C code, then compiled and linked with the code of the embedded application, itself CSP helps to reduce interdependency between programmers and HTML graphics designers. It is much easier to design sophisticated user interfaces because web-developers, who have no embedded design experience, can develop the templates for dynamic CSP pages. Programmers can then add their scripts to these templates and everything works, as planned.
-
Rapid development on a Windows or UNIX host is supported. After the code has been developed, tested and successfully run in a host environment, it can be easily deployed to the embedded device.
For more complex projects, Barracuda Event Server supports rich client user interfaces written in Java. A browser is used to establish initial connection. Then Barracuda allows the Java client to be downloaded to a remote host computer. The Java program is then automatically started on the remote computer. From there on the Java client communicates with the embedded device(s). This approach gets away from browser-imposed limitations (and frequent changes), allows greater customization of the user interface, and permits controlling very large numbers of devices, simultaneously. As compared to a totally custom client/server solution, based upon TCP/IP, Barracuda Event Server can be far more cost-effective and it includes features that might otherwise be left out.
Want more information?
Barracuda Event Server is comprised of the following modules:
|