Real-Time Logic has ported its innovative embedded webserver stack to Linux. The Barracuda stack allows embedded applications to update HTTP clients as needed, without requiring polling by the client. It supports dynamic programming in C/C++, is available with a tiny embedded SSL stack, and targets industrial monitoring and control.
According to Real-Time Logic, HTTP offers advantages as a remote access protocol for embedded industrial control applications. HTTP's advantages include authentication, authorization, encryption, and the ability to bypass proxies and firewalls. However, HTTP and secure HTTP are essentially one-way RPCs (remote procedure calls) that require the browser or web services client to constantly poll devices for updates. Additionally, HTTP(S) is difficult to use with multiple remote servers, the company says.
Real-Time Logic has attempted to overcome the HTTP protocol's one-way and one-client nature by implementing an asynchronous protocol stack on top of HTTP. The stack comprises “EventHandlers” that run on both the client and server sides. The EventHandlers maintain a full-duplex, persistent, asynchronous session that embedded applications on industrial devices can use to update client applications on an as-needed basis, without polling.
EventHandlers (EHs) run on a device supervisor, within the embedded application, and within the client-side DHTML application
When a brower or web services client accesses the URL for an EventHandler-enabled application, the Barracuda server can install a DHTML application, Java applet, or Java Web Start application on the client. DHTML applications are limited to about 50 messages per second, while Java applications can receive up to 200, the company claims. Multiple EventHandler applications running on multiple devices can service the same client or clients.
The Barracuda server supports its own dynamic web programming language called CSP. Similar to ASP and PHP, which allow programmers to embed C-like program text within HTML web pages, CSP lets programmers embed actual C and C++ code within their web pages. Real-Time Logic says the C/C++ APIs lend themselves well to applications that follow the Model-View-Controller paradigm, allowing designers to handle the interface look and feel, while actual C/C++ programs implement program logic.
Barracuda is optionally available with Real-Time Logic's SharkSSL stack, which the company says was designed specifically for resource-constrained embedded systems. SharkSSL has a claimed footprint of 32KB, or less for chips with hardware cryptographic acceleration engines.
Other Barraduca features include an object-oriented virtual file system, programming examples, plugins for web services and SNMP MIB (management information bases) interfaces, a graphical MIB editor and compiler, IDL (interface definition language) compiler for the EventHandler, and a compiler and linker for the CSP scripting language.
Barracuda is available now for Linux, along with development tools aimed at allowing distributed engineering teams to develop applications and interfaces collaboratively on host machines running Unix or Windows, Real-Time Logic says. Evaluation versions for Linux, Mac OS X, and Windows XP, 2000 are available for download, but an NDA (non-disclosure agreement) must be agreed to in order to run the evaluation software.
This article was originally published on LinuxDevices and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.