REVIEWER: John Edwards, lead engineer for SSG/ILI.
BACKGROUND: HQ SSG Systems provides and supports
secure combat information systems and networks for the Air Force and
Department of Defense components, including Gunter Air Force Base.
Gunter Air Force Base is a major subordinate of Air Education and
Training Command and the center of USAF Professional Military
Education. Its focus is on distance learning, financial management
tracking appropriations and budgets, and managing the purchase of
$60M+/year of hardware, software and IT services. HQ SSG Systems at
Gunter Air Force Base determined a need to move from Oracle 6i to
Java. We wanted a solution that was both cost-effective and fast,
with as little impact on business operations as possible.
Furthermore, it was important that our applications maintain the
same look and feel in the new environment.
PROBLEM SOLVED: HQ SSG Systems approached
CipherSoft Inc. with a list of migration requirements. CipherSoft's
automated migration tool, Exodus, offered a simple and
cost-effective way to convert our existing Oracle 6i code to Java,
without losing a lot of the functionality. We agreed to complete a
proof of concept (POC) with CipherSoft, to evaluate how well Exodus
would perform given the complexity of our Forms. We used the Cargo
Movement Operations System (CMOS) for the pilot project, asking
CipherSoft to convert five Oracle Forms to Java.
PRODUCT FUNCTIONALITY: Exodus is a tool that
automates the conversion process, from Oracle Forms and PL/SQL into
an N-tier Java/XML-based environment, and allows database
connectivity via JDBC. Exodus consists of two components: the first
supports the conversion process and the second, the runtime
environment. The first component is a client/server application that
runs on the developer machine and has multiple options/steps for
conversion. The conversion process is dependent upon two main
elements: the design of the classes that incorporate the PL/SQL
functionality and the classes that make up the session beans.
The second component, which supports the runtime environment,
allows the front end to run as a Java application or an applet.
Alternatively, the front-end software can link to the middle-tier
server software and run as a servlet, which then renders the screen
as HTML in a browser.
STRENGTHS: Based on the complexity of our Forms,
we were concerned that the resulting amount of converted code would
be unsuitable. However, CipherSoft put our fears to rest by
demonstrating, through a series of trial conversion runs, the full
capacity of Exodus. With the extensive use of XML, CipherSoft was
able to automatically convert a high percentage of the code. For the
remainder of the code that was not converted, CipherSoft was able to
quickly integrate the code with a few minor fixes. For example,
CipherSoft was able to identify code, such as show_lov, in CMOS that
was not transitioned because it did not have the necessary
parameters. Overall, the results were commendable - a huge time
saver. Moreover, because the XML file carries the look and feel
definitions of the legacy application, we can easily update and
change the appearance and functionality of the application in the
future.
WEAKNESSES: For the most part, we were happy
with the results. However, there were some minor weaknesses noted.
For example, Exodus can optionally keep the Forms standard of
absolute positioning; but, when using stacked canvases or table
canvases, dynamic screen layouts cannot be used. (This is because
Java and HTML work by placing objects within objects, rather than
using absolute positioning.) Each arithmetic calculation throws a
null pointer exception, which means that the code is going to have a
lot of TRY, CATCH for each arithmetic statement. And, the NVL
function needs appropriate object type casting in Java.
SELECTION CRITERIA: As a result of the
conversion testing that was done, we estimate an average time for
each Form converted using Exodus would be half a day to a day. The
average development time for 300 forms would be around 200 business
days. This development time includes unit testing and deployment. As
a result, the cost and time saved, when compared to manual
conversion, would be significant.
VENDOR SUPPORT: CipherSoft was very eager to
make sure that all of our questions were answered and were quite
flexible with regards to customizing solutions to suit our unique
needs. Staff members were easy to reach and very knowledgeable; they
were able to problem solve and reach agreeable solutions
quickly.
DOCUMENTATION: Currently CipherSoft has a
product manual, which is fairly technical. CipherSoft has also
defined a training material.