Information Technology Reference
In-Depth Information
Java applications will not run on that system. Currently many popular systems have
a Java platform, but in the future this may or may not be the case.
Porting Java to a new platform implies a significant amount of effort but also
some quality issues. SUN make most of the source for Java publically available
(some parts of the implementation include propriety code), but one cannot simply
port it to a new system and call it Java. Java is a brand name and to call a port Java
it has to pass a fixed number of tests (Java Compatibility Kit - JCK), these tests are
available from SUN [ 102 ] and ensure that the port will enable any Java application
to run without problems. Using Java as a means of providing an abstract computer
model for preserving software inevitably means that any future implementation or
port has to pass the test given by SUN to ensure that the applications being preserved
will run correctly. The tests are not free to use (only to view) and a license to use
them is currently about $50K (2004), however a specific license [ 103 ] allows one
to run the JCK in the OpenJDK [ 104 ] context, that is for any GPL implementation
deriving substantially from OpenJDK.
7.9.5.7 Common Language Infrastructure (CLI) and Mono/.Net
The CLI [ 105 ] is a similar technology to Java in that it includes a VM that runs
a set of bytecodes rather that the hardware system's native instructions. The VM
dynamically compiles the bytecodes to the hardware system's native instructions.
The CLI is an ISO standard developed by Microsoft and others and forms part of
the .NET infrastructure on which newer Windows software is built (although .NET
contains more components than just the CLI). One of the most significant aspects
of the CLI is that it provides an interface (Common Language Interface) so that it
simplifies the process of interfacing programming languages. In fact many program-
ming languages have been interfaced to the CLI such as C#, Visual Basic .NET, C++
(managed) amongst others [ 106 ]. Having many languages that can be compiled to
the CLI bytecode opens up the possibility of porting existing software to the CLI
with reduced effort and cost. As this ported software would be running under a stan-
dardized system (the CLI) then we have the relevant documentation to re-implement
such a system in the future if required, or if an implementation exists, a computer
preservation environment for all software that has been ported to the CLI.
Mono [ 107 ] is an open source implementation of the CLI, so it has already been
proven that the CLI can be re-implemented successfully. The full source of an imple-
mentation is available so that it can be kept and freely ported to new systems in the
future.
7.10 Summary
This chapter should have given the reader an appreciation of the types of
Representation Information may be necessary, from the “bits” up.
For those used to dealing with data at least some of this will be familiar.
Search WWH ::




Custom Search