ESTE SITE UTILIZA COOKIES: Ao continuar navegando neste site, você dá o seu consentimento para que os cookies sejam usados.
Para mais detalhes, leia nossa Política de Privacidade e Política de Cookies.

Migração e Modernização
Automatizada e Personalizada
de Bancos de Dados e Aplicações


Conversão de Progress 4GL para Java


Ispirer MnMTK converte os aplicativos de Progress 4GL OpenEdge para Java.


Visão Geral de Migração de Progress 4GL para Java

Desenvolvemos Ispirer MnMTK através de uma abordagem orientada para o cliente. Fazemos o nosso melhor para satisfazer todas as necessidades do seu projeto. Nossos especialistas técnicos têm grande experiência em migrações de aplicativos e sempre encontram soluções inovadoras até mesmo para as migrações mais complicadas.

Esta demo mostra como Ispirer MnMTK pode converter Progress 4GL para Java.



Por que Ispirer MnMTK?

Ispirer MnMTK automatiza todo o processo de migração do seu aplicativo atual OpenEdge para Java. Além disso, escolhendo a nossa ferramenta de conversão - Ispirer MnMTK -você elimina a maioria dos riscos associados e reduz consideravelmente os esforços internos. Todos esses benefícios estão disponíveis a custos muito razoáveis e competitivos, o que faça Ispirer MnMTK o conversor ainda mais atraente para este tipo de projeto.

Nossa tecnologia de conversão garanta:

  • Código Legível e Sustentável
    Gerando código legível e sustentável com qualidade de conversão manual
  • Transformação e refatoração de código
  • Tecnologias mais Recentes
  • Código Java Puro
    Nenhuma bibliotecas ou IP de Ispirer utilizado após conversão

Ispirer MnMTK é eficaz para converter scripts grandes que contém milhares ou milhões de linhas de código:

  • Resolve Dependências Automaticamente
    Pode extrair informação de arquivos dependentes, banco de dados etc. para resolver automaticamente as dependências e conflitos
  • Configurações
    Pode ler a informação de vários configuração e arquivos de projetos (arquivos de configuração Ispirer MnMTK, arquivos .xml)
  • Customização Rápida e Poderosa

    Camadas abstratas, modelos reutilizáveis de conversão, linguagem de conversão interna e ferramentas de acessórios permitem a customização rápida e transformações de código complexas.



Nossa Abordagem

Por favor complete o questionário para iniciar discussões de colaboração para o seu projeto ou obter alguma estimativa aproximada:


Apresentação ao Vivo

Solução de Migração de Ispirer

Conversão de Progress 4GL para Java

Solicitar

Solicite uma Cotação

Solução de Migração de Ispirer

Conversão de Progress 4GL para Java

Serviço Ferramenta

Características de Conversão

Bancos de dados Progress para bancos de dados Oracle/PostgreSQL/MySQL


Migrar os bancos de dados Progress aos bancos de dados Oracle/PostgreSQL/MySQL

  • Converte tabelas/visões/sequências de Progress para Oracle/PostgreSQL/MySQL

Por exemplo,

Progress 4GL:

 
ADD TABLE "TB_DATATYPES"
  AREA "Schema Area"
  DUMP-NAME "tb_datat"
 
ADD FIELD "c1" OF "TB_DATATYPES" AS CHARACTER 
  FORMAT "X(8)"
  INITIAL ""
    POSITION 2
  SQL-WIDTH 16
    ORDER 10
 
ADD FIELD "c4" OF "TB_DATATYPES" AS INTEGER 
  FORMAT "->,>>>,>>9"
  INITIAL "0"
    POSITION 5
  SQL-WIDTH 4
    ORDER 20
 
ADD FIELD "c5" OF "TB_DATATYPES" AS logical 
  FORMAT "yes/no"
  INITIAL "no"
    POSITION 6
  SQL-WIDTH 1
    ORDER 30
 
.
PSC
cpstream=ISO8859-1
.
0000000976
 

Oracle:

 
CREATE TABLE TB_DATATYPES
(
   c1 CHAR(16),
   c4 NUMBER(10,0),
   c5 NUMBER(1,0)   
);
 
  • Converte gatilhos de Progress 4GL para gatilhos/procedimentos de Oracle/PostgreSQL/MySQL ou classes de Java:

Progress 4GL:

 
TRIGGER PROCEDURE FOR DELETE OF gsinvhd.
FIND distribution 
WHERE distribution.company = gsinvhd.company NO-LOCK NO-ERROR.
 

Oracle:

 
CREATE OR REPLACE TRIGGER SWT_Delete_gsinvhd
AFTER DELETE
ON gsinvhd
DECLARE
   v_distribution_company  VARCHAR2(255);
BEGIN
SELECT   company INTO v_distribution_company FROM distribution
WHERE (distribution.company = gsinvhd.company) AND ROWNUM <=1;
   EXCEPTION
WHEN NO_DATA_FOUND THEN
NULL;
END;
 

Para mais detalhes, consulte os artigos:

Migração do banco de dados Progress para banco de dados Oracle

Migração do banco de dados Progress para banco de dados PostgreSQL

Migração do banco de dados Progress para banco de dados MySQL


Converter código Progress 4GL para código de Java


Converte o código Progress 4GL ao código de Java cod

  • Converte Progress 4GL Procedure Files (*.p) para Javaackages com classes

Progress 4GL:

 
DEF VAR w_ail AS CHAR NO-UNDO.
PROCEDURE act_InitValues.
IF w_ ail EQ "ac21" OR w_ ail EQ "first" 
THEN DO:
    ASSIGN w_ ail  ="first".
