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



快速浏览表明,IBM、Microfocus和GNU COBOL针对Java和COBOL互操作的产品都是不同的API。然而,在维基百科上目前有这样一句话:2002年的规范";改进了与其他编程语言和框架环境(如.NET和Java(的互操作性">

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

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

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

的定义实际上相当多,脑海中浮现的东西:

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

作为问题的一部分,可能会产生误导:GnuCOBOL还没有用于与Java交互的API。

如果您想编写可移植COBOL&lt->Java代码可以使用两种方法。

第一:使用";C";由JNI Java提供的API。这将起作用";相当好";如果COBOL环境可以与";C";(对于大多数实现来说可能是这样(
查看Java中的Call c函数以了解详细信息
警告:应该注意JNI原则,比如从Java调用的COBOL不应该STOP RUN(或者在Java端没有机会捕获的情况下异常终止(。

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

因为这也是问题的一部分:如果你想更多地了解COBOL(作为一种语言,不一定由"实现者X"支持(,那么COBOL标准是一个很好的资源
在大多数情况下;足够的";只要抓住当前的";草稿";下一个COBOL标准是,您可以在COBOL工作组的ISO文档页面上访问这些标准[旧版本通常在标准发布后消失,当下一个标准准备进行首次公开审查时,会出现新版本]。

最新更新