利用Cobol程序中的Java API

时间:2020-03-06 15:01:43  来源:igfitidea点击:

我们在大型机上运行了一些COBOL程序,我们需要其中的一个程序通过Java API与后端保管库进行通信。 Cobol程序可以通过任何方式调用Java程序吗?

可以使用来自Cobol的Web服务吗?我如何将Cobol程序与其他任何功能集成在一起?

解决方案

我猜想任何Java集成都是供应商扩展。我们正在使用什么编译器?

如果Cobol程序是作为批处理作业运行的,则可以将其拆分为两个批处理作业,一个将对Java Land的所有查询都写入一个文件,而另一个使用Java Land的答案。在它们之间运行一个Java程序,以读取查询文件并写出答案文件。

这是黑暗中的镜头,但是Dobbs博士最近发表了一篇关于Cobol和Java的文章(请参见此处)。在第3页上,他们提到带有一些供应商信息的JVM上运行Cobol。这与问题大相径庭,但可能会导致网络上出现一些新资源。

发现了这一点:

A COBOL program can interoperate with
  JAVA.
  
  To achieve inter-language
  interoperability with Java?, you must
  follow certain rules and guidelines
  for: Using services in the Java Native
  Interface (JNI) Coding data types
  Compiling your COBOL programs You can
  invoke methods that are written in
  Java from COBOL programs, and you can
  invoke methods that are written in
  COBOL from Java programs. For basic
  Java object capabilities, you can use
  COBOL object-oriented language. For
  additional Java capabilities, you can
  call JNI services.
  
  Because Java programs might be
  multi-threaded and use asynchronous
  signals, compile your COBOL programs
  with the THREAD option.

另外,我们使用的Cobol Enterprise支持Web服务。然后,将使用Cobol Enterprise中的WS功能来完成集成。

不知道这是我们在哪里找到的信息,但是此COBOL白皮书列表包括有关COBOL / Java集成的部分,其中包括特定于Enterprise COBOL的部分。

Microfocus确实允许COBOL和Java进行交互,但是要执行我们需要的操作,我们将需要使用称为OO COBOL的Microfocus派生类。

我没有用COBOL编写代码,但是在我的工作中,我们有一个MVS系统,程序员可以在其中从COBOL输出XML / Web服务。

对于AS / 400,有IBM Java工具箱。检查信息中心中的Java编程部分。