END. 
ELSE IF w_ ail EQ "ac50"
THEN DO:
    ASSIGN w_ ail ="second".
END.
ELSE DO:
  ASSIGN w_ ail ="third"
END.
END PROCEDURE.  
 

Java:

 
package ispirer;
public class If_statement
{
private  String w_ ail = null;
public void act_InitValues()
{
if((w_ ail.equals("ac21")) ||( w_ ail.equals("first")))
{
         w_ ail = "first";
}
else if(w_ ail.equals("ac50"))
{
         w_ ail = "second";
}
else
{
         w_ ail = "third";
}
}
}
 
  • Converte Progress 4GL Include Files (*.i) para pacotes Java com classes

Progress 4GL:

 
FUNCTION days-in-MONTH RETURNS INTEGER
( INPUT pmonth AS INTEGER, INPUT pyear AS INTEGER ) :
 
  DEFINE VARIABLE idays AS INTEGER 
  EXTENT 12 INITIAL [31,28,31,30,31,30,31,31,30,31,30,31].
 
IF pmonth NE 2 THEN DO:
RETURN idays[pmonth].
END.
ELSE DO:
IF INTEGER(pyear / 4) * 4 = pyear THEN DO:
IF INTEGER(pyear / 100) * 100 = pyear THEN DO:
IF INTEGER(pyear / 400) * 400 = pyear 
THEN RETURN 29.
ELSE RETURN 28.
END.
ELSE RETURN 29.
END.
ELSE RETURN 28.
END.      
END FUNCTION.
 

Java:

 
package ispirer;
public class Daymonth
{
public final int Days_in_month(int pmonth, int pyear)
{
int[] idays = new int[] {31,28,31,30,31,30,31,31,30,31,30,31};
if (pmonth != 2)
{
return idays[pmonth - 1];
}
else
{
if ((int)(pyear / 4) * 4 == pyear)
{
if ((int)(pyear / 100) * 100 == pyear)
{
if ((int)(pyear / 400) * 400 == pyear)
{
return 29;
}
else
{
return 28;
}
}
else
{
return 29;
}
}
else
{
return 28;
}
}
}
}
 
  • Converte Progress 4GL Window Procedure (*.w) Files para Java UI Frameworks (Swing, SWT, Java FX, etc.)
  • Converte relatórios de Progress ABL para relatórios de Java Jasper ou relatórios Crystal
  • Converte Data Access para Java Database Access Frameworks (JDBC, Hibernate, Torque, etc.)

Ispirer MnMTK pode gerar automaticamente Hibernate, mapas Torque XML de acordo com as tabelas de banco de dados.

Por exemplo, Progress 4GL:

 
DEF BUFFER buf_LogOverview   FOR test_table.
PROCEDURE test_proc.
FIND FIRST buf_LogOverview      NO-LOCK
WHERE buf_LogOverview.col1    EQ "1"
AND buf_LogOverview.col2 EQ 2
              NO-ERROR.        
END PROCEDURE.
 
CREATE TABLE test_table
(
  col1 VARCHAR,
  col2 INTEGER PRIMARY KEY
 
);
 

Java:

 
package buffer_migration;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.Transaction;
import util.HibernateUtil;
public class Find_stmt
{
private Test_table buf_LogOverview;
public void test_proc()
{
    Session session = HibernateUtil.getSessionFactory().openSession();
    session.beginTransaction();
    buf_LogOverview =((List< Test_table >)
    session.createQuery("from Test_table WHERE col1    = '1' "+
" AND col2 = 2").list()).get(0);
    session.getTransaction().commit();
}
}
 
import java.util.Set;
import java.util.HashSet;
 
public class Test_table
{
private String col1;
private Integer col2;
private Set test_tables = new HashSet();
 
public Test_table()
{
}
 
public void setCol1(String col1)
{
this.col1=col1;
}
 
public String getCol1()
{
return col1;
}
 
public void setCol2(Integer col2)
{
this.col2=col2;
}
 
public Integer getCol2()
{
return col2;
}
}
 
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="Test_table" table="test_table">
<property column="col1" name="col1" type="java.lang.String"/>
<id column="col2" name="col2" type="java.lang.Integer"/>
</class>
</hibernate-mapping>
 

Você pode também nos contactar através da Página de Contatos.

 
Depoimentos
24.07.2018Decitre, França

Sybase ASE para PostgreSQL

Estávamos procurando uma ferramenta para migrar Sybase para PostgreSQL.

Depois de várias pesquisas, encontramos a ferramenta Ispirer que poderíamos testar...

...

22.06.2018TSS Consultancy, Índia
Migração de Banco de dados
Microsoft SQL Server para Oracle

Nossa empresa iniciou a pesquisa em relação à migração de SQL Server para Oracle. Testamos mais de 10 ferramentas...

...

Estudos de caso
20.06.2018Progress 4GL para .NET C# WinForms, Estados Unidos

Ofertas da empresa incluem gestão do relacionamento com o cliente (CRM), gestão da cadeia de suprimentos(SCM), e software de gestão de capital humano (HCM).

Empresa atende mais de 20.000...

...

28.04.2018Solução de Informix 4GL para Microsoft SQL Server, Estados Unidos

Nosso Cliente é uma empresa de confiança norte-americana que presta serviços de recursos humanos e soluções de negócios para mais de 100.000 empresas de pequeno e médio porte nos Estados Unidos.

...