Ensemble ReST is a software system that eases the development, deployment, and maintenance of server-side application programs to perform functions that would otherwise be performed by client software. Ensemble ReST takes advantage of the proven disciplines of ReST (Representational State Transfer — a style of software architecture for such distributed hypermedia systems as the World Wide Web) and OSGi (formerly, Open Services Gateway Initiative — an industry standard for software for connecting such devices as home appliances and security systems to the Internet). ReST leverages the standardized HTTP protocol to enable developers to offer services to a diverse variety of clients: from shell scripts to sophisticated Java application suites.

Ensemble ReST abstracts away complexities associated with development of server-side application programs, enabling programmers to focus more on business logic than on server issues. It is robust, scalable, and secure; capable of serving dynamic as well as static content; and extensible to provide additional functionality. Services can be added, removed, or updated on a server, without restarting the server. Furthermore, the development environment for these services (Eclipse IDE) allows developers to debug the server-side applications side-by-side with the clients. The framework enables rapid prototyping and development of production level ReSTlets that can be deployed to support mission critical applications. The rapid development cycle offered by this framework has enabled the Maestro team to develop and deploy many production server-side applications to MER, Phoenix, and MSL missions.

This program was written by Khawaja S. Shams, Jeffrey S. Norris, Mark W. Powell, Thomas M. Crockett, David S. Mittman, Jason M. Fox, Joseph C. Joswig, Michael N. Wallick, Recaredo J. Torres, and Kenneth Rabe of Caltech for NASA’s Jet Propulsion Laboratory.

This software is available for commercial licensing. Please contact Karina Edmonds of the California Institute of Technology at (626) 395-2322. Refer to NPO-45848.