Beyond The Black Box
The Software Engineering Institute at Carnegie Mellon, also known as SEI, took on a project to convert the Netscape Database Keystore (NDBS) 1.0, which was partially written in C code, to 100% Java. “NDBS 2.0 was developed at Carnegie Mellon University as a Studio project for the Master in Software Engineering Program” (SEI). NDBS 1.0 was mostly written in Java, but the inclusion of C code created some limitations to the existing and potential functionality. The conversion to 100% Java was not as smooth as the programmers initially hoped for, but they were vigilant in their efforts.
NDBS 1.0 had success because it could read protected and unprotected Netscape database files. It did have some limitations like not being able to write or update the database files, delete key materials or certificates, and does not have an automated installation process. Also, it only operates on Netscape databases, and it “is only proven to operate on Solaris platforms and Microsoft Windows platforms under the Intel architecture. The reason for this is that NDBS 1.0 is partly written in C and therefore is platform dependent” (Huy, Lewis, & Liu, 2001). This platform shortcoming can limit the number of systems that NDBS can work on. This means that it cannot be used on Apple systems, as well as any Windows machine with a different architecture like an AMD architecture, for example. Some of these limitations can really deter users from utilizing this tool for their databases.
SEI acknowledged the shortcomings of NDBS 1.0, and they took on the task of extending the functionality and extensibility of the program. Once the development team discovered the existence of embedded C code within the program, they realized the reason for one big limitation. C code is the very reason that this program can only work on certain platforms. Java is a cross-platform programming language that only requires the Java Runtime Environment, or JRE. Considering that the...