The Customer

B&B Electronics Manufacturing Company designs and manufactures data communications products for commercial and industrial applications.

The Problem

B&B Electronics employed a Windows-based application to configure their wireless serial servers. The wireless serial servers were configurable from a centralized machine that ran the application. B&B Electronics approached RightHand when they needed to develop a web-based configuration application that used the same C Application Programming Interface ("API") as the Windows-based application.

The RightHand Solution

RightHand's experience in both web-based application design and network configuration facilitated the development of a logical web-based application that felt very similar to the current Windows-based application. The web-based application comprised multiple Common Gateway Interface ("CGI") scripts that communicated to with the C API to send and receive configuration values for the wireless serial server. The configuration values were then displayed to the user for verification and/or adjustment. The web-based application generated the screens based on the type of device it was running on, enabling B&B Electronics to deploy a single version of the web-based application that worked with all models of their wireless serial servers.

In order to couple CGI scripts with C functions, engineers at RightHand evaluated two tools: External Subroutine ("XS") and Simplified Wrapper and Interface Generator ("SWIG"). In the end, the engineers at RightHand chose SWIG for its ease of deployment. SWIG converts interface files (or C header files) into wrapper code for a multitude of languages, for example, Perl. The wrapper code is then integrated into the file system for the target device. Finally, the CGI scripts incorporate the wrapper code that enable communication with the C API.