Recommended connection for Gen C client to Java EJB server
search cancel

Recommended connection for Gen C client to Java EJB server

book

Article ID: 271922

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed

Issue/Introduction

What is the currently recommended option to connect a Gen C client to a Gen Java EJB server?
Are Converter Services options CFB Server and C to Java RMI Coopflow still applicable?

Resolution

Historically the Converter Services options CFB Server and C to Java RMI Coopflow to connect a C client to a Java EJB server were created because a direct connection using Java RMI is not possible.
However, the current recommended approach would be to use the Web Services Coopflow option, rather than either of those Converter Services.
See Gen 8.6 doc. page Working With Enterprise JavaBeans > EJB Server Generation and section "MFC GUI Clients, C and COM Proxy Clients".

The Web Services Coopflow has less overhead, so it usually performs better.
Also, the CFB Server could become a bottleneck in a high-volume transaction environment and might require having multiple CFB Servers configured to handle the load (and some kind of load balancer in front of them). 
 
In Gen's long history, Converter Services were the original offering, but later the Web Services Coopflow was added for a better experience. The Gen Converter Services are only now kept for those who had already adopted it, but with the expectation that everyone would move to the Web Services Coopflow eventually. 
 
Using the Web Services Coopflow, requires generating EJBs using the TP Monitor option "EJB Web Services" and configure the client side commcfg.ini file to use the Web Services Coopflow, as shown below:
 
# For Web Services the format is:
#           <TRANCODE> WS <baseURL> <contextType>
#                     baseURL: Scheme, Domain and Port of a Web Service end point URL
#                          ex: http://<hostname>:<port>
#                     contextType: part of the path of a Gen Web Service end point URL
#                          'P' to use ProcedureStep Name (with WebLogic)
#                          'W' to use with WildFly
#                          'J' to use with JBoss EAP
#                          'L' to use LoadModule Name (everywhere else)

Additional Information

NOTES:
1. The CFB Server is only supported for WebLogic and WebSphere and is not supported for WildFly or JBoss EAP.
See Gen 8.6 doc. references (search for string "CFB Server"):
Release Notes > Gen 8.6 GA Complete (8.6.2)
Working with Build Tool > EAR File Assembling
As of June 30, 2020 Gen has also officially stopped supporting WildFly but previous changes to enable WildFly support are still present in the product  - see WildFly references on the main Gen™ 8.6 > Technical Requirements page.

2. The C to Java RMI Coopflow was enhanced when Wildfly and JBoss EAP support was added so they are supported for it along with WebLogic and WebSphere.

3. Related Gen EDGE Community page: We want to better understand the other TP Monitor options : EJB Web Services, INTERNET, Web View