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