SIRTF will deploy an Internet Java application, the SIRTF Planning and Observation Tools (SPOT) to facilitate the proposal creation, editing and monitoring processes. Java will provide a development and runtime environment capable of supporting the diverse and globally dispersed astronomical community. The SPOT will provide a means of standardized input of observation parameters that can be integrated into the mission planning function using predefined workflow processes. The use of highly automated workflow processes will help keep the Development and Operations budgets within their current cost constraints.
The Science Operations Application Server (SOAS) is being designed and developed to support the SPOT and Science Operations System (SOS). SOAS will provide integration of back end services such as database, astronomical catalogs, and estimation software and legacy software libraries. Development of this application server architecture required the design and development of an object communications architecture and software deployment mechanism. The object communications architecture makes use of the built in serialization capabilities of Java and the Hypertext Transport Protocol (HTTP) for implementation. The software deployment mechanism is designed to provide initial software installation and an automated update facility and is implemented using a Commercial Off The Shelf (COTS) software package. Enterprise Java Beans will be developed and deployed within the SOAS to satisfy requests to the DBMS for proposal processing. This presentation will also cover the synergy between the UML and Java. The SOAS development team will utilize OOA&D, the UML and Java to design, document and implement the SOAS.
The Science Operations Application Server (SOAS) supports the proposal creation, editing and submission activities the SIRTF Science Operations System. The architecture is a n-tier, high-availability, scalable, transactional and service based design. The design and analysis of the software architecture is based on Objected Oriented Analysis and Design techniques and is expressed in the Unified Modeling Language. The system is implemented using the Java Development Kit (JDK) and utilizes features from the Java 2 Enterprise Edition (J2EE). The SOAS API software architecture is comprised of services, data beans, exception handling and system monitoring components. The following sections describe the high level details of the SOAS.
Services: Based on the URL the SOASAPI invokes the Request Handler to process that service. At initialization the available services are registered with the SOASAPI. The invocation of a particular service is encoded in the URL. Once the service has been determined the execution of the service is delegated to the appropriate Request Handler implementation.
SODB Data Beans: The SODB data beans encapsulate the database schema and SPOT ASCII file format. These data beans are also used to transfer data to/from the Java clients via Java object serialization. The SODB data beans support multiple version of the database schema through overrides of the default object serialization mechanism. This has been done to support backwards capability for the client ASCII file format. The SODB also contains a framework for intelligent of storage and retrieval of the data beans across the Internet. A partial SODB class hierarchy is shown in Figure 2.
System Monitoring & Control: Another set of services the SOASAPI provides are for system monitoring and control. A standard web browser is used to access these services. These services include:
Software Deployment: Initial deployment of the SPOT application is accomplished by the download and installation at the client workstation. From this point updates are processed using two methods. The first is a download of the complete updated application as mentioned. The alternative is to contact the SOAS for software updates. See Automated Software Update pattern for more details on the second method.
Booch, G., Jacobson, I., & Rumbaugh, J. 1998, The Unified Modeling Language User Guide
Chavez, J. 1999, SDM/Uplink Integration Design Review
Harold, E. R. 1999, Java I/O
Hienrichsen, I. 2000, this volume, 319
Hunter, J., Craford, W., & Ferguson, P. 1998, Java Servlet Programming
Sun Microsystems 1999, Enterprise Java Bean Development Guide