智能和高度自动化的跨平台数据库和应用程序迁移


从COBOL到Java转换

Java

Ispirer MnMTK一个强大的软件为将COBOL应用程序转换为Java。该工具支持不同复杂程度转换从COBOL到Java应用。

我们开发迁移工具并以客户至上的方针来满足客户业务需求。 我们的技术团队拥有在复杂程度不同的迁移项目的工作经验。

    点开下面的演示视频,看看如何Ispirer MnMTK工具能够自动地从COBOL转换到Java:



    为什么选择Ispirer MnMTK?

    选择Ispirer MnMTK应用迁移软件后,您能够明显地节省为更改源代码所需的时间。此外,使用Ispirer MnMTK您可以消除相关风险,并且合理的定价策略使得Ispirer MnMTK拥有更强大的迁移工具。

    我们主要好处:

    • 高素质和经验丰富的技术支持: 我们的技术团队拥有在复杂程度不同的迁移项目的工作经验。
    • 客户至上的方针和快速定制: 我们个性化我们的迁移工具可以充分满足客户的业务需求,定制的转换和优化在1-2工作日完成。
    • 预售参与 : 我们会在评估决定之前展示完全转换。
    • 灵活的定价策略: 我们为您提供广泛的选择,其中您一定会找到最适合您的价格方案。
    • 优化转换-: 没有Ispirer的文库或转换后使用IP

    评估过程

    请您填写我们的问题单关于您的COBOL到Java应用程序迁移项目的统计信息:

  • 转换Cobol应用程序成Java调查问卷

测试工具

Ispirer Toolkit 10

从 COBOL 到 Java

下载

请求报价

Ispirer转换解决方案

从 COBOL 到 Java

服务 工具

COBOL程序结构

IDENTIFICATION DIVISION.
PROGRAM-ID. DemoId.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
FIRST-PARAGRAPH.
   DISPLAY "First DEMO".


共有四个部:

  • IDENTIFICATION DIVISION:这就是您要输入程序名。
  • ENVIRONMENT DIVISION:这就是您要定义程序所需要的文件。
  • DATA DIVISION:这就是您要声明变量、记录、 文件等。
  • PROCEDURE DIVISION:这就是您要写程序。上面的示例里一切都在同一个段落。段落是一系列语句按标签被称为。段落结尾没有特定的标记。

转换特征

  • 将COBOL应用的数据库迁移到Oracle/MySQL/PostgreSQL/等数据库。
  • 将COBOL程序转为Java类。
package CobolApplication;

public class DemoId
{
  static void main(String[] args)
  {
    System.out.println("First DEMO");
  }
}

  • 转换标识符名为驼峰命名法(CamelCase)。
  • 将WORKING-STORAGE部与声明变量转为类变量。

COBOL:

WORKING-STORAGE SECTION.
01 MY_STRING_1    PIC X(20).
01 MY_STRING_2    PIC X(30).
01 MY_NUMBER    PIC 9(2) VALUE 1.

Java:

  private String MyString1;
private String MyString2;
private int MyNumber = 1;

  • 将COBOL记录转为用户自定义的Java类。
01 MY_DATA_RECORD.
    03 MY_NAME        PIC X(20).
    03 MY_ADDRESS  PIC X(40).
    03 MY_ID               PIC 9(2).

COBOL:

public class MyDataRecord
   {
      public String MyName = "John Smit";
      public String MyAddress = "Walt street";
      public int MyId = 123;
   }
  public MyDataRecord myDataRecord = new MyDataRecord();

  • 将COBOL MOVE TO/COMPUTE语句转为Java赋值语句
MOVE 5 TO MY_NUMBER.

到:

MyNumber = 5;
  • 将COBOL组(段落或语句组)转为Java方法。使用着PERFORM语句就可以调用SECTION。PERFORM转换为Java方法的调用。
DISPLAY-INFORMATION.
    DISPLAY DISPLAY 'My Number = ' MY_NUMBER.

到:

private void DisplayInformation()
{
    System.out.println("My Number = " + MyNumber);
}
  • 将COBOL控制结构转为Java控制语句
IF MY_NUMBER > 5
      MOVE 12 TO MY_NUMBER.

到:

  if (MyNumber > 5)
  {
      MyNumber = 12;
  }

及:

PERFORM UNTIL WS-NUMBER-1 > 100 AND WS-NUMBER-1 < 1000
         DISPLAY "Still between 100 and 1000"
END-PERFORM

到:

