|
There are three versions of the Files APIs - COM, Java Native and Java Pure. Each one
contains the same interfaces to read and parse the EXP/DAT/CEL/CHP/CDF files but they
differ with respect to its ability to communicate with a GCOS Server.
One of the features of the GCOS Server is the "file security" feature. This feature provides
access controls to the data files and information stored in the GCOS database based on user defined
roles and permissions. When this feature is enabled on the GCOS Server the software
removes both the Windows file and directory permissions so as to disable access to the data files.
Access to a file is only granted if sufficient privileges are set for the user. Checking for
sufficient access rights and requesting access to a data file is performed using the GCOS Server
security interfaces (provided by the GCOS SDK). Since the GCOS Server software is built targeting
a Windows Server system and its interfaces are using the COM technology, which is limited to the
Windows platform, access requests are limited to interfaces that support COM. This
means that only the COM and Java Native versions of the Files APIs will communicate to a GCOS Server
system to request access to a data file. The pure Java version will not be able to read those
data files managed by a GCOS Server system with file security enabled.
The COM version of the Files API is written in VC++ and will perform the fastest and most efficient file reads.
Newer versions of the APIs use Windows memory mapping techniques which result in extremely fast data access.
This version will communicate with the GCOS Server and verify appropriate access rights to the data
files. If access is not granted the API will not read the data file and return an error indicating insufficient rights.
This version
can be utilized by programming languages that support COM. Among those are VC++, VB, ASP, Python, C# and ActivePerl.
The native Java version of the Files API uses Java's Java Native Interface (JNI) technology. This is a technology
that enables Java methods to be written as native C function calls. The native C functions in turn call the COM interfaces.
Using this version of the API you are limited to Java applications running on a Windows platform only. Since
this version is a wrapper to the COM version features of the COM version such as file access and security checking are
also provided. The limitation of using this version is the overhead of JNI. The other limitation is that only one file
of each type (e.g. one CHP file) may be opened at one time. If you require data from multiple files, you must open one
at a time and cache the results in your own buffer.
The pure Java version is written entirely in Java with no Windows dependencies. Use this version if you are
developing on a non-Windows platform such as UNIX or Linux. This version, as discussed above, does not communicate
with the GCOS Server system so it will be unable to read files managed by a GCOS Server where the file security feature is enabled.
You must export the data files from the GCOS Server system in order to access them with this
version of the APIs. When using this version we suggest using the -Xmx Java option to specify a large heap size. We
use -Xmx128000000 is our testing. You may need to specify a higher value depending on the density of the array (file) you are accessing.
|