Host Access Class Library for Java

Host Access Class Library for Java


Building Host Access Class Library Applets

This section describes how to build a Java applet that uses the Host Access Class Library (HACL). Also described in this section are the requirements for preparing and compiling the source code.

Source Code Preparation

Programs that use HACL classes must import the appropriate HACL packages to obtain class definitions and other compile-time information. The HACL packages can be imported into a Java source file using the following statements:

import com.ibm.eNetwork.ECL.*;    // Base HACL classes

To import the HACL listener interfaces and event classes (only needed when using HACL events):

import com.ibm.eNetwork.ECL.event.*;   // HACL event classes

To import the advanced HACL screen recognition classes (only needed when using the HACL screen recognition classes):

import com.ibm.eNetwork.ECL.screenreco.*;   // Advanced HACL screen recognition classes
import com.ibm.eNetwork.ECL.screenreco.event.*; // Advanced HACL screen recognition event classes

JAR file, CAB file, and Classpath Considerations

HACL files are located in the install_dir\toolkit\jars directory, where install_dir is the directory where you installed the Host Access Toolkit files (for example, C:\Program Files\IBM\Host Access Toolkit\toolkit\jars). The Java 2 environment is supported.  JAR files for the Java 2 environment are located in the following directories: 

where install_dir is the directory into which the Toolkit files are installed.

The following files contain full HACL support (except for a few noted exceptions):

These files are suitable for Bean Builder environments and for writing Java applications. However, since they are not signed, they are not suitable for downloading over the web through a web browser.

For downloading HACL applets, the HACL support has been divided into several smaller signed component archive files. JAR files for Appletviewer environments and Microsoft Internet Explorer environments are provided. Since download delays are important in web browser environments, the component archive files will allow users to specify only those components which will actually be used and will avoid costly delays of downloading support that will never be used.

To further optimize download times, release versions of the components are also provided. The release versions of the components have the trace code removed which means they will be smaller and download faster than their debug counterparts. Most users will predominantly use the release versions of the components for web environments and only use the debug versions when problem determination is required. For Java application environments, users can use either release or debug components (or even the habeans.jar file) since download times are not a factor.

Most components have debug and release versions, stored in subdirectories of the same name. However, some components, such as host code pages, only have a release version. Except for the host code page archives, you cannot mix some release versions and some debug versions. If problem determination is needed, or you are using debug components since download times are not important, you must use all debug components.

The table shown below shows all the different components, their release and debug names, and the components that they depend on.

Note: Except for hafntib, hafntap, hafnthe, hafntar, and the host code pages, the Java 2 versions of these components have a "2" on the end of the JAR file name (for example, habase2 and habasen2).

Function

Release Name

Debug Name

Dependency (Release Name)

Support Included in habeans.jar

Base function

habasen

habase

-

Yes

Printer base

haprintn

haprint

-

Yes

3270 terminal support

ha3270n

ha3270

-

Yes

3270 Bidi terminal support

ha3270bn

ha3270b

ha3270n, habidin

Yes

3270 Thai terminal support

ha3270tn

ha3270t

ha3270n, hathain

Yes

3270 host print support

ha3270pn

ha3270p

ha3270n

Yes

3270 printer support

hapd3270n

hapd3270

ha3270n

Yes

3270 host graphics support

hahostgn

hahostg

ha3270n

No

5250 terminal support

ha5250n

ha5250

-

Yes

5250 Bidi terminal support

ha5250bn

ha5250b

ha5250n, habidin

Yes

5250 Thai terminal support

ha5250tn

ha5250t

ha5250n, hathain

Yes

5250 Hindi terminal support

ha5250hn

ha5250h

ha5250n, hahindin

Yes

5250 ENPTUI support

ha5250en

ha5250e

ha5250n

Yes

5250 host print support

ha5250pn

ha5250p

ha5250n

Yes

CICS terminal support

hacicsn

hacics

ha3270n

Yes

VT terminal support

havtn

havt

haprint

Yes

