LegacyJ CICS and COBOL technology for the J2EE Enterprise Environment

Products     Services     Support     Sales     News     Partners

  

Academic
Programs

Customer
Information

News &
Information

Technical
Information

White
Papers

About Us

ISAMJ

Description
Documentation
Fact Sheet

LegacyJ ISAMJ connects Java technology with the ISAM interface. ISAM is defined for native code (primarily in C); a bridge is necessary to connect Java to the native code.

ISAM connectivity is provided through JNI (Java Native Interface), permitting Java code to access ISAM as if it were just another Java API. Original native code ISAM will execute and access ISAM data through ISAMJ technology.

ISAMJ is distributed in two parts: the Java component and the JNI native component. The Java component is common regardless of platform. The Java interfaces and Java classes are accessed on any supported platform.

ISAMJ Java

ISAMJ is an interfacing product, with interfaces between a Java program and any dynamically loadable C-ISAM compliant library (D-ISAM or ObjecTrieve). It does no ISAM functionality itself, but rather dispatches the calls to a native code plug-in following C-ISAM conventions. All the standard C-ISAM functions are available as methods in Java; the JNI handling is done by ISAMJ. The important point is that the C-ISAM library must be dynamically loaded, not statically linked; that is, a .dll, .so or .sa is acceptable for native code, not an .obj or .o file.

The ISAMJ Java side has two interface layers, a low-level and a high-level interface. The low-level interface closely matches the original ISAM specification, including functions such as isaddindex and iserase. The high-level interface more closely resembles existing Java API's, encapsulating the ISAM function in a more object-oriented framework; classes such as ISAMFile extends File and ISAMRecord which may be extended by user record classes.

The low-level functionality is encompassed within the ISAM and ISAMConstants classes.

The high-level functionality is encompassed within the ISAMFile, ISAMRecord, ISAMKey, ISAMAudHead, ISAMDictInfo and ISAMConstants classes.

ISAMJ Native

The ISAMJ native component implements a JNI interface used by the Java and accesses a native code shared library which implements the ISAM functionality. Java native code must be in shared library/shared object form (.DLL in Windows). The ISAMJ native component accesses this shared library, passing requests and data from Java to the native ISAM driver.

ISAMJ Deliverables

ISAMJ includes the high- and low-level functionality .class files (Java executables). ISAMJ also includes the native isamj.dll or libisamj.so connector components. This connector component is unique to each platform, currently available for Windows and Solaris; other platforms are available upon request.

ISAMJ Dependencies

ISAMJ does not include ISAM functionality itself; this must be provided by a third party (such as Byte Designs D-ISAM). File created and accessed using ISAMJ may be created and accessed using Java programs, while the data is in the original binary datafile format. The native ISAM drivers tested include D-ISAM and ObjecTrieve; of these two, only D-ISAM provides variable length as well as fixed length functionality.

ISAMJ includes the JavaDoc documentation of the classes, the format most used for Java class documentation and is in a format familiar to Java programmers.

ISAMJ is available for Linux, Windows, AIX, Solaris and on other operating platforms by request.

ISAMJ README

Works with DISAM from ByteDesign and C-ISAM from IBM.

ISAMJ list price is $500.00 US$ per CPU

 
Email:  sales@legacyj.com

 

 

Home         About Us         Privacy        Legal        
© Copyright LegacyJ Corp. 1998, 2006
All Rights Reserved.

All trademarks are the properties of their respective owners or licensers.