COBOL에서 Java로 마이그레이션
Ispirer MnMTK은 COBOL 어플리케이션을 Java로 변환할 수 있습니다.
Ispirer 마이그레이션과 근대화 툴킷을 관리 통해 COBOL에서 Java로 자동 변환하기 바랍니다. Ispirer MnMTK는 COBOL 에서 Java로 모든 복잡한 변환을 되어 가능합니다. Ispirer MnMTK는 고객님의 모든 요구 사하에 대로 쉽게 최족화된 애플리케이션입니다.
이 데모 영상은 Ispirer MnMTK는 Delphi에서 Java로 변환하는 방법을 보여줍니다.
왜 Ispirer MnMTK인가?
Ispirer MnMTK 마이그레이션 툴은 COBOL 응용 프로그램에서 Java로의 마이그레이션을 자동화 합니다. 또한, Ispirer MnMTK를 활용하면 마이그레이션과 관련된 대부분의 위험을 제거함과 동시에 내부 노력을 상당 부분 줄일 수 있습니다. 이런 모든 장점은 데이터베이스 및 어플리케이션을 마이그레이션 하는 경우 Ispirer MnMTK를 사용한다면 매우 합리적이고 경쟁력있는 비용으로 프로젝트를 진행할 수 있음을 의미합니다.
Ispirer MnMTK 2015의 주요 장점
Ispirer Systems의 주된 목적은 최상의 애플리케이션의 마이그레이션을 제공하는 것입니다. Ispirer Systems의 마이그레이션 툴은 고객님의 비즈니스 요구 사항을 충족할 수 있도록 여러 가지 방식으로, 원하는 대로 개인화합니다.
- 고품질의 기술 지원 Ispirer Systems의 기술 팀은 다양한 마이그래이션 프로젝트에서 경험이 있습니다.
- 고객 지향적 접근 방식 및 신속한 고객화 Ispirer Systems의 마이그레이션 툴은 고객님의 비즈니스 요구사항 에 맞추기 위하여 툴을 고객님의 요구대로 개인화합니다. 고객님께 맞춤 및 최적화 변환은 영업일 2일 내에 수행합니다.
- 사전 판매 전시 고객님이 결정을 내리기 전에 Ispirer Systems는 평가 과정에서 전환을 입증합니다.
- 유연한 가격 정책 다양한 옵션 중에서 고객님께 필요한 것을 찾을 수 있습니다.
- 최적화된 변환 변환 후에는 Ispirer의 미들웨어를 사용할 필요없이 지능적인 코드를 얻을 수 있습니다.
평가 과정
고객님께서 Ispirer Systems와 프로젝트에 대해 공동 논의를 위해 주저 없이 설문지를 작성하시고 보내주십시오.
Ispirer Toolkit 10
COBOL to Java 내려받기
Ispirer 마이그레이션 솔루션
COBOL to Java 서비스
툴킷
변환의 특징
COBOL 프로그램 구조
IDENTIFICATION DIVISION.
PROGRAM-ID. DemoId.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
FIRST-PARAGRAPH.
DISPLAY "First DEMO".
4가지 부문있습니다.
- 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");
}
}
"camel"의 경우 식별자를 변환
클래스의 DECLARE 문에 변수 선언하고 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 타입(user-defined Java types)으로 변환
COBOL
01 MY_DATA_RECORD.
03 MY_NAME PIC X(20).
03 MY_ADDRESS PIC X(40).
03 MY_ID PIC 9(2).
Java
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 assignment 문으로 변환
COBOL
MOVE 5 TO MY_NUMBER.
Java
MyNumber = 5;
COBOL 섹션(단락이나 문장의 그룹)에서 Java 메소드로 변환합니다. SECTION 문을 수행하는 방식으로 호출할 수 있습니다.PERFORM은 Java 메소드 호출로 변환됩니다.
COBOL
DISPLAY-INFORMATION.
DISPLAY DISPLAY 'My Number = ' MY_NUMBER.
Java
private void DisplayInformation()
{
System.out.println("My Number = " + MyNumber);
}
COBOL 제어 구조(control structures)를 Java 제어문으로 변환
COBOL
IF MY_NUMBER > 5
MOVE 12 TO MY_NUMBER.
Java
if (MyNumber > 5)
{
MyNumber = 12;
}
COBOL
PERFORM UNTIL WS-NUMBER-1 > 100 AND WS-NUMBER-1 < 1000
DISPLAY "Still between 100 and 1000"
END-PERFORM
Java
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 프로시져의 Java를 Embedded SQL 자동화 기반으로 생성합니다.
COBOL:
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.
Java
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();
}
}
|