ALERTE COOKIE : En naviguant sur notre site, vous acceptez l’utilisation de cookies.
Pour en savoir plus, n’hésitez pas à lire notre Politique de confidentialité et Politique d’usage de cookies.

Migration de Base de données et d'Application multiplateforme Hautement Automatisée, Personnalisée et Optimisée


Migration Delphi vers Java EE

Grâce à l'outil Ispirer Migration and Modernization Toolkit il est désormais possible de convertir des applications depuis Delphi vers Java EE!


Aperçu général


Migrate Delphi to Java


Pourquoi Ispirer MnMTK?


Effectuez votre migration avec Ispirer Systems et profitez donc des avantages suivants que vous offre notre outil:

  • Cohérence et Intégration: a utomatisationjusqu'à 100%
  • Personnalisation rapide: individualisation et optimisation de la converson (1-3 jours ouvrables en moyenne)

  • Engagement pré-vente: nous démontrons une conversion complète au cours de l'évaluation avant que vous preniez une décision

  • Prix Raisonnable: nous offrons une tarification souple

  • Conversion Optimisée: en tant que résultat vous obtenez un code intelligent et maintenable, sans aucun middleware à utiliser après la conversion

Evaluation et Achat


L'évaluation de votre projet de migration permettra de mesurer les ressources nécessaires aussi bien que le coût de votre migration. Afin de faciliter ce processus, n'hésitez pas à remplir et nous envoyer en retour le questionnaire ci-dessous:


Présentation en direct

Ispirer Migration Solution

Delphi vers Java EE

Commander

Demander un devis

Ispirer Migration Solution

Delphi vers Java EE

Service L'outil

Caractéristiques de Conversion


Voici l'aperçu général de la conversion depuis Delphi vers Java EE à l'aide notre solution de migration:

  • Convertit le code source Delphi avec la logique métier (*.pas) vers les 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());
   }
}
 

La conversion Pas est base sur l’initialisation de form class et contient les méthodes ButtonClick, setPageValues et addModelAttrributes qui définissent les valeurs jsp vers leur représentation de classe et les envoient sur les pages respectives.

  • Convertit les fichiers Delphi Forms (*.dfm) vers JSP et Java classes

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

Les fichiers dfm consistent de propriétés différentes. Pour ces scripts Ispirer MnMTK génère les classes JSP et Java. Les fromes Delphi se convertissent en trois colonnes JSP avec le tag

et le fichier par défaut css pour une correcte représentation de l’application. De plus, Ispirer MnMTK crée des modèles analogiques de composants Delphi. Les propriétés de form sont spécifiées dans FormCreate method.

  • • Convertit Delphi Data Access (BDE, ADO, etc.) vers Java Database Access Frameworks (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

C’est un exemple de la conversion DBGrid avec l’utilisation de TADOConnection, TADOQuery et TDataSource.CoSQ. Ispirer MnMTK genere JSP avec une table remplie de la base de données. De plus, Ispirer MnMTK peut automatiquement générer Hibernate, Torque XML maps en fonction de tables de base de données.



Contactez-nous pour en savoir plus.

 
Témoignages
Decitre, France

Sybase ASE vers PostgreSQL

Nous recherchions un outil pour effectuer une migration de Sybase à PostgreSQL.

Après quelques recherches nous avons trouvé l’outil d’Ispirer que nous avons...

...

TSS Consultancy, Inde

Microsoft SQL Server vers Oracle

Tout a commencé lorsque mon entreprise était à la recherche de la solution de migration de la base de données SQL Server vers Oracle. Plus de 10...

...

Etudes de cas
IBM DB2 LUW vers PostgreSQL, Etats-Unis

Notre client était la société publique américaine et l'unité indépendante du gouvernement de l'État.

...

Sybase ASE vers Microsoft SQL Server, Chili

Ispirer a déjà réalisé des projets pour des clients sur sept continents, y compris l'Amérique du Sud. Cette fois, nous avons eu l'honneur de coopérer avec un grand fabricant de logiciels basé au...

...