WIGLAF (a Web Interface Generator and Legacy Application Façade) is a computer program that provides a Webbased, distributed, graphical-user-interface (GUI) framework that can be adapted to any of a broad range of application programs, written in any programming language, that are executed remotely on any cluster computer system. WIGLAF enables the rapid development of a GUI for controlling and monitoring a specific application program running on the cluster and for transferring data to and from the application program. The only prerequisite for the execution of WIGLAF is a Web-browser program on a user’s personal computer connected with the cluster via the Internet. WIGLAF has a client/server architecture: The server component is executed on the cluster system, where it controls the application program and serves data to the client component. The client component is an applet that runs in the Web browser. WIGLAF utilizes the Extensible Markup Language to hold all data associated with the application software, Java to enable platform-independent execution on the cluster system and the display of a GUI generator through the browser, and the Java Remote Method Invocation software package to provide simple, effective client/server networking.
This program was written by Akos Czikmantory, Thomas Cwik, Gerhard Klimeck, Hook Hua, Fabiano Oyafuso, and Edward Vinyard of Caltech for NASA’s Jet Propulsion Laboratory.
This software is available for commercial licensing. Please contact Don Hart of the California Institute of Technology at (818) 393- 3425. Refer to NPO-30842.
This Brief includes a Technical Support Package (TSP).

Web Program for Development of GUIs for Cluster Computers
(reference NPO-30842) is currently available for download from the TSP library.
Don't have an account?
Overview
The document outlines the development and capabilities of WIGLAF (Web Interface Generator And Legacy Application Façade), a software framework designed to facilitate the use of cluster computer systems at NASA's Jet Propulsion Laboratory (JPL). The primary goal of WIGLAF is to provide a web-based graphical user interface (GUI) that simplifies the interaction with complex cluster computing environments, making them accessible to users who may not be experts in supercomputing.
WIGLAF leverages the interaction between XML and Java to create GUIs tailored to specific applications. Each application is associated with an application description file in XML format, which contains essential metadata about input parameters, output locations, and execution instructions. This metadata allows the WIGLAF client to intelligently construct a GUI without explicitly defining GUI objects, thus enabling rapid development and deployment of user interfaces.
The framework is designed to be adaptable to a wide range of applications, regardless of the programming language used to develop them. It supports remote execution of applications on cluster systems, allowing users to control and monitor jobs from any desktop location using just a web browser. This portability is a significant advantage, as it eliminates the need for specialized software installations on user machines.
WIGLAF employs a client-server architecture, where the server runs on the cluster and manages application execution, while the client, an applet running in a web browser, connects to the server for data exchange. The use of Java Remote Method Invocation (RMI) facilitates effective client-server networking, enabling seamless communication between the client and server. Although RMI is not as efficient as lower-level socket programming, its simplicity and ease of use make it a suitable choice for this framework.
The document also emphasizes the open-source nature of WIGLAF, which will be distributed under the GNU Lesser General Public License (LGPL) through the Open Channel Foundation. This approach encourages community involvement and further development of the software.
In summary, WIGLAF represents a significant advancement in making cluster computing more user-friendly, providing a robust framework for developing web-based interfaces that enhance the usability of high-performance computing resources at NASA and beyond.