while ((MyNumber > 100) && (MyNumber < 1000))
{
      System.out.println("Still between 100 and 1000");
}

  • 将屏幕输出(DISPLAY语句)转为“System.out.println” 方法。
  • 将EXEC SQL/ END-EXEC语句(select, insert, update, delete, CURSOR语句)转为基于内嵌入SQL自动生成的数据库SQL程序的Java调用。
EXEC SQL
           DECLARE GET_EMPLOYEE CURSOR FOR
           SELECT NAME,
                  ADDRESS,
                   PHONE
             FROM EMPLOYEE
             WHERE EMPID    =:MY_ID
             END-EXEC.

             EXEC SQL
             OPEN GET_EMPLOYEE
           END-EXEC.

     EXEC SQL
          FETCH GET_EMPLOYEE
           INTO :CST-NAME,
                :CST-ADDRESS,
                :CST-PHONE
     END-EXEC

  IF CST-NAME > SPACES                                     
              DISPLAY 'NAME = ' CST-NAME
       DISPLAY 'ADDRESS = ' CST-ADDRESS 
       DISPLAY 'PHONE = ' CST-PHONE
  ELSE                                                                
              DISPLAY 'EMPLOYEE NOT FOUND' 
   END-IF.

    EXEC SQL CLOSE GET_EMPLOYEE END-EXEC.

到:

create or replace
PROCEDURE getEmployee_Cursor_Proc1
(in_my_id IN EMPLOYEE.EMPID%TYPE,
 out_cts_name OUT EMPLOYEE.NAME%TYPE,
 out_cst_address OUT EMPLOYEE.ADDRESS%TYPE,
 out_cst_phone OUT EMPLOYEE.PHONE%TYPE
 )
AS
BEGIN
  SELECT NAME, ADDRESS, PHONE 
  INTO out_cts_name, out_cst_address, out_cst_phone
  FROM EMPLOYEE
  WHERE EMPID = in_my_id;   
END;

   try{
            Connection con = DBConnection.getConnection();
CallableStatement stmt = con.prepareCall
("{call getEmployee_Cursor_Proc1(?,?,?,?)}");
            stmt.setInt(1, MyId);
             
            stmt.registerOutParameter(2, java.sql.Types.VARCHAR);
            stmt.registerOutParameter(3, java.sql.Types.VARCHAR);
            stmt.registerOutParameter(4, java.sql.Types.VARCHAR);
             
            stmt.execute();
             
            String CstName = stmt.getString(2);
            String CstAddress = stmt.getString(3);
            String CstPhone = stmt.getString(4);
             
            if(CstName!=null){
System.out.println("NAME="+CstName+",
ADDRESS="+CstAddress+",PHONE="+CstPhone);
            }else{
                System.out.println("EMPLOYEE NOT FOUND");
            }
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            try {
                stmt.close();
                con.close();
                input.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }

您还可以通过联系我们页面与我们联系。

 
客户评价
System Protocol Information, 马来西亚
Informix到Microsoft SQL Server数据库迁移

尊敬的先生们,

我们刚刚完成了到目前为止最大的从Informix到MS SQL Server迁移任务。这项运动是按计划按时完成的。这是成功的,感谢您工具做很大一部分。

...

Bellnet (HAS), 日本
Delphi转成C#

我们的客户BELLNET是一家日本IT公司,它维护用于控制医疗设备的计算机软件。它需要把这样的医疗软件迁移从Delphi到C#,并联系我们要求转换工具。

...

Steek-IT,荷兰
Progress迁移到SQLServer

Steek-IT是一家荷兰ICT公司,具有15年以上的数据迁移经验。除了我们专业的领域MSSQL、SSIS、SSAS,我们还创建网站、企业软件和iOS应用程序。

...

案例研究
Informix 4GL转移到Microsoft SQL Server的解决方案, 美国

我们的客户是一家值得信赖的美国公司,为美国的100000多家中小企业提供人力资源服务和业务解决方案。

...

Oracle Forms迁移到Java, 美国
用于Ispirer MnMTK的Oracle Forms自动化迁移到Java的可行性已被证明!

于2017年初,一家全球信息技术咨询公司联系Ispirer Systems。该公司与组织合作,制定技术战略并实现IT解决方案,增强公司的业务能力。

...

IBM DB2 iSeries迁移到Microsoft SQL Server, 美国

来自美国的全方服务资讯科技公司,致力于软件和应用程序开发、再工程和维护。该公司提供Web服务,包括网站设计、网站托管和SEO。也从事CRM系统的实施、升级和管理。

...