哪个是连接大型机和 java 的成熟解决方案? MQ 系列/IBM CICS 事务网关哪个最好?

Posted

技术标签:

【中文标题】哪个是连接大型机和 java 的成熟解决方案? MQ 系列/IBM CICS 事务网关哪个最好?【英文标题】:which is proven solution to connect mainframe and java ? which is best in MQ series / IBM CICS Transaction Gateway? 【发布时间】:2011-03-04 08:59:20 【问题描述】:

哪个是连接大型机和java的行之有效的解决方案? WebSphere MQ / IBM CICS Transaction Gateway 哪个最好?

连接到 java 和大型机 COBOL 的最佳解决方案是什么?

【问题讨论】:

【参考方案1】:

假设“Java”是指“Java 不在大型机上运行”,有多种方法可以做到这一点。

    CICS Web 服务 (SOAP) CICS Web 支持 (REST/POX) 具有触发队列的 MQSeries

“最好”在旁观者的眼中,这取决于你想要什么。这些都不是新的,该功能已经可用好几年了。

对于选项 1,CICS Web 服务助手将从 COBOL 现有语言结构生成 WSDL。如果您决定不喜欢它生成的内容,您可以编写自己的 WSDL 并从中生成 COBOL 语言结构。 Java 程序将使用您最喜欢的 SOAP(或 MQ)基础架构与 CICS/COBOL 程序进行通信。

对于选项 2,您的 CICS/COBOL 程序必须编码为“Web 感知”。 CICS/COBOL 程序必须使用 WEB EXTRACT、WEB RECEIVE 和 WEB SEND API 来与 Java 程序通信。 Java 程序将使用 HTTP(S) GET/POST 处理向 CICS/COBOL 程序发送/接收消息。

对于选项 3,您的 CICS/COBOL 程序必须编码为使用 MQGET 和 MQPUT 来接收和发送消息到 Java 程序。您希望使用回退队列名称和回退阈值定义队列,并根据回退计数值检查后者。如果阈值大于计数,您希望将消息移动到回退队列而不尝试在 CICS/COBOL 程序中处理它(这是一条有害消息)。 java 程序将使用 JMS 或任何您喜欢的消息传递包装程序包与 CICS/COBOL 程序进行通信。

【讨论】:

【参考方案2】:

从顶部看,您可以连接到 CICS

通过使用 CICS 事务网关 (CTG)。有 ibm jar 文件可以将您连接到 CICS 通过使用 IPIC 连接 (http://jeethoughts.wordpress.com/2010/06/04/calling-cics-without-a-ctg-using-the-resource-adapter/) 直接连接到 CICS

【讨论】:

【参考方案3】:

对于以后的搜索,您可以使用:

https://github.com/naskarlab/java-mainframe-tools

您创建一个 COMMAREA 以仅使用带有 PICTURE 注释的 POJO 来调用 CICS 程序。

public class Data 
 
    @PIC9(8)
    private Long id;
 
    @PIC9(5)
    private Integer code1;
 
    @PIC9(9)
    private Integer code2;

    ...




Configuration config = new Configuration("tcp://host", 35500, "CICS1", "CICS1", "CICS1"); // CTG Connection
CommArea comm = new CommArea();

Cics cics = new Cics(config, "PRG1", "PROG1"); // CICS transaction or program name
Data data = new Data(); // your POJO

byte[] commArea = comm.to(data); // transforms POJO to comm area
cics.runECIRequest(commArea);
comm.from(commArea, data); // injects the values from comm area to POJO

【讨论】:

以上是关于哪个是连接大型机和 java 的成熟解决方案? MQ 系列/IBM CICS 事务网关哪个最好?的主要内容,如果未能解决你的问题,请参考以下文章

Java哪个版本用的最多,看完必懂

go语言和java学哪个比较好?

数据库连接池的Java连接池

java web开发缓存方案,ehcache和redis哪个更好

sqlyog和heidisql哪个好用

动力节点和咕泡学院的java架构师培训哪个好?