Conversione di un'applicazione COBOL verso Java
Ispirer MnMTK esegue la conversione da COBOL a Java di varia complessità.
Perchè Ispirer MnMTK
Ispirer MnMTK può aiutarvi a convertire la vostra applicazione COBOL automaticamente. Scegliendo Ispirer MnMTK potete anche eliminare i rischi di conversione e ridurre notevolmente la quantità di sforzi interni necessari per la migrazione.
I nostri vantaggi principali:
- ll team esperto e qualificato: i tecnici d’Ispirer hanno grande esperienza in realizzazione di progetti di migrazione di varia complessità.
- Approccio orientato al cliente e Personalizzazione rapida: personalizziamo il nostro strumento di migrazione in modo che permetta di soddisfare pienamente le esigenze di business dei nostri clienti; aggiustamenti gratuiti durante 1-2 giorni lavorativi;
- Collaborazione pre-vendita: dimostriamo la conversione completa durante la fase di valutazione prima che prenderete la decisione finale.
- Buon prezzo: offriamo la politica di prezzatura flessibile;
-
Conversione ottimizzata: il codice facilmente gestito senza il middleware di Ispirer usato dopo la conversione.
Valutazione
Valutazione ci aiuta ad estimare gli sforzi e i costi di migrazione. Per iniziare i discorsi di collaborazione e fare la valutazione approssimativa, si prega di riempire:
Ispirer offre il processo di collaborazione onnicomprensivo per il vostro progetto di conversione di un'applicazione. Per saperne di più per favore andate alla pagina Modello di collaborazione per migrazione di applicazioni.
Ispirer Soluzione di Migrazione
Conversione da COBOL a Java Richiedere
Ispirer Soluzione di Migrazione
Conversione da COBOL a Java Servizi
Toolkit
Struttura di un programma COBOL
IDENTIFICATION DIVISION.
PROGRAM-ID. DemoId.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
FIRST-PARAGRAPH.
DISPLAY "First DEMO".
Ci sono quattro divisioni:
- IDENTIFICATION DIVISION: Qui si dà il nome del programma.
- ENVIRONMENT DIVISION: Qui si definiscono i file necessari per il programma.
- DATA DIVISION: Qui si definiscono variabili, record, file, ecc.
- PROCEDURE DIVISION: Qui si scrive il programma. Nell'esempio di sopra c'è solo uno paragrafo. Un paragrafo è una sequenza di istruzioni nominate con un label. Non c'è un segno speciale per marcare la fine di un paragrafo.
Caratteristiche di conversione
- Può migrare un database di un'applicazione COBOL verso un database Oracle/MySQL/PostgreSQL/ecc.
- Converte programmi COBOL verso classi Java
package CobolApplication;
public class DemoId
{
static void main(String[] args)
{
System.out.println("First DEMO");
}
}
Converte i nomi di identifier verso il caso "cammello"
Converte una sezione WORKING-STORAGE con i dichiarazioni di variabili verso i variabili di classe
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;
Converte i record in COBOL verso i tipi Java definiti dall'utente
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();
Converte istruzioni COBOL MOVE TO/COMPUTE verso istruzioni di assegnazione Java
COBOL:
MOVE 5 TO MY_NUMBER.
Java:
MyNumber = 5;
Converte sezioni COBOL (gruppi di paragrafi o istruzioni) verso metodi Java. SECTION può essere chiamata usando un'istruzione PERFORM. PERFORM è convertata verso una chiamata del metodo Java.
COBOL:
DISPLAY-INFORMATION.
DISPLAY DISPLAY 'My Number = ' MY_NUMBER.
Java:
private void DisplayInformation()
{
System.out.println("My Number = " + MyNumber);
}
Converte strutture di controllo in COBOL verso istruzioni di controllo 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");
}
Converte Screen output (istruzione DISPLAY) verso il metodo “System.out.println”
Converte istruzioni EXEC SQL/ END-EXEC (istruzioni select, insert, update, delete, CURSOR) a chiamate Java di procedure SQL di database generate automaticamente in base a istruzioni SQL embedded
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();
}
}
|