现在有一个新的要求。我手头上有一些临时工作。要求是连接一个基于桌面的Java应用程序,以从某些CICS Transaction生成的Mainframe中读取数据。 [基本上,我必须读取所有附加到文件中的记录(与在Linux中执行tail-f filename的方式相同)。仅供参考,我的要求有所不同。]

我询问并得知我的雇主无法向我提供MQ或CICS交易网关访问权限。他提出了一些刮擦屏幕的方法。我已经使用VB.Net应用程序和Quick3270以及IBM Communicator Emulators完成了该操作。这两个仿真器均提供可用于读取屏幕上任何内容的功能。

如果您有兴趣学习,可以参考EHILLAPI编程详细信息(用于仿真器编程的语言)-http://publib.boulder.ibm.com/infocenter/pcomhelp/v5r9/index.jsp?topic=/com.ibm.pcomm.doc/books/html/emulator_programming07.htm

但是这种方法将我限制在屏幕上可以出现的最大字节数内。使用这种方法会产生很大的网络延迟,因为我每次必须刷新(基本上在CICS上从一页移动到另一页)才能获得跨越多个页面的数据。

您能建议我一些方法吗,以便我的雇主无需要求客户打开其大型机上的任何端口或安装任何软件(因为这对我的雇主而言是不可能的)。

我可以使用3270终端仿真并检索所有(或至少更多数据)。这样,我的雇主的要求得到满足,他不需要向客户提出任何要求。 (无论如何,从仿真器中我们都将触发CICS Transactions)。我们希望一切都在雇主端完成,而不至于打扰客户的大型机。

请不要建议MQ,因为客户端没有它。

如果您仍然建议使用CICS事务网关,请告诉我如何连接到远程计算机(我需要技术详细信息)。
-我需要向客户询问什么信息。
-我需要在计算机上安装什么软件。
-使用该软件的技术细节。

问候,

尼丁

最佳答案

我有两个建议供您参考。我都成功完成了。您的客户端安装程序可以确定两者中的哪一个是否可口(该问题并未提及而不是做这些事情)。

  • 您可以通过DB2存储过程在大型机上调用CICS代码。 IBM为项目提供了一个标准的IBM提供的EXECCICS。您提供了标准的CICS参数和通讯区域。该存储过程在大型机中执行程序,并返回comm区域。您使用JDBC。该解决方案简单易行。
  • 我们还启用了对大型机上CICS程序的HTTP访问。据我了解(请记住我只是叫它-未启用它),这是一个非常标准的配置。客户端代码仅执行到特定端点的HTTP POST。生成的文档是comm区域以及其他好东西。

  • 这些解决方案是针对同一项目独立开发的,并且都已投入生产。将HTTP方法添加到混合中的唯一原因是由于HTTP删除的存储过程中的数据大小限制。

    关于java - 从Windows桌面应用程序连接到CICS,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7205240/

    10-11 10:34