VT Bidi terminal support

havtbn

havtb

havtn, habidin

Yes

VT Thai terminal support

havtthn

havtt

havtn, hathain

Yes

Thai support

hathain

hathai

-

Yes

Hindi support

hahindin

hahindi

-

Yes

Double byte (DBCS) support

hadbcsn

hadbcs

-

Yes

Secure Sockets Layer (SSL) support

hassln

hassl

-

Yes

Secure Sockets Layer Lite (SSL Lite)

-

hasslite

-

No

SSL Client Authentication

hacltaun

hacltau

hassl

No

SSH (Secure Shell) support. Java 2 required.

hasshn

hassh

-

Yes

Service Location Protocol (SLP) support

haslpn

haslp

-

No

Macro Runtime Support

hamacrtn

hamacrt

-

Yes

Color Remap Bean

hacolorn

hacolor

-

Yes

KeyRemap Bean

hakeympn

hakeymp

-

Yes

KeyPad Bean

hakeypdn

hakeypd

-

Yes

MacroManager Bean

hamacuin

hamacui

hamacrt

Yes

File Transfer support

haxfern

haxfer

hamacrtn

Yes

3270 File Transfer support and 3270 Data Transfer support

ha3270xn

ha3270x

ha3270n, haxfern, hamacrtn

Yes

5250 File Transfer support and 5250 Data Transfer support

ha5250xn

ha5250x

ha5250n, haxfern, hamacrtn

No

IBM Trace Facility support

-

hatrace

-

No

License Use Management

halumn

halum

-

No

APL fonts

(habeansnlv)

hafntap

-

No

IBM3270 fonts

(habeansnlv)

hafntib

-

No

Arabic fonts

(habeansnlv)

hafntar

-

No

Hebrew fonts

(habeansnlv)

hafnthe

-

No

Thai fonts

(habeansnlv)

hafntth

-

No

 The following table shows the component names for the host code pages:

Host Code Pages

Name

Base

hacp

Arabic

hacpar

Latin1a (de, es, fr, it, pt)

hacp1a

Latin1b (other locales)

hacp1b

Russian

hacpru

Turkish

hacptr

Latin2 (Central Eurpoean)

hacp2

Japanese

hacpja

Korean

hacpko

Chinese

hacpzh

Chinese (Traditional)

hacpzhtw

Hebrew

hacphe

Thai

hacpth

Greek

hacpgr

Hindi

hacphi

All applications will use the habase (or habeans) and hacp archive files since those contain the core HACL files and core codepage files, respectively.

To successfully compile and run your application, the CLASSPATH environment variable must be updated to include the JAR files needed by your application. For example, if you need 5250 file transfer, you would need to include ha5250xn.jar, ha5250n, haxfern.jar, and hamacrtn.jar in your CLASSPATH. You can also set the classpath using the Java compiler's -classpath parameter when compiling your application.

To find the HACL classes in the JAR file, the classpath variable (or -classpath parameter) must point directly to the JAR files. For example, if your Java 2 application uses 3270 and SSL functions, and the jar files are located in the c:\jars directory, the classpath should look like this:

CLASSPATH=c:\jars\habasen.jar;c:\jars\hacp.jar;c:\jars\ha3270n.jar;
          c:\jars\hassln.jar

Executing

When an applet that uses HACL is run in a browser environment, the browser must be able to find the HACL classes. Most browsers will search for Java classes relative to the location specified by the 'codebase' tag in the <applet> tag or, if no codebase is specified, relative to the HTML document itself. See your browser documentation for more information on how to expose classes in the browser environment.

Alternatively, the jar file can be specified directly in the HTML document using the <archive> tag in the <applet> tag. For example:

<APPLET archive="habasen.jar" CODE="MyClass.class" WIDTH=400 HEIGHT=300></APPLET>

When running your program as an application, you need to make sure the CLASSPATH environment variable contains the fully qualified pathname of the HACL jar(s).


[ Top of Page | Previous Page | Next Page | Table of Contents]