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 Delphi para Java EE

Ispirer MnMTK converte aplicativos Delphi para Java Enterprise Edition com Spring MVC Framework.

Esta demo está mostrando como Ispirer MnMTK pode converter Delphi para Java EE.




Processo de Avaliação e Compra

A avaliação do seu projeto de migração ajudaria definitivamente a pesar os esforços e o custo aproximado da sua migração. A fim de facilitar o processo, você está convidado a preencher nosso:

Questionário de Migração de Delphi para Java

Para empresas ISV Ispirer oferece Modelo de engajamento compreensiva para converter aplicativos com milhões de linhas de código.

Apresentação ao Vivo

Solução de Migração de Ispirer

Delphi para Java EE

Solicitar

Solicite uma Cotação

Solução de Migração de Ispirer

Delphi para Java EE

Serviço Ferramenta

Características de Conversão

Migrate Delphi to Java

  • Converte código fonte de Delphi com logíca de negócios (*.pas) para classes Java

Delphi:

 
unit Unit4;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, 
Graphics, Controls, Forms, Dialogs, StdCtrls;
 
type
  TForm4 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Label1: TLabel;
    Edit2: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
 
var
  Form4: TForm4;
 
implementation
 
{$R *.dfm}
 
procedure TForm4.Button1Click(Sender: TObject);
begin
  Edit1.Text := 
IntToStr(StrToInt(Edit1.Text) + StrToInt(Edit2.Text));
end;
 
end.
 

Java:

 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import javax.servlet.http.HttpServletRequest;
import java.util.logging.Logger;
 
@Controller
public class Unit4
{
   Logger logger = Logger.getGlobal();
 
   @Autowired
private TForm4 Form4 = null;
 
   @RequestMapping(value="/TForm4",method=RequestMethod.POST,
params="Button1")
public String Button1Click(HttpServletRequest request, Model model)
{
this.setPageValues(request);
this.Form4.setEdit1Text(String.valueOf(
Integer.parseInt(this.Form4.getEdit1Text())+ 
Integer.parseInt(this.Form4.getEdit2Text())));
this.addModelAttributes(model);
return "TForm4";
}
public void setPageValues(HttpServletRequest request)
{
this.Form4.setEdit1Text(request.getParameter("Edit1"));
this.Form4.setEdit2Text(request.getParameter("Edit2"));
}
public void addModelAttributes(Model model)
{
      model.addAttribute("Edit1Text",this.Form4.getEdit1Text());
      model.addAttribute("Edit2Text",this.Form4.getEdit2Text());
}
}
 

Conversão Pas é baseada na classe de forma de ligação automática e contem métodos ButtonClick, setPageValues e addModelAttrributes, que define os valores jsp à sua representação de classe e enviá-los para a página respectivamente.

  • Converte Arquivos Forms de Delphi (*.dfm) para JSP e classes de Java

Delphi:

 
object Form4: TForm4
  Left = 0
  Top = 0
  Caption = 'Form4'
  ClientHeight = 158
  ClientWidth = 201
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
object Label1: TLabel
    Left = 24
    Top = 107
    Width = 46
    Height = 13
    Caption = 'Summand'
end
object Button1: TButton
    Left = 24
    Top = 64
    Width = 153
    Height = 25
    Caption = 'Sum'
    TabOrder = 0
    OnClick = Button1Click
end
object Edit1: TEdit
    Left = 24
    Top = 37
    Width = 153
    Height = 21
    TabOrder = 1
    Text = '0'
end
object Edit2: TEdit
    Left = 76
    Top = 104
    Width = 101
    Height = 21
    TabOrder = 2
    Text = '0'
end
end
 

Java:

 
package com.ispirer.controller.demo.Logic;
 
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class TForm4
{
private String Edit1Text = null;
private String Edit2Text = null;
 
public String getEdit1Text()
{
return Edit1Text;
}
 
public void setEdit1Text(String edit1Text)
{
                    Edit1Text = edit1Text;
}
 
public String getEdit2Text()
{
return Edit2Text;
}
 
public void setEdit2Text(String edit2Text)
{
                    Edit2Text = edit2Text;
}
 
          @RequestMapping(value = "/TForm4")
public String FormCreate(Model model)
{
this.Edit1Text = "0";
                    model.addAttribute("Edit1Text",this.Edit1Text);
this.Edit2Text = "0";
                    model.addAttribute("Edit2Text",this.Edit2Text);
return “TForm4";
          }
}

JSP:

 
<%@taglib prefix="c" 
uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="form" 
uri="http://www.springframework.org/tags/form"%>
<%@taglib prefix="mvc" 
uri="http://www.springframework.org/tags/form"%>
<%@page contentType="text/html;charset=UTF-8" language="java"%>
<html>
   <head>
      <title>Form4</title>
      <link rel="stylesheet" type="text/css" 
href="<c:url value="/resources/css/style.css"/>" />
   </head>
   <body>
      <div class="layout">
         <div class="left">
         </div>
         <div class="content">
            <form:form method="post">
               <label 
style="left:24px;top:107px;width:46px;height:13px;">Summand</label>
               <input type="submit" name="Button1" value="Sum" 
style="left:24px;top:64px; width:153px;height:25px;"/>
               <input type="text" name="Edit1" value="${Edit1Text}" 
style="left:24px;top:37px; width:153px;height:21px;"/>
               <input type="text" name="Edit2" value="${Edit2Text}" 
