delphi / c++builder 業務アプリケーション 刷新実践法:...
TRANSCRIPT
![Page 1: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/1.jpg)
© 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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/2.jpg)
© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential.
BDE を使った業務アプリを
移行ツールで最新化
![Page 3: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/3.jpg)
3© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
「 BDE を使った業務アプリを移行ツールで最新化」アジェンダセミナー対象: BDE を使用中のコード資産をお持ちの方時間: 約 50 分
• BDE と取り巻く環境• 既存のコードは財産• 移行する上でのポイント• 移行ツールと移行手順実践• 移行後の広がりと最新化
![Page 4: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/4.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/5.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/6.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/7.jpg)
7© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
移行で古いプロジェクトをプラスの資産に
データベースミドルエアの更新• 少ない労力で旧 BDE から最新 FireDAC へ更新可能
• 既存のコード資産を生かして最新環境へ
移行によってプロジェクトをリフレッシュ• 新データベースへの移行
• 新サーバーへの移行
• 新 OS の適用
![Page 8: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/8.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/9.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/10.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/11.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/12.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/13.jpg)
© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 13
ReFind: BDE コンポーネントを FireDAC コンポーネントに 移行する実践
![Page 14: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/14.jpg)
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 15: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/15.jpg)
15© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
デモ 参考: Delphi 6 での BDE 使用画面
参考となる資料: DockWiki 「 FireDAC_ への _BDE_ アプリケーションの移行」http://docwiki.embarcadero.com/RADStudio/Berlin/ja/FireDAC_への_BDE_アプリケーションの移行
![Page 16: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/16.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/17.jpg)
17© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
FireDAC 移行後は FireDAC の機能を生かそう
• DML 配列機能• マクロ…
三層への対応• リモートデータベース化• 中間サーバーの構築
マルチデバイス開発と対応• 中間サーバーへのモバイルデバイス接続• クロスプラットフォーム開発
![Page 18: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/18.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/19.jpg)
19© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
「 BDE を使った業務アプリを移行ツールで最新化」まとめセミナー対象: BDE を使用中のコード資産をお持ちの方時間: 約 50 分
• BDE と取り巻く環境• 既存のコードは財産• 移行する上でのポイント• 移行ツールと移行手順実践• 移行後の広がりと最新化
![Page 20: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/20.jpg)
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を使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/21.jpg)
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 22: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/22.jpg)
22© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
移行ツール: 参考となる資料 reFind
• http://docwiki.embarcadero.com/RADStudio/Berlin/ja/Perl_RegEx_式を使用する検索および置換ユーティリティ:_reFind.exe
Delphi Parser• https://delphiparser.com/
先日のセミナー内容を弊社ブログに掲載
![Page 23: Delphi / C++Builder 業務アプリケーション 刷新実践法: BDEを使った業務アプリを移行ツールで最新化](https://reader036.vdocuments.site/reader036/viewer/2022081422/58a2d2f91a28ab692e8b568f/html5/thumbnails/23.jpg)
© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 23
THANKS!www.embarcadero.com/jp