Кастомизированная и Высокоавтоматизированная Межплатформенная
Миграция Баз Данных и Приложений



Конвертация Progress 4GL в Java

Java logo

Ispirer MnMTK автоматизирует вемь процесс конвертации приложений Progress 4GL в Java любой сложности.


Обзор конвертации приложений Progress 4GL в Java

Ispirer Systems стремиться к предоставлению высококачественных услуг в сфере конвертации приложений и миграции баз данных. Мы вносим дополнительные настройки в программу, чтобы кастомизированная специально под ваш проект версия учитывала все его тонкости и особенности, а конечный результат соответствовал вашим требованиям и ожиданиям.




Почему Ispirer MnMTK?

Ispirer MnMTK автоматизирует весь процесс миграции Вашего текущего OpenEdge приложения в Java. Более того, с помощью Ispirer MnMTK Вы избежите большинство сопутствующих рисков и значительно снизите усилия, затраченные на выполенение данной задачи. Все эти преимущества доступны по разумной цене, что делает Ispirer MnMTK еще более привлекательным инструментом для данного типа проектов.

Наша технология конвертации гарантирует:

  • Читабельный и легко обслуживаемый код
    Генерация читабельного и лекго обслуживаемого кода с качеством ручной конвертации
  • Трансформация и рефакторинг кода
    Трансформация кода с применением наилучших практик Java вместо эмуляции старой технологии на новой платформе
  • Новейшие технологии
  • Чистый Java код
    Никакие библиотеки или IP Ispirer не используются после конвертации

Ispirer MnMTK эффективно конвертирует большие скрипты, содержащие тысячи или миллионы строчек кода:

  • Автоматически решает зависимости
    Может извлечь информацию из зависимых файлов, баз данных и т.д. и автоматически решить зависимости и конфликты
  • Конфигурации
    Может читать информацию из различных конфигурационных и проектных файлов (конфигурационные файлы Ispirer MnMTK, .xml файлы)
  • Быстрая и гибкая кастомизация
    Абстрактные слои, универсальные конвертационные шаблоны, а также внутренние конвертационные языки и программы позволяют производить быструю кастомизацию и сложные трансформации кода.

Наш подход

Пожалуйста, заполните опросник для того, чтобы начать обсуждение Вашего проекта или получить его грубую оценку:

Для ISV компаний Ispirer предлагает комплексную процесс взаимодействия в случае конвертации приложений с миллионами строчек кода.

Онлайн-презентация

Ispirer Migration Solution

Progress 4GL в Java

Заказать

Узнать стоимость

Ispirer Migration Solution

Progress 4GL в Java

Услуги Программа

Если Вас заинтересовала наша программа и услуги по миграции, пожалуйста, свяжитесь с нами для получения более детальной информации.

Характеристики конвертации

Базы данных Progress в базы данных Oracle/PostgreSQL/MySQL


Migrate Progress databases to Oracle/PostgreSQL/MySQL databases

  • Конвертирует таблицы/представления/последовательности Progress в таблицы/представления/последовательности Oracle/PostgreSQL/MySQL

Например,

Progress 4GL:

  1.  
  2. ADD TABLE "TB_DATATYPES"
  3. AREA "Schema Area"
  4. DUMP-NAME "tb_datat"
  5.  
  6. ADD FIELD "c1" OF "TB_DATATYPES" AS CHARACTER
  7. FORMAT "X(8)"
  8. INITIAL ""
  9. POSITION 2
  10. SQL-WIDTH 16
  11. ORDER 10
  12.  
  13. ADD FIELD "c4" OF "TB_DATATYPES" AS INTEGER
  14. FORMAT "->,>>>,>>9"
  15. INITIAL "0"
  16. POSITION 5
  17. SQL-WIDTH 4
  18. ORDER 20
  19.  
  20. ADD FIELD "c5" OF "TB_DATATYPES" AS logical
  21. FORMAT "yes/no"
  22. INITIAL "no"
  23. POSITION 6
  24. SQL-WIDTH 1
  25. ORDER 30
  26.  
  27. .
  28. PSC
  29. cpstream=ISO8859-1
  30. .
  31. 0000000976
  32.  

Oracle:

  1.  
  2. CREATE TABLE TB_DATATYPES
  3. (
  4. c1 CHAR(16),
  5. c4 NUMBER(10,0),
  6. c5 NUMBER(1,0)
  7. );
  8.  
  • Конвертирует триггеры Progress 4GL в триггеры/процедуры Oracle/PostgreSQL/MySQL или классы Java:

