现在有了新的要求。我手边有一些特别的工作。要求是连接基于桌面的Java应用程序以从某些CICS Transaction生成的Mainframe中读取数据。 [基本上我必须读取所有附加到文件中的记录(与我们在linux中执行tail -f文件名的方式相同)。这仅供参考,我的要求是不同的。]
我询问,并且知道我的雇主无法向我提供MQ或CICS Transaction Gateway访问权限。他提出了一些屏幕抓取方法。我已经使用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事务)。我们希望一切都在我的雇主的最终完成,而不会打扰客户的大型机甚至一点点。
请不要建议MQ,因为客户端没有它。
如果您仍在推荐CICS Transaction Gateway,请告诉我如何连接远程机器(我需要技术细节)。
- 我需要从客户那里询问哪些信息
- 我需要在我的机器上安装什么软件。
- 使用该软件的技术细节。
问候,
尼丁
答案 0 :(得分:2)
我有两个建议供您查看。我已成功完成了两项工作。您的客户端设置可以决定是否合适(问题没有提及不做这些事情)。
您可以通过DB2存储过程在大型机上调用CICS代码。 IBM提供了一个名为EXECCICS的标准程序,用于项目。您提供标准CICS参数和通信区域。存储过程在大型机中执行程序并返回通信区域。您使用JDBC。这个解决方案简单易行。
我们还启用了对大型机上CICS程序的HTTP访问。根据我的理解(记得我刚刚调用它 - 没有启用它)它是一个非常标准的配置。客户端代码只对特定端点执行HTTP POST。生成的文件是通信区域和其他好东西。
这些解决方案是针对同一项目独立开发的,并且都在生产中。将HTTP方法添加到混合中的唯一原因是因为HTTP删除了存储过程中的数据大小限制。