Government

NASA Hubble Space Telescope

Return to Success Story List

Contact:
NASA Goddard Space Flight Center
Greenbelt, MD
U.S.A.
http://pao.gsfc.nasa.gov/vc/vc.htm

Tools Used:
ORBacus™, MOPSS, CORBA®

Problem:
NASA's Goddard Space Flight Center needed a GUI system that not only worked on multiple platforms, but was also capable to communicate with the server via Intranet and Internet, and to communicate with the server running behind the firewall, and maintain high performance for high-load data transfer. These requirements forced NASA to rethink their system architecture.

Solution:
The Mission Operations Planning and Scheduling System (MOPSS) is an application enabling a user to complete planning and scheduling activities quickly for a wide range of very complex applications while optimizing the efficient use of available resources. The original client/server version was implemented in C/C++, X/Motif and PL/SQL using Oracle as the database server. The MOPSS server runs on HP UNIX and SGI IRIX workstations and the MOPSS GUI client will run on any platform/operating system supporting X or X emulators.

MOPSS is a generic framework that can be configured on-the-fly to support virtually any planning and scheduling application. MOPSS is currently being used to support spacecraft operations at NASA's Goddard Space Flight Center (GSFC). A prototype application has also been configured to support patient, room, equipment, and staff scheduling for the Radiology Department of Holy Cross Hospital in Silver Spring, MD.

The development team analyzed various system architecture solutions and finally came to the conclusions that MOPSS should be migrated from a two-tier "fat client" architecture to a multi-tier "thin client" architecture. The GUI client must be implemented in Java due to the requirements for multiple platform support In order to meet deadlines, and it is necessary that they maximize reuse of the legacy C++ code and incorporate an X Window event handling mechanism.

These tasks can be performed by either implementing inter-client communication "from scratch" via sockets or by deploying CORBA. Further investigation and prototyping on the performance issue clearly indicated that the CORBA solution provided better performance by helping to eliminate bottlenecks on both the database and GUI sides.

The CORBA solution met all the client requirements and provided a solid foundation for a platform-independent distributed object architecture. It also saved an enormous amount of development time. Having settled on a CORBA solution, they began a comparison of CORBA vendors. They found that OOC provided a product that best suited their needs. NASA used ORBacus because it had no royalty charges for deployment, it provided the source code, and it is fully CORBA-compliant.