代码之家  ›  专栏  ›  技术社区  ›  bbarker

有没有一种形式的Java互操作是用COBOL标准化的?

  •  1
  • bbarker  · 技术社区  · 4 年前

    简而言之,IBM、Microfocus和GNU COBOL提供的Java和COBOL互操作都是不同的API。然而,在维基百科上,目前有一句话是2002年的规范“改进了与其他编程语言和框架环境(如.NET和Java)的互操作性”

    那么,在这方面,什么是标准化的呢?(我没有该规范的副本,因为我刚刚开始学习COBOL,希望探索Java和COBOL互操作,目前这是我的爱好)。

    0 回复  |  直到 4 年前
        1
  •  2
  •   Simon Sobisch    4 年前

    这个问题有一个明确的答案: .

    添加了不同的内容,特别是在2002年的标准中,但在后来的标准中,也允许使用符合标准的API实现Java互操作性,但标准中与非COBOL交互的细节始终取决于处理器或实现。

    什么 事实上,我想到了很多事情:

    • ENTRY-CONVENTION CALL-CONVENTION
    • 用户定义函数
    • 具有类、对象、方法、工厂等的面向对象COBOL。。。
    • 函数和调用原型
    • 定义的编码 NATIONAL 和其他类型

    问题的一部分可能是误导性的:GnuCOBOL还没有用于与Java交互的API(目前)。

    如果您想编写便携式COBOL<->Java代码可以使用两种方法。

    首先:使用Java提供的“C”API,即JNI。如果COBOL环境可以与“C”交互操作(对于大多数实现来说,这可能是正确的),那么这将“非常好”地工作。
    找一找 Call c function from Java 详细信息。
    警告:应该注意JNI原则,就像从Java调用的COBOL一样 STOP RUN (或者在没有机会在Java端捕捉到这一点的情况下进行异常终止)。

    第二:不要使用直接接口,而是在COBOL和Java之间进行通信,例如使用 REST 服务。

    因为这也是问题的一部分:如果你想更多地了解什么是COBOL(作为一种语言,不一定由“实现者X”支持),那么COBOL标准是一个很好的资源。
    在大多数情况下,只要抓住下一个COBOL标准的当前“草稿”就足够了,您可以在 ISO's document page of the COBOL working group [旧版本通常在标准发布后消失,下一个版本准备进行首次公开审查时会出现新版本]。

    推荐文章