The AS/400 Toolbox for Java is a library of Java classes built for accessing AS/400 data and resources. It isn’t a standalone application, rather a set of APIs that give your Java program access to AS/400 data. The Toolbox is 100% Pure Java, so it runs on any workstation with a 1.1 or later Java Virtual Machine (JVM), which lets you use the Toolbox to develop Java applications that run on any system. However, the target system for your Java application must be an AS/400 because the Toolbox’s APIs are designed to work with AS/400 resources. For example, the database APIs retrieve data from DB2/400 and won’t work with any other database.
When running on a client workstation, the Toolbox supports the client/server programming model. The Toolbox runs on the client connecting to the AS/400 via a TCP/IP network. The Toolbox uses the AS/400 servers as its access point to the AS/400. These are the same servers Client Access/400 uses, but because the Toolbox uses communications technology built into Java and the workstation, CA/400 isn’t needed. The Toolbox uses existing servers on the AS/400, so Java isn’t needed on the AS/400. The Toolbox is supported when connecting to V3R2, V4R1, and later versions of OS/400. (Modification 1 of the Toolbox, released with V4R3 of OS/400, doesn’t officially support connections to an AS/400 running V3R7 using the Toolbox.)
Starting with V4R2, the AS/400 has a JVM, which makes it possible to write Java programs that run on the AS/400. AS/400 Java programs, like the client programs that target the AS/400, can use Toolbox components to access AS/400 resources. For example, instead of using Java Native Interface (JNI) to call an AS/400 program, you can use the program call component of the Toolbox to call the program. Coding to the Toolbox component is much easier than using JNI. The same Toolbox classes are used whether the Java program runs on the client or on the AS/400, which improves programmer productivity because there is only one API set to learn, no matter where the Java program is running.