|
Science Applications International Corporation (SAIC)
Naval Network Warfare Command (NETWARCOM)
Engineering Operational Sequencing System (EOSS)
VAX-BASIC to Java 2 Enterprise Edition (J2EE)
History: The US Navy, under the auspices of the Navy E-Business office, undertook a major pilot program to assess the feasibility and business value of using commercial automated transformation software to convert legacy code into modern, object oriented, NMCI compliant code. The Navy selected a unique widely used Navy legacy information system written in VMS VAX BASIC for the pilot. The Engineering Operational Sequencing System (EOSS) provides standard propulsion plant procedures and operating criteria for every ship in the U.S. Navy fleet. EOSS was chosen by the Navy Functional Area Manager (FAM) office for its extreme complexity, and the perception that automated modernization of EOSS into NMCI compliant code would be extremely difficult. Science Applications International Corporation (SAIC), prime contractor, awarded The Software Revolution, Inc. (TSRI) a sole source contract, under the auspices of the Space and Naval Warfare System Command (SPAWAR), to modernize EOSS.
Challenge: To perform the requested documentation and transformation, TSRI software engineers were required to make two necessary tool adjustments to the JANUS™ Intermediate Object Model (IOM), they created a VAX-BASIC gateway and they included J2EE as a modern target. TSRI also made several design adaptations to preserve EOSS functionality while modernizing its architecture.
System Interfaces: The
TSRI modernization effort preserved two types of interface between the
modernized EOSS Accountability System and the external systems with which it
interfaced.
- The
first was the User interface, which provided user telnet sessions via remote
terminals. The user terminal interfaces were replaced by web browser
connections, made within a local area network through a virtual private network
(VPN), from external Internet sites using SSL. HTML forms presented by web server scripts provided screen I/O similar to
the original telnet sessions.
- The
second type was the FTP interface, transferring to and from various external
systems.FTP connections in the legacy
system were used to transfer text files to and from EOSS. The modernized EOSS application produces and
reads files required for the FTP interfaces in the same format as the legacy
application. Thus the FTP interface was
preserved. Systems formerly using FTP to
push files to EOSS were changed to point to the new Sun Server hosting the
modernized EOSS application. The
modernized EOSS application uses a Java FTP library to push FTP files to the
same destination as the current EOSS application.
System Architecture: For
modularity and flexibility, TSRI designed an n-tier architecture for the modern
system. Components residing in the
first 4 tiers were implemented on a Sun Solaris server and those in the final
tier run on a Windows IIS server. The
existing EOSS system was transformed to the new design as follows:
- Original
VAX-Basic EOSS code was transformed into Java, preserving exact
functionality
- User
telnet sessions and terminal I/O were replaced by SSL web connections and html
pages
- The
VAX flat file database system was replaced by an Oracle relational database
accessed through a JDBC based API
-
Scheduled
automated processes on the VAX system were replaced by UNIX system “cron”
scheduled processes
- FTP
sessions to and from external sessions work the same way as before, using a Java
FTP library
(A) The
Data Tier was implemented in the form of a single Oracle 8i. The database was implemented using standard
data types and table formats so that it could be re-hosted to other database servers such as Oracle 9i or Microsoft SQL Server.
(B) The
Data Access Tier was implemented as the interface layer between the EOSS
business logic code and the Data Tier. It was written in Sun J2EE Java using JDBC. It would perform I/O operations on the ACDATA
database in place of the original VAX flat file operations.
(C) The
Business Logic Tier contained all EOSS Java code translated from
VAX-BASIC and any scripts designed to replace other functionalities. Processes, which were separate in the legacy
system, were grouped into a single Java application with logic invoked
separately. These processes are invoked
and managed by a master “broker”, enabling multiple simultaneous, multi-threaded
execution instances. This tier
interfaces with the Data Access Tier and the Presentation Tier through API’s
isolating the business logic from screen I/O and database implementation
details. All of this is written in
Java.
(D) The
Presentation Tier encompasses all functionality related to generating the
user interface. To accomplish this, a
“Screen API” was written in Java to setup and to manipulate screen I/O
data. Screen I/O and process
synchronization data are stored in another database in this tier. This database is different from the one in
the Data Tier, but resides on the same physical machine and Oracle server. This database provides inter-process
communication and synchronization between this tier and the Web Tier. Communication messages are stored as rows in
a table with columns representing data fields.
The Web and Presentation tiers maintain synchronization and data display
continuity through this mechanism.
(E) The
Web Tier is a IIS web server running VB Scripts and providing SSL
communication with end user browser sessions. It communicates with the
Presentation Tier using ADO.
Results: The J2EE modern EOSS system enhanced performance and eased
maintenance over the legacy VAX Basic system. Moreover the new system’s design provides significant scalability
benefits. While the modern EOSS system
was implemented on only two servers, the modular architecture supports further machine
distribution to meet future requirements. NETWARCOM analyzed the 5 year cost savings of TSRI's automated Legacy System Modernization (LSM). The results were a Cummulative Gross Productivity Savings of $953,000 and a 2.47:1 Return-on-Investment (ROI).
For NETWARCOM's Opportunity Analysis - CLICK HERE
For EOSS Architectural System's Design - CLICK HERE [ NOTE: IE5 or newer required ]
|