Options for sharable protocols
This topic lists the protocol options that are available when you code an EGL service binding or native service binding or when you deploy a web service to CICS® or IBM® i. In the case of deployment, you are specifying details for accessing a COBOL program from the web service.
The following protocols are supported for an EGL service binding:
- Local
- For a requester accessing a service in the same run unit
- CICSECI
- For a Java™ requester accessing a COBOL service through the CICS® Transaction Gateway (CTG) ECI interface
- CICSJ2C
- For a Java™ requester accessing a COBOL service through a J2C connector for the CICS® Transaction Gateway
- CICSSSL
- For a Java™ requester accessing a COBOL service through the Secure Socket Layer (SSL) features of CICS® Transaction Gateway (CTG)
- JAVA400
- For a Java™ requester accessing a COBOL service that is on IBM® i. In this case, the connection details are managed by the Java™ requester.
- JAVA400J2C
- For a Java™ requester accessing
a COBOL service that is on IBM® i.
This option is available only if the Java™ requester
is running under an application server that is fully compliant with Java™ EE, such as IBM® WebSphere® Application
Server rather than Apache Tomcat. When JAVA400J2C is in use, the connection
details such as security credentials are managed by the application
server. EGL-generated applications must not share J2C connectors with
non-EGL-generated applications.
JAVA400J2C does not support a stateful connection, but lets the user control the current library and library list used on the host.
- TCPIP
- For a Java™ requester accessing a Java™ service through the TCP/IP protocol
The following protocols are supported for a native service binding:
- SYSTEM-I LOCAL
- For a COBOL requester accessing a COBOL service that is on the same IBM® i machine. In this case, the service code is included in the EGL-generated code. You cannot change the binding detail at run time.
- JAVA400
- For a Java™ requester accessing a COBOL service that is on IBM® i. In this case, the connection details are managed by the Java™ requester.
- JAVA400J2C
- For a Java™ requester accessing
a COBOL service that is on IBM® i.
This option is available only if the Java™ requester
is running under an application server that is fully compliant with Java™ EE, such as WebSphere® Application Server rather than
Apache Tomcat. When JAVA400J2C is in use, the connection details such
as security credentials are managed by the application server. EGL-generated
applications must not share J2C connectors with non-EGL-generated
applications.
JAVA400J2C does not support a stateful invocation, but lets the user control the current library and library list used on the host.
Depending on the protocol, you specify attributes from the following
list:
- location
- The server and path on which the service is located, such as
myServer.myCompany.com/myService - password
- The password for the IBM® i system. Specify the user ID with the userID option.
- userID
- The user ID for the IBM® i system. If the connection type is JAVA400J2C, the security credentials are usually handled by the application server. If you specify user ID and password in the connection, the values that you specify are used.
- bindDir
- For a SYSTEM-I.LOCAL connection, a fully qualified binding directory such as LIBNAME/BIND_DIR_NAME, as used to access the service program
- conversionTable
- The name of the conversion table that converts data on a call to the service. Conversion is necessary when the code page that is used for encoding text on the service is different from the encoding that is used by the requester. For more information about conversion tables, see "Data conversion."
- currentLibrary
- For a JAVA400J2C connection, the name used to set the library on the host job. For example, *USRPRF.or *CRTDFT.
- ctgKeyStore
- The name of the keystore generated with the CICS® Transaction Gateway tool IKEYMAN
- ctgKeyStorePassword
- The password that is used when generating the keystore
- ctgLocation
- The URL for accessing the service through a CICS® Transaction Gateway (CTG) server. Specify the related port with the ctgPort option.
- ctgPort
- The port through which to access a service through a CICS® Transaction Gateway (CTG) server
- libraries
- For a JAVA400J2C
connection, a list of libraries, such that each entry is a library
name followed by a position value that defaults to * LAST (ensuring
that the entry is placed after any entries that have the alternative
position value, which is *FIRST).Here is an example value for libraries:
MYMQLIB,MYFILLIB,MYDBLIB *FIRST - library
- For a JAVA400 or SYSTEM-I.LOCAL connection, the name of the library in which the service is located on the IBM® i system.
- location
- For
a TCPIP connection, the TCPIP host name or address. For a JAVA400
connection, the server and path on which the service is located, such
as
myServer.myCompany.com/myService. For a JAVA400J2C, the JNDI name specified in the application server. For a CICSECI or CICSSSL connection, the CICS® system identifier. For a CICSJ2C connection, the JNDI name of the ConnectionFactory object that you establish for the CICS® transaction started by the call. - password
- The password for the IBM® i system. Specify the user ID with the userID option. The user ID for the IBM® i system. If the connection type is JAVA400J2C, the security credentials are usually handled by the application server. If you specify userID and password in the connection, the values you specify are used in place of any others.
- serverID
- For a TCPIP connection, the port number of the listener of the service. For a CICSJ2C, CICSSSL, or CICSECI connection, the ID of a CICS® transaction being called. The default is the CICS® server system mirror transaction (CPMI).
- transaction
- The name of the transaction you create as a copy of the CPIH transaction with an increased Transaction Work Area size, as explained in Special considerations for generating EGL or SOAP services for z/OS® CICS®.
- userID
- The user ID for the system
- On IBM® i, if the connection type is JAVA400J2C, the security credentials are usually handled by the application server. If you specify userID and password in the connection, the values you specify are used in place of any others.
- On CICS®, specify this value if you want to run the transaction as a specific user.