style="left:76px;top:104px; width:101px;height:21px;"/>
            </form:form>
         </div>
         <div class="right">
         </div>
      </div>
   </body>
</html>
 
Delphi Java
Migrate Delphi to Java Migrate Delphi to Java

Arquivos Dfm consistem de propriedades várias. Para esses scripts Ispirer MnMTK gera classes JSPs e Java. Forms de Delphi são convertidos em três colunas JSP com conteúdo na etiqueta <div class=”content”> e o arquivo css padrão para visão correta de aplicativo. Também Ispirer MnMTK cria análogos modelos de componentes de Delphi como campos de classe com métodos get respectivamente. Propriedades de forma são especificadas no método FormCreate.

  • Converte Delphi Data Access (BDE, ADO, etc.) para Database Access Frameworks de Java (JDBC, Hibernate, Torque, etc.)

Delphi:

 
end object Form2: TForm2
  Left = 0
  Top = 0
  Width = 156  
  Height = 198
  Caption = 'Test'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
object DBGrid1: TDBGrid
    Left = 32
    Top = 8
    Width = 81
    Height = 120
    DataSource = DataSource1
    TabOrder = 0
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
    Columns = <
      item
        Expanded = False
        FieldName = 'col1'
        Visible = True
      end>
end
object ADOConnection1: TADOConnection
    Connected = True
    ConnectionString = 
'Provider=MSDASQL.1;Persist Security Info=False;
       User ID=sa;Data S' +
'ource=MSSQL_VMDBSRV002_ETEST'
    Left = 24
    Top = 136
end
object ADOQuery1: TADOQuery
    Active = True
    Connection = ADOConnection1
    CursorType = ctStatic
    Parameters = <>
    SQL.Strings = (
'select col1 from tab1_test')
    Left = 56
    Top = 136
end
object DataSource1: TDataSource
    DataSet = ADOQuery1
    Left = 88
    Top = 136
end
end
 

Java:

 
import java.sql.*;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import util.TDBGrid;
 
@Controller
public class TForm2
{
private TDBGrid DBGrid1 = null;
private static String[] connectionString=
{"jdbc:odbc:MSSQL_VMDBSRV002_ETEST","sa","" };
public static Connection ADOConnection1()
{
try
{
return DriverManager.getConnection(
connectionString[0],
connectionString[1],
connectionString[2]);
}
catch(SQLException e)
{
         e.printStackTrace();
}
return null;
}
private PreparedStatement ADOQuery1 = null;
private String ADOQuery1_SQL_Strings = 
"select col1 from tab2_test";
private ResultSet DataSource1 = null;
public void setADOQuery1(PreparedStatement ADOQuery1)
{
this.ADOQuery1 = ADOQuery1;
}
public PreparedStatement getADOQuery1()
{
return this.ADOQuery1;
}
public void setADOQuery1_SQL_Strings(String ADOQuery1_SQL_Strings)
{
this.ADOQuery1_SQL_Strings = ADOQuery1_SQL_Strings;
}
public String getADOQuery1_SQL_Strings()
{
return this.ADOQuery1_SQL_Strings;
}
public void setDataSource1(ResultSet DataSource1)
{
this.DataSource1 = DataSource1;
}
public ResultSet getDataSource1()
{
return this.DataSource1;
}
public void initDBGrid1(Model model)
{
this.DBGrid1 = new TDBGrid(this.DataSource1,new String[] 
{ "col1" });
this.DBGrid1.initDBGridModel();
      model.addAttribute("DBGrid1",this.DBGrid1.getDBGridModel());
      model.addAttribute("DBGrid1ColWidth",new Integer[] { 100 });
}
   @RequestMapping(value = "/TForm2")
public String FormCreate(Model model)
{
try
{
this.ADOQuery1 = 
ADOConnection1().prepareStatement(getADOQuery1_SQL_Strings(),
ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
}
catch(SQLException e)
{
         e.printStackTrace();
}
try
{
this.DataSource1 = this.ADOQuery1.executeQuery();
}
catch(SQLException e)
{
         e.printStackTrace();
}
      initDBGrid1(model);
return "TForm2";
}
}
 
Delphi Java
Migrate Delphi to Java Migrate Delphi to Java

Isso é um exemplo da conversão de Ispirer MnMTK DBGrid como uso de TADOConnection, TADOQuery and TDataSource. Como um resultado Ispirer MnMTK gera JSP com a tabela estilizado preenchida a partir de banco de dados. Também Ispirer MnMTK pode gerar automaticamente Hibernate, mapas Torque XML de acordo com as tabelas de banco de dados.


Por que Ispirer MnMTK?

Ispirer MnMTK automatiza todo o processo de migração de seu aplicativo atual Delphi para Java. Além disso, com Ispirer MnMTK você elimina a maior parte de riscos associados e reduza consideravelmente os esforços internos. Todos esses benefícios estão disponíveis a custos mais razoáveis e competitivos, o que torna Ispirer MnMTK o instrumento 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
    Transformando código com implementação de melhores práticas de Java, em vez de emular tecnologia antiga na nova plataforma
  • Tecnologias mais Recentes
    Uso vantagens e frameworks e tecnologias de Java
  • Código Java Puro
    Nenhuma bibliotecas ou IP de Ispirer utilizado após a conversão

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

  • Automaticamente Resolve Dependências
    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.

Você pode baixar exemplos de código fonte e os resultados de conversão:


Você pode 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.

...