【问题标题】:what are my chances to call CICS Transactions or COBOL programs from Python我有什么机会从 Python 调用 CICS Transactions 或 COBOL 程序
【发布时间】:2020-05-04 14:13:24
【问题描述】:

我们有一些由 VB/Java 构建的外部应用程序执行/调用的 COBOL 调用程序处理程序。我们正在寻找的是而不是通过其他应用程序,有没有办法直接从 Python 调用这些调用者处理程序,以便我们可以直接从 Python 自动化框架测试它们

【问题讨论】:

    标签: python cobol cics


    【解决方案1】:

    我有一个 CICS 程序/事务绑定到 CICS 中的 Web 界面,以便我可以通过 http post/put/get 驱动我的事务,也许您正在寻找更紧密的绑定?

    【讨论】:

      【解决方案2】:

      对于我推荐的 Java API,放弃 python 并在 Groovy 中编写测试。 这是一种在 JVM 上运行的脚本语言,这意味着它可以本地调用所有 Java API。

      除了支持普通的内置脚本,如字典、currying 函数、正则表达式支持——所有有效的 java 代码也是有效的 Groovy 代码。因此,您可以将您的 java API 调用剪切并粘贴到您的测试脚本中。

      【讨论】:

      • 这就是我们的想法……我们将这些调用者处理程序保存在存储过程中,并使用 ibm_db 包从 Python 调用它们。与使用 pyodbc 驱动程序从 MYSQL 调用 VB SP 相同
      【解决方案3】:

      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 相同的基本方法。

      【讨论】:

        【解决方案4】:

        CICS 支持 SOAPREST,我认为是从 2008 年开始。 COBOL 原生解析XML(已经有十多年了)和JSON(这是相对较新的)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-09
          • 1970-01-01
          • 2014-07-10
          • 2020-01-25
          相关资源
          最近更新 更多