The
remoteComType property of the
callLink element
of the linkage options part specifies the communication protocol that
is used in the following case:
- The value of the type property is remoteCall or ejbCall;
and
- You are generating a Java™ program
or wrapper:
- If you are generating a Java program,
the pgmName property refers to a program
that is called by the program that is being generated.
- If you are generating a Java wrapper, pgmName refers
to a program that is called by way of the Java wrapper.
The
remoteComType property affects
the generation of the calling program.
Select one of the following values.
- CICSECI
- Specifies the use of the CICS® Transaction
Gateway (CTG) ECI interface, as is needed when you debug or run non-J2EE
code that accesses CICS.
CTG Java classes are used to implement
this protocol. To provide access to these classes, ensure that the
CLASSPATH for the EGL client includes the file ctgclient.jar, which
is provided by the CICS Transaction
Gateway product.
To specify the URL and port for a CTG server,
assign values to the ctgLocation and ctgPort properties
of the callLink element. If you set the remoteComType property
to this value, make sure that the location property
is set to system name and that the value
is a CICS system identifier.
To
provide a userid and password for connecting to the CICS host machine, follow the directions in
“Providing a userid and password for remote calls.”
- CICSEXCI
- Specifies the use of the EXCI interface to call a program in a CICS region from the ZOSBATCH system.
The type must be remoteCall;
use COMMDATA to pass parameters.
- CICSJ2C
- Specifies use of a J2C connector that is defined to the application
server, for communication with CICS.
If you set the remoteComType property to
this value, set the location property to
the JNDI name associated with the J2C Connection Factory object that
you create in the application server for the desired CICS connection.
To provide a userid and password for connecting to the CICS host machine, follow the directions
in “Providing a userid and password for remote calls.”
- CICSSSL
- Specifies the use of the Secure Socket Layer (SSL) features of CICS Transaction Gateway (CTG).
The JSSE implementation of SSL is supported.
CTG Java classes are used to implement this protocol.
To specify additional information for a CTG server, assign values
to the following
callLink element properties:
- ctgKeyStore
- ctgKeyStorePassword
- ctgLocation
- ctgPort, which in this case is the TCP/IP
port on which a CTG JSSE listener is listening for requests. If ctgPort is
not specified, the CTG default port of 8050 is used.
If you set the remoteComType property
to this value, make sure that the location property
is set to system name and that the value
is a CICS system identifier.
- DEBUG
- Causes the called program to run in the EGL debugger, even when
the calling program is running in a Java runtime
or EGL debug environment. You might use this setting in one of the
following cases:
- You are running a Java program
that uses an EGL Java wrapper
to call a program written with EGL.
- You are running a generated program written in EGL that calls
a program also written with EGL.
The preceding situation can occur outside the WebSphere® Application Server,
but can also occur within that environment, as when a JSP invokes
a program written with EGL. The effect is to debug the EGL source,
not a generated program.
If you are using the WebSphere Application Server,
the caller and called programs must both be running there; the call
cannot be from a remote system.
When you use DEBUG, you set
the following properties in the same
callLink element:
- library, which names the project that
contains the called program
- package, which identifies the package
that contains the called program. You do not need to set this property
if the caller and called programs are in the same package
If the caller is not running in the EGL debugger and is
not running in the
WebSphere Application Server,
you must set these properties of the
callLink element:
- serverId, which should specify the port
number for the listener, if it is not 8346
- location, which must contain the host
name of the system where the Eclipse workbench is running
- DIRECT
- Specifies that the called program runs in the same run unit as
the calling program or wrapper.
If
the generated Java code is calling
a non-EGL dynamic link library (DLL) or a C or C++ program, the best
practice is to use the remoteComType value
DISTINCT.
- DISTINCT
- Specifies that a new run unit is started when calling a program
locally. The call is still considered to be remote because EGL middleware
is involved.
You can use this value for an EGL Java program that calls a dynamic link library
(DLL) or a C or C++ program. If you set the
remoteComType property
to this value, the following properties should have the values shown:
- library
- The name of the DLL or program
- location
- The name of the library that contains the DLL or program (IBM® i only)
- IMSJ2C
- In a J2EE environment, specifies the use of an IMS™ J2C connector.
- IMSTCP
- Specifies the use of the TCP/IP connector from IMS Connect. Select this option if you are running
non-J2EE code that accesses IMS.
Note: IMS Connect must be installed on
the host system where the IMS program
resides. On the client system, the following set of IMS Connector for Java jar
files must be in the class path when the calling program is started:
- ccf2.jar
- connector.jar
- imsico.jar
- JAVA400
- Specifies the use of the IBM Toolbox
for Java to communicate between
a Java program or wrapper and
a COBOL program that was generated (by EGL or VisualAge® Generator) for IBM i. If you set the remoteComType property
to this value, make sure that the location property
is set to system name and that the value
is the IBM i system identifier.
- To provide a userid and password for connecting to the host machine,
follow the directions in “Providing a userid and password for remote
calls.”
- JAVA400J2C
- Specifies use of a J2C connector, as is possible only if the Java code runs on a fully JEE-compliant
application server; for example, on WebSphere Application Server, but not on
Apache Tomcat. EGL-generated applications should not share J2C connectors
with non-EGL-generated applications. If you set the remoteComType property
to this value, the location property should
be set to the JNDI name specified in the application server.
To
provide a userid and password for connecting to the host machine,
follow the directions in “Providing a userid and password for remote
calls.”
- STOREDPROCEDURE
- Used to access a called program on the host by means of the current
database connection, using the JDBC API to connect to DB2® on the host. Specify this value for remoteComType for call statements
in either of the following situations:
- When using the EGL debugger to debug applications that have DL/I
access. In this case, the EZESP1 stored procedure must be installed
and configured on the host. For additional details, see “Using the
EGL debugger to debug IMS, ZOSBATCH,
and DL/I with the stored procedure linkage.”
- When using the EGL debugger or a Java application
to call z/OS® batch programs.
For additional details, see “Using stored procedure linkage to call z/OS batch from Java.”
The following
callLink element properties
are valid when the
remoteComType is STOREDPROCEDURE:
- name
- alias
- conversionTable
- storedProcedure
The
storedProcedure property
contains the name of the stored procedure on the host in the following
form:
[[location.]schema.]sqlID
- location
- An optional database management system where the procedure is
stored. Defaults to the current connection.
- schema
- An optional schema name for the procedure. You must specify schema if
you specify location. For the default value,
see your DB2 documentation.
- sqlID
- An SQL identifier for the procedure.
If the storedProcedure property
is blank, sqlID defaults to EZESP1. schema is
set to the value of the sqlSchema property.
- TCPIP
- Specifies that the EGL middleware uses TCP/IP. If you set the remoteComType property
to this value, make sure that the location property
is set to system name and that the value
is the TCP/IP host name or address.