delphi / c++builder 業務アプリケーション 刷新実践法:...

23
© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. BDE をををををををををを ををををををををを Delphi / C++Builder をををををををををを ををををを 2017 2 3 14:00 17:00

Upload: -

Post on 14-Feb-2017

101 views

Category:

Engineering


12 download

TRANSCRIPT

Page 1: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential.  

BDE を使った業務アプリを

移行ツールで最新化

Delphi / C++Builder 業務アプリケーション 刷新実践法

2017 年 2 月 3 日(金) 14:00 ~ 17:00

Page 2: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential.  

BDE を使った業務アプリを

移行ツールで最新化

Page 3: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

3© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

「 BDE を使った業務アプリを移行ツールで最新化」アジェンダセミナー対象: BDE を使用中のコード資産をお持ちの方時間: 約 50 分

• BDE と取り巻く環境• 既存のコードは財産• 移行する上でのポイント• 移行ツールと移行手順実践• 移行後の広がりと最新化

Page 4: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

4© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

BDE とは Borland Database Engine

• Delphi 6 以前 にバンドル• 最新バージョン version 5.2

優れたデータベース・ミドルウエア• dBase や Paradox, Microsoft Access などに特殊ドライバなしでアク

セス• InterBase, SQL Server, Oracle, DB2 などに SQL Link ドライバでアク

セス

データベースにビジュアルコンポーネントでアクセス• TTable, TQuery, TStroedProc, TDataBase, TSession,

TUpdateSQL…

Page 5: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

5© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

2017 年における BDE の現状 Borland Database Engine

• Delphi6 以前 (2001 年 ) に付属 : Windows XP 発表年• 最終バージョン version 5.2 : 2002 年以降アップデートなし• 製品のライフサイクル :サポート終了

• Desktop DB のための dBASE, Paradox が主たるターゲット• 対応データベースが最新ではない• マルチデバイス・クロスプラットフォーム開発非対応• Unicode に対応していない• 16bit / 32bit の開発まで

Windows XP までサポート対象 OS• ユーザーアカウントコントロールの考慮をしていなお• Windows XP 自体のサポート終了

Page 6: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

6© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

BDE サポート範囲のままではマイナスの資産? Windows XP のまま運用

• セキュリティリスク

デスクトップ DB で運用• マルチデバイス運用に対し接続の壁

新データベース接続の壁• 古いクライアントドライバのみ• Unicode データベース採用時の壁

サーバー、ハードウエアの老朽化• 古い Server OS 、相対的なパフォーマンスの低下

開発した資産が重荷へ…• 多数の C/S プロジェクト、 FA アプリケーション

Page 7: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

7© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

移行で古いプロジェクトをプラスの資産に

データベースミドルエアの更新• 少ない労力で旧 BDE から最新 FireDAC へ更新可能

• 既存のコード資産を生かして最新環境へ

移行によってプロジェクトをリフレッシュ• 新データベースへの移行

• 新サーバーへの移行

• 新 OS の適用

Page 8: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

8© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

移行においてのポイントとなる点 OS の更新、 64bit 化

• 32bit → 64bit 、 UAC の考慮

データベース、サーバーの移行• デスクトップ DB: Paradox → InterBase, Oracle 8 → Oracle11g…

データベース接続ミドルウェアの更新 • BDE → FireDAC 、コンポーネントの書換え

サードパーティ ライブラリ、コンポーネント• FastReport, etc

Unicode 化• Ansi → Unicode : Char のサイズ、 PChar のでの取り扱い、 File I/O

Page 9: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

9© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

BDE の移行先としての:「 FireDAC 」 最新データベースミドルウエア・アクセスコンポーネント

• BDE のコンポーネントに対応するコンポーネントを実装

• Delphi / C++Builder 10.1 Berlin で利用可※

• 多数かつ最新のデータベース対応

• VCL のまま使える

• 移行ツールあり

• マルチデバイス対応 ( FireMonkey 利用時)

※ ローカルデータベースアクセスは Pro 版以上、リモートデータベースアクセスは Pro 版 + FireDAC Add-on Pack 以上

Page 10: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

10© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

BDE と FireDAC の親和性 親和性の高い対応コンポーネント

BDETDataBase

TSession

TTable

TQuery

TStoredProc

TUpdateSQL

TBatchMove

TDatabase

TQuery TTable

TDataSource

TFDConnection

TFDQuery TFTable

TFDConnection

TFDManager

TFDTable

TFDQuery

TFDStoredProc

TFDUpdateSQL

TFDDataMove

TFDPhysXXXXDriveLink

TFDGUIxWaitCursor

TDBGrid

Page 11: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

11© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

DBMS

FireDAC

Delphi/C++Builder

FireDAC の構成

FireMonkey および VCL

非ビジュアルコンポーネント [Comp] ビジュアルコンポーネント / フォーム [GUIx]ローカルストレージ [DatS]

データアダプタ [DApt]デバッグ / パフォーマンスモニタ

[Moni]

ネイティブドライバ [Phys] ブリッジドライバ [Phys]Oracl

e DB2 MS SQL

InterBase

FirebirdPG SQL

MySQL

Sybase ASA

SQLite

MS Acces

sODBC dbEx

p

DBMS クライアントソフトウエア

Oracle DB2 MS

SQLInterBas

eFirebird

PG SQL

MySQL

Sybase ASA

SQLite

MS Acces

sSybase ASE

Informix …

ODBCODBCdbExpress

ドライバ

ODBCODBCODBCドライバ

FireDAC が DB へのアクセスをコンポーネントとして提供

Page 12: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

12© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

reFind• 無料• コマンドラインツール

Delphi Parser• GUI 付• 有料 • 変更ルールをカスタマイズ

BDE to FireDAC 移行ツール

Page 13: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 13

ReFind:   BDE コンポーネントを  FireDAC コンポーネントに 移行する実践

Page 14: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

14© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

BDE の移行に必要となる主な手順

デモのポイントツールで一括変換

BDE プロジェクト→ FireDAC で動

FireDAC のログツール

BDE to FireDAC : コンポーネント変換

データベースマッピングの調整

接続設定プロパティの更新

非使用コンポーネントコードの削除・変更

新規コンポーネントの追加 (ドライバ、 Wait )

互換性のないプロパティの調整

API ・クエリの更新

https://community.embarcadero.com/blogs/entry/delphi-c-builder-bde-japan

Page 16: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

16© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

FireDAC データマッピング

参考 Dockwiki - データ型マッピング :http://docwiki.embarcadero.com/RADStudio/Berlin/ja/データ型マッピング(FireDAC)

プロパティ 説明

PrecMin/PrecMax ソース データ型の数値精度の範囲を定義します。

ScaleMin/ScaleMax ソース データ型の数値スケールの範囲を定義します。

SizeMin/SizeMax ソース データ型の文字列長の範囲を定義します。

SourceDataType ソース(変換元)データ型

TargetDataType ターゲット(変換先)データ型

NameMask 列名マスク

TypeMask 列のデータ型マスク

Page 17: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

17© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

FireDAC 移行後は FireDAC の機能を生かそう

• DML 配列機能• マクロ…

三層への対応• リモートデータベース化• 中間サーバーの構築

マルチデバイス開発と対応• 中間サーバーへのモバイルデバイス接続• クロスプラットフォーム開発

Page 18: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

18© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

移行後に検討可能なアプリケーション形態

RDBMS

Windowsクライアント

典型的なC/Sシステム

レガシーシステム

独自のプロトコルで接続

EMSDataSnap

中間サーバー

IoT デバイス

モバイルクライアント

ビッグデータ

デスクトップクライアント

HTTP(S)

RESTJSON

HTTP(S)

RESTJSON

HTTP(S)

RESTJSON

クラウドサービス

RAD Server

IntraWebVCL for Web

ウェブ

ER Studio

Page 19: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

19© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

「 BDE を使った業務アプリを移行ツールで最新化」まとめセミナー対象: BDE を使用中のコード資産をお持ちの方時間: 約 50 分

• BDE と取り巻く環境• 既存のコードは財産• 移行する上でのポイント• 移行ツールと移行手順実践• 移行後の広がりと最新化

Page 20: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

20© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

FireDAC : 参考となる資料 Embarcadero DockWiki

• FireDAChttp://docwiki.embarcadero.com/RADStudio/Berlin/ja/FireDAC

• FireDAC への BDE アプリケーションの移行http://docwiki.embarcadero.com/RADStudio/Berlin/ja/FireDAC_への_BDE_アプリケーションの移行

• データ型マッピング( FireDAC )http://docwiki.embarcadero.com/RADStudio/Berlin/ja/データ型マッピング(FireDAC)

28th デベロッパーキャンプにおける FireDAC の紹介• はじめての FireDAC : PDF

http://edn.embarcadero.com/article/images/43368/a2.pdf• YouTube

https://www.youtube.com/watch?v=lDD6z4NuGEohttps://www.youtube.com/watch?v=ZcLu6yq3wHE

Page 21: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

21© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp

移行 : 参考となる資料 エンバカデロ Web サイト

• RAD Studio マイグレーションセンター http://www.embarcadero.com/jp/rad-in-action/migration-upgrade-center

エンバカデロ ホワイトペーパーダウンロード• RAD Studio / Delphi / C++Builder 旧バージョンからの移行http://forms.embarcadero.com/rad-migration-papers

エンバカデロ デベロッパーズ ネットワーク• BDE から FireDAC への移⾏ - Paradox から InterBase の場合

http://edn.embarcadero.com/jp/article/42974

エンバカデロ 日本人ブログ • BDE を使った業務アプリを移行ツールで最新化

https://community.embarcadero.com/blogs/entry/delphi-c-builder-bde-japan

Page 23: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化

© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 23

THANKS!www.embarcadero.com/jp