Embedded Redfish Server

The Embedded Redfish Server is a Barracuda Web Server product packaged specifically for companies that need rapid development of secure Redfish services in devices. Secure and trusted connections are managed by SharkSSL.

DMTF's Redfish® API is an open industry standard specification and schema designed to meet the expectations of end users for simple, modern, and secure management of scalable platform hardware. Created by the Scalable Platforms Management Forum (SPMF), Redfish specifies a RESTful interface and utilizes JSON and OData. The Embedded Redfish Server helps customers integrate Redfish services within their existing toolchains.

The Barracuda Web Server Redfish Benefits

The Barracuda Web Server and the Barracuda Application Server include a virtual file system that makes designing Redfish REST services super easy. A device exposes a set of Redfish REST services as depicted in the following diagram.

Redfish REST Services

Figure 1: Redfish REST Services

Many of the REST services may be provided as static resources as they do not need to change, while other services must be dynamic. The virtual file system in the Barracuda Web Server and the Barracuda Application Server greatly simplifies the design of static and dynamic resources as the two server products enable a static REST tree saved in a file system to be overlapped by dynamic resources. The static resources can be compressed into a ZIP file and linked with the firmware. At run time, the ZIP file is mounted as a read only REST service tree with the dynamic resources overlaying the static resources.

With the Barracuda Web Server, the JSON services are encoded/decoded by using an easy to use C/C++ JSON encoder/parser. However, JSON maps more naturally to high level (dynamically typed) languages, thus for embedded systems with adequate memory, the Barracuda App Server may be a better choice as it automatically maps JSON into Lua tables.

Offloading the Redfish Services to a Coprocessor

If you have an existing HW solution with very limited resources and/or no network connectivity, you may consider adding an ESP32 system-on-chip to your existing HW. The ESP32 can be set up to communicate with your main CPU using SPI/serial. The ESP32 supports both Ethernet and WiFi. The benefits with this solution is that you can design all Redfish services in the high level Lua language, which greatly simplifies working with JSON data vs. C or C++. The ESP32 can be purchased in volume for $3 or less. See the Barracuda App Server for ESP32 page on how to get started.