Ispirer Systemsの主な目標は、高度で一線級のデータベース移行を実行することです。移行ツールIspirer MnMTKは、様々な個別のビジネス要件に応えることができる費用対効果の高い製品です。
- アプリケーションソースファイル(.SRA ファイル)の変換
SRAファイルはアプリケーションとそのエントリポイントに関するの基本的な情報を含むアプリケーションソースファイルです:
forward
global TYPE simple_demo FROM application
END TYPE
END forward
global TYPE simple_demo FROM application
string appname = "simple_demo"
END TYPE
global simple_demo simple_demo
ON simple_demo.CREATE
END ON
event OPEN;
OPEN ( simple_demo_main )
END event
SRAファイルは、アプリケーションをオープンするために使われるTransferメソッドを含むClassに変換されます:
public partial class _simple_demo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Server.Transfer("simple_demo_main.aspx");
}
}
- Windowオブジェクト(.SRW ファイル)をASPXファイルへ変換
SRWファイルはWindowソースファイルです。Formやコンポーネントアイテム、イベントやメソッドが記述されます。SRWファイルはASPXファイルに変換されます。
ひとつのコントロールエレメントを持つ単純なFormの例を見てみましょう:
$PBExportHeader$simple_demo_main.srw
forward
global TYPE simple_demo_main FROM window
END TYPE
TYPE b_button FROM commandbutton WITHIN simple_demo_main
END TYPE
END forward
global TYPE simple_demo_main FROM window
INTEGER width = 800
INTEGER height = 1200
BOOLEAN titlebar = TRUE
string title = "simple_demo"
b_button b_button
END TYPE
global simple_demo_main simple_demo_main
ON simple_demo_main.CREATE
this.b_button =CREATE b_button
this.Control[]={this.b_button}
END ON
ON simple_demo_main.destroy
destroy(this.b_button)
END ON
TYPE b_button FROM commandbutton WITHIN simple_demo_main
INTEGER x = 400
INTEGER y = 400
INTEGER width = 200
INTEGER height = 120
string text = "Show"
END TYPE
event clicked;
END event
ControlはDesignerクラスに変換されます:
public partial class _simple_demo_main
{
protected System.Web.UI.HtmlControls.HtmlForm simple_demo_main;
protected System.Web.UI.WebControls.Button b_button;
}
下はASPXファイルに変換されたFormとコンポーネントの説明です:
<%@ Page LANGUAGE="C#" AutoEventWireup="true"
CodeBehind="simple_demo_main.aspx.cs"
Inherits="simple_demo._simple_demo_main"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>simple_demo</title>
</head>
<body>
<form id="simple_demo_main" runat="server">
<div>
<table>
<tr>
<td><asp:Button ID="b_button" runat="server" Text="Show"
Width="44" Height="30" onclick="b_button_Click"></asp:Button></td>
</tr>
</table>
</div>
</form>
</body>
</html>
イベントはクラスメソッドに変換されます:
public partial class _simple_demo_main : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void b_button_Click(object sender, EventArgs e)
{
}
}
Ispirer MnMTKはPowerBuilderアプリケーションと同様にコンポーネントのサイズと位置属性を保存します:
 |
 |
PowerBuilderアプリケーションWindow |
ASP.NETページ |
- メニュー(.SRM)を標準のユーザコントロールに変換します
SRMファイルはメニューのソースファイルです。メニュー要素とイベントの説明が記述されています。これはひとつの要素をもつ単純なメニューの例です:
$PBExportHeader$simple_menu.srm
forward
global TYPE simple_menu FROM menu
END TYPE
TYPE m_about FROM menu WITHIN simple_menu
END TYPE
END forward
global TYPE simple_menu FROM menu
END TYPE
global simple_menu simple_menu
ON simple_menu.CREATE
simple_menu=this
CALL super::CREATE
this.m_about=CREATE m_about
this.Item[UpperBound(this.Item)+1]=this.m_about
END ON
TYPE m_about FROM menu WITHIN simple_menu
END TYPE
ON m_about.CREATE
CALL super::CREATE
this.text = "&About"
END ON
event clicked;OPEN(simple_about)
END event
SRMファイルはSystem.WEB.UI.UserControlクラスに変換されます。
public partial class _simple_menu : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
Menu 要素はasp:Menuおよびasp:MenuItemコントロールに変換され、ASPx ファイルに追加されます:
<div>
<asp:Menu ID="simple_menu" runat="server"
Orientation="Horizontal">
<Items>
<asp:MenuItem Text="About" VALUE="About"
navigateurl="simple_about.aspx">
</asp:MenuItem>
</Items>
</asp:Menu>
</div>
simple_aboutページをOpenするイベントコールメソッド:
event clicked;OPEN(simple_about)
END event
メソッドは navigateurl="simple_about.aspx"に変換されます。
- DataWindow(.SRD)をASPXファイルに変換
SRDファイルはDataWindowソースファイルです。DataWindowオブジェクトの情報を格納しています。
release 10.5;
datawindow(…)
…
TABLE(COLUMN=(TYPE=CHAR(200) updatewhereclause=yes
name=name dbname="simple_demo.name" )
COLUMN=(TYPE=long updatewhereclause=yes
name=age dbname="simple_demo.age" )
retrieve="PBSELECT( VERSION(400) TABLE(NAME=~"simple_demo~" )
COLUMN(NAME=~"simple_demo.name~")
COLUMN(NAME=~"simple_demo.age~")) " )
SRDファイルは GridViewコントロールを含むASPXファイルに変換されます:
<asp:GridView ID="dw_1" runat="server" AutoGenerateColumns="False"
DataSourceID="d_simple_demo" Width="201px">
<Columns>
<asp:BoundField DataField="name" HeaderText="Name"
SortExpression="name" />
<asp:BoundField DataField="age" HeaderText="Age"
SortExpression="age" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="d_simple_demo" runat="server"
SelectCommand="SELECT [name], [age] FROM [simple_demo]">
</asp:SqlDataSource>
Control宣言はDesignerクラスに変換されます:
public partial class _simple_demo_main
{
protected System.Web.UI.WebControls.GridView dw_1;
protected System.Web.UI.WebControls.SqlDataSource d_simple_demo;
}