Progress 4GL:

  1.  
  2. TRIGGER PROCEDURE FOR DELETE OF gsinvhd.
  3. FIND distribution
  4. WHERE distribution.company = gsinvhd.company NO-LOCK NO-ERROR.
  5.  

Oracle:

  1.  
  2. CREATE OR REPLACE TRIGGER SWT_Delete_gsinvhd
  3. AFTER DELETE
  4. ON gsinvhd
  5. DECLARE
  6. v_distribution_company VARCHAR2(255);
  7. BEGIN
  8. SELECT company INTO v_distribution_company FROM distribution
  9. WHERE (distribution.company = gsinvhd.company) AND ROWNUM <=1;
  10. EXCEPTION
  11. WHEN NO_DATA_FOUND THEN
  12. NULL;
  13. END;
  14.  

Более подробно Вы найдете на следующих страницах:

Миграция базы данных Progress в Oracle

Миграция базы данных Progress в PostgreSQL

Миграция базы данных Progress в MySQL

Конвертирует код Progress 4GL в код Java

Convert Progress 4GL code to Java code

  • Конвертирует файлы Procedure (*.p) из Progress 4GL в Java пакеты с классами

Progress 4GL:

  1.  
  2. DEF VAR w_ail AS CHAR NO-UNDO.
  3. PROCEDURE act_InitValues.
  4. IF w_ ail EQ "ac21" OR w_ ail EQ "first"
  5. THEN DO:
  6. ASSIGN w_ ail ="first".
  7. END.
  8. ELSE IF w_ ail EQ "ac50"
  9. THEN DO:
  10. ASSIGN w_ ail ="second".
  11. END.
  12. ELSE DO:
  13. ASSIGN w_ ail ="third"
  14. END.
  15. END PROCEDURE.
  16.  

Java:

  1.  
  2. package ispirer;
  3. public class If_statement
  4. {
  5. private String w_ ail = null;
  6. public void act_InitValues()
  7. {
  8. if((w_ ail.equals("ac21")) ||( w_ ail.equals("first")))
  9. {
  10. w_ ail = "first";
  11. }
  12. else if(w_ ail.equals("ac50"))
  13. {
  14. w_ ail = "second";
  15. }
  16. else
  17. {
  18. w_ ail = "third";
  19. }
  20. }
  21. }
  22.  
  • Конвертирует файлы Include (*.i) из Progress 4GL в Java пакеты с классами

Progress 4GL:

  1.  
  2. FUNCTION days-in-MONTH RETURNS INTEGER
  3. ( INPUT pmonth AS INTEGER, INPUT pyear AS INTEGER ) :
  4.  
  5. DEFINE VARIABLE idays AS INTEGER
  6. EXTENT 12 INITIAL [31,28,31,30,31,30,31,31,30,31,30,31].
  7.  
  8. IF pmonth NE 2 THEN DO:
  9. RETURN idays[pmonth].
  10. END.
  11. ELSE DO:
  12. IF INTEGER(pyear / 4) * 4 = pyear THEN DO:
  13. IF INTEGER(pyear / 100) * 100 = pyear THEN DO:
  14. IF INTEGER(pyear / 400) * 400 = pyear
  15. THEN RETURN 29.
  16. ELSE RETURN 28.
  17. END.
  18. ELSE RETURN 29.
  19. END.
  20. ELSE RETURN 28.
  21. END.
  22. END FUNCTION.
  23.  

Java:

  1.  
  2. package ispirer;
  3. public class Daymonth
  4. {
  5. public final int Days_in_month(int pmonth, int pyear)
  6. {
  7. int[] idays = new int[] {31,28,31,30,31,30,31,31,30,31,30,31};
  8. if (pmonth != 2)
  9. {
  10. return idays[pmonth - 1];
  11. }
  12. else
  13. {
  14. if ((int)(pyear / 4) * 4 == pyear)
  15. {
  16. if ((int)(pyear / 100) * 100 == pyear)
  17. {
  18. if ((int)(pyear / 400) * 400 == pyear)
  19. {
  20. return 29;
  21. }
  22. else
  23. {
  24. return 28;
  25. }
  26. }
  27. else
  28. {
  29. return 29;
  30. }
  31. }
  32. else
  33. {
  34. return 28;
  35. }
  36. }
  37. }
  38. }
  39.  
  • Конвертирует файлы Window Procedure (*.w) из Progress 4GL в Java UI Фреймворки (Swing, SWT, Java FX, и т.д.)
  • Конвертирует отчеты Progress ABL в отчеты Java Jasper или отчеты Crystal reports
  • Конвертирует Data Access в Фреймворки Java Database Access (JDBC, Hibernate, Torque, и т.д.)

Ispirer MnMTK может автоматически генерировать карты Hibernate и Torque XML в соответствии с таблицами базы данных.

Например, Progress 4GL:

  1.  
  2. DEF BUFFER buf_LogOverview FOR test_table.
  3. PROCEDURE test_proc.
  4. FIND FIRST buf_LogOverview NO-LOCK
  5. WHERE buf_LogOverview.col1 EQ "1"
  6. AND buf_LogOverview.col2 EQ 2
  7. NO-ERROR.
  8. END PROCEDURE.
  9.  
  10. CREATE TABLE test_table
  11. (
  12. col1 VARCHAR,
  13. col2 INTEGER PRIMARY KEY
  14.  
  15. );
  16.  

Java:

  1.  
  2. package buffer_migration;
  3. import java.util.List;
  4. import org.hibernate.Session;
  5. import org.hibernate.Transaction;
  6. import util.HibernateUtil;
  7. public class Find_stmt
  8. {
  9. private Test_table buf_LogOverview;
  10. public void test_proc()
  11. {
  12. Session session = HibernateUtil.getSessionFactory().openSession();
  13. session.beginTransaction();
  14. buf_LogOverview =((List< Test_table >)
  15. session.createQuery("from Test_table WHERE col1 = '1' "+
  16. " AND col2 = 2").list()).get(0);
  17. session.getTransaction().commit();
  18. }
  19. }
  20.  
  21. import java.util.Set;
  22. import java.util.HashSet;
  23.  
  24. public class Test_table
  25. {
  26. private String col1;
  27. private Integer col2;
  28. private Set test_tables = new HashSet();
  29.  
  30. public Test_table()
  31. {
  32. }
  33.  
  34. public void setCol1(String col1)
  35. {
  36. this.col1=col1;
  37. }
  38.  
  39. public String getCol1()
  40. {
  41. return col1;
  42. }
  43.  
  44. public void setCol2(Integer col2)
  45. {
  46. this.col2=col2;
  47. }
  48.  
  49. public Integer getCol2()
  50. {
  51. return col2;
  52. }
  53. }
  54.  
  55. <?xml version="1.0" encoding="UTF-8"?>
  56. <!DOCTYPE hibernate-mapping
  57. PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
  58. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  59. <hibernate-mapping>
  60. <class name="Test_table" table="test_table">
  61. <property column="col1" name="col1" type="java.lang.String"/>
  62. <id column="col2" name="col2" type="java.lang.Integer"/>
  63. </class>
  64. </hibernate-mapping>
  65.  
 
PGConf.Russia 2018

Ispirer Systems - партнер и участник PGConf.Russia 2018!


Отзывы
30.03.2018 Казахский национальный педагогический университет
Миграция с PASCAL в C#.NET

Я занимаюсь научной деятельностью в Казахском национальном педагогическом университете. ...

28.03.2018Extedo, Германия
DB2 в MSSQL Server


EXTEDO была основана в 1996 году как департамент компании IABG с простой миссией: помогать научно-исследовательским институтам в области медицины соответствовать...

...

02.02.2018ООО "Гисофт", Россия
Миграция из Microsoft SQL Server в PostgreSQL

Компания «Гисофт», разработчик автоматизированных систем управления для образования, после долгих и в основном неудачных экспериментов с...

...

Истории успеха
17.07.2017Миграция с Oracle в PostgreSQL, РоссияПрофессиональные услуги по переносу пакетов и хранимых процедур с Oracle в PostgreSQL.


В конце 2016 года компания Ispirer Systems осуществила услуги по миграции для одного из российских...

...

17.07.2017Конвертация Oracle в Java, Индия

В начале 2017 года к Ispirer Systems обратилась индийская многонациональная компания, которая предоставляет инновационные IT-решения и услуги. Компания предлагает лучшие в своем классе...

...