Delphi에서 Java EE로 마이그레이션
Ispirer MnMTK는 Delphi 응용 프로그램을 Java EE로 변환할 수 있습니다.
Ispirer 마이그레이션과 근대화 툴킷을 관리 통해 Delphi에서 Java EE로 자동 변환하기 바랍니다. Ispirer MnMTK는 Delphi 에서 Java EE로 모든 복잡한 변환을 되어 가능합니다. Ispirer MnMTK는 고객님의 모든 요구 사하에 대로 쉽게 최족화된 애플리케이션입니다.
Delphi에서 Java EE로 변환하기 개요
이 데모 영상은 Ispirer MnMTK가 Delphi에서 Java EE로 변환하는 방법을 보여줍니다.
왜 Ispirer MnMTK 2015인가?
Ispirer Systems의 주된 목적은 최상의 애플리케이션의 마이그레이션을 제공하는 것입니다. Ispirer Systems의 마이그레이션 툴은 고객님의 비즈니스 요구 사항을 충족할 수 있도록 여러 가지 방식으로, 원하는 대로 개인화합니다.
Ispirer Systems의 주요 장점
- 고품질의 기술 지원 Ispirer Systems의 기술 팀은 다양한 마이그래이션 프로젝트에서 경험이 있습니다.
- 고객 지향적 접근 방식 및 신속한 고객화 Ispirer Systems의 마이그레이션 툴은 고객님의 비즈니스 요구사항 에 맞추기 위하여 툴을 고객님의 요구대로 개인화합니다. 고객님께 맞춤 및 최적화 변환은 영업일 2일 내에 수행합니다.
- 사전 판매 전시 고객님이 결정을 내리기 전에 Ispirer Systems는 평가 과정에서 전환을 입증합니다.
- 유연한 가격 정책 다양한 옵션 중에서 고객님께 필요한 것을 찾을 수 있습니다.
- 최적화된 변환 변환 후에는 Ispirer의 미들웨어를 사용할 필요없이 지능적인 코드를 얻을 수 있습니다.
평가 과정
평가는 마이그레이션의 노력과 비용을 추정하는데 도움을 줍니다. 더 자세한 평가의 공정을 위해 다음 링크를 참조하시기 바랍니다.
Ispirer Toolkit 10
Delphi to Java EE 내려받기
Ispirer 마이그레이션 솔루션
Delphi to Java EE 서비스
툴킷
변횐의 특징
- 비즈니스 로직을 포함된 Delphi 소스 코드를 (*.pas) 클래스를 포함된 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()); } }
Pas파일의 변환은 아우터와이어링 양식 클래스에 기초하며, ButtonClick 방법, setPageValues 와 addModelAttrributes를 포함합니다. 그것은jsp 가치를 그것의 클래스 representIion을 예정하고 각각 페이지로 보냅니다.
- Delphi Forms (*.dfm) 파일에서 JSP 와 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 |
|
|
|
Dfm파일은 다양한 특성으로 되어 있다. Ispirer MnMTK는 이 스크립트에 위해 JSPs 와 Java 클래스를 만듭니다. 델파이 양식은 <div class=”content”> 태그의 내용과 올바른 응용 프로그램보기의 기본 CSS 파일의 3 열 JSP로 변환됩니다. 또한 SQLWays는 get 메소드를 사용하여 클래스 필드로 Delphi 컴포넌트의 모델 아날로그를 생성합니다. Form 특성은 FormCreate 방법에서 명시됩니다.
- Delphi Data Access (BDE, ADO, etc.)에서 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 |
|
|
|
아래에 TADOConnection, TADOQuery and TDataSource의 관리 통해 Ispirer MnMTK DBGrid 변환의 예입니다. 그 결과적으로 Ispirer MnMTK는 데이터 베이스에서 포함됩 JTS를 Java 클래스를 만듭니다. Ispirer MnMTK는 데이터 베이스에서 작성된 JTable의 Java 클래스를 만듭니다. 또한 Ispirer MnMTK는 데이터 베이스에 따라 Hibernate, Torque XML maps을 제공으로 만들어 가능합니다.
Delphi 소스 코드 샘플을, 변환 결과를 다음 랑크를 참조하십시오.
Ispirer Systems의 접근방식
고객님께서 Ispirer Systems와 프로젝트에 대해 공동 논의를 위해 주저 없이 설문지를 작성하시고 보내주십시오.
Ispirer Systems는 ISV회사에게 수백만 줄의 코드로 응용 프로그램을 변환할 수 있게 Engagement model를 제공랍니다.
추가로 문의 사항이 있으시면 연락주시기 바랍니다.
|