【发布时间】:2020-05-04 14:13:24
【问题描述】:
我们有一些由 VB/Java 构建的外部应用程序执行/调用的 COBOL 调用程序处理程序。我们正在寻找的是而不是通过其他应用程序,有没有办法直接从 Python 调用这些调用者处理程序,以便我们可以直接从 Python 自动化框架测试它们
【问题讨论】:
我们有一些由 VB/Java 构建的外部应用程序执行/调用的 COBOL 调用程序处理程序。我们正在寻找的是而不是通过其他应用程序,有没有办法直接从 Python 调用这些调用者处理程序,以便我们可以直接从 Python 自动化框架测试它们
【问题讨论】:
我有一个 CICS 程序/事务绑定到 CICS 中的 Web 界面,以便我可以通过 http post/put/get 驱动我的事务,也许您正在寻找更紧密的绑定?
【讨论】:
对于我推荐的 Java API,放弃 python 并在 Groovy 中编写测试。 这是一种在 JVM 上运行的脚本语言,这意味着它可以本地调用所有 Java API。
除了支持普通的内置脚本,如字典、currying 函数、正则表达式支持——所有有效的 java 代码也是有效的 Groovy 代码。因此,您可以将您的 java API 调用剪切并粘贴到您的测试脚本中。
【讨论】:
Python 可用于 z/OS 的两个发行版:Rocket Software 和(目前为 beta 形式)来自 IBM。它们都是免费的。以下是相关链接:
https://www.rocketsoftware.com/zos-open-source
https://developer.ibm.com/mainframe/2020/04/29/python-z-os-beta-is-ready/
任何一个都应该为您提供调用您希望调用的任何其他 z/OS 托管程序所需的灵活性,无论其编程语言是什么,而无需任何类型的网络接口或其他此类配置。然后,您只需决定您希望如何与该程序进行交互。正如 Cschneid 建议的那样,您希望通过 REST/JSON API 实现吗?太好了,CICS Transaction Server for z/OS 支持这一点。 Db2 for z/OS(“Db2 Native REST”)也是如此,如果您尝试调用恰好用 COBOL 编写的 Db2 存储过程,它会解决您问题的 COBOL 部分。 Python 也是如此。
另一种找出可能路径的方法是找出 Visual Basic 和 Java 应用程序是如何调用这些 COBOL 程序的。这可能不一定是最好的方法,但如果它仍然是一种合理的方法,那么也许您可以采用与 Python 相同的基本方法。
【讨论】: