SlideShare a Scribd company logo
© 2017 Embarcadero Technologies, Inc.
All rights reserved. Proprietary and confidential.
BDEを使った業務アプリを
移行ツールで最新化
Delphi / C++Builder
業務アプリケーション 刷新実践法
2017年2月3日(金) 14:00~17:00
© 2017 Embarcadero Technologies, Inc.
All rights reserved. Proprietary and confidential.
BDEを使った業務アプリを
移行ツールで最新化
3© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
「BDEを使った業務アプリを移行ツールで最新化」アジェンダ
セミナー対象:BDEを使用中のコード資産をお持ちの方
時間: 約50分
• 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…
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自体のサポート終了
6© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
BDEサポート範囲のままではマイナスの資産?
 Windows XPのまま運用
• セキュリティリスク
 デスクトップDBで運用
• マルチデバイス運用に対し接続の壁
 新データベース接続の壁
• 古いクライアントドライバのみ
• Unicodeデータベース採用時の壁
 サーバー、ハードウエアの老朽化
• 古いServer OS、相対的なパフォーマンスの低下
 開発した資産が重荷へ…
• 多数のC/Sプロジェクト、FAアプリケーション
7© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
移行で古いプロジェクトをプラスの資産に
 データベースミドルエアの更新
• 少ない労力で旧BDEから最新FireDACへ更新可能
• 既存のコード資産を生かして最新環境へ
 移行によってプロジェクトをリフレッシュ
• 新データベースへの移行
• 新サーバーへの移行
• 新OSの適用
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
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以上
10© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
BDEとFireDACの親和性
 親和性の高い対応コンポーネント
BDE
TDataBase
TSession
TTable
TQuery
TStoredProc
TUpdateSQL
TBatchMove
TDatabase
TQuery
TTable
TDataSource
TFDConnection
TFDQuery
TFTable
TFDConnection
TFDManager
TFDTable
TFDQuery
TFDStoredProc
TFDUpdateSQL
TFDDataMove
TFDPhysXXXXDriveLink
TFDGUIxWaitCursor
TDBGrid
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]
Oracle DB2
MS
SQL
InterBase
Firebird
PG
SQL
My
SQL
Sybase
ASA
SQLite
MS
Access
ODBC dbExp
DBMSクライアントソフトウエア
Oracle DB2
MS
SQL
InterBase
Firebird
PG
SQL
My
SQL
Sybase
ASA
SQLite
MS
Access
Sybase
ASE
Informix …
ODBCODBCdbExpress
ドライバ
ODBCODBCODBC
ドライバ
FireDACがDBへのアクセスをコンポーネントとして提供
12© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
 reFind
• 無料
• コマンドラインツール
 Delphi Parser
• GUI付
• 有料
• 変更ルールをカスタマイズ
BDE to FireDAC 移行ツール
© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 13
ReFind:
BDEコンポーネントを
FireDACコンポーネントに
移行する実践
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
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_アプリケーションの移行
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 列のデータ型マスク
17© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
FireDAC移行後は
 FireDACの機能を生かそう
• DML配列機能
• マクロ…
 三層への対応
• リモートデータベース化
• 中間サーバーの構築
 マルチデバイス開発と対応
• 中間サーバーへのモバイルデバイス接続
• クロスプラットフォーム開発
18© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
移行後に検討可能なアプリケーション形態
RDBMS
Windowsクライアント
典型的なC/Sシステム
レガシーシステム
独自のプロトコルで接続
EMS
DataSnap
中間サーバー
IoTデバイス
モバイル
クライアント
ビッグデータ
デスクトップ
クライアント
HTTP(S)
REST
JSON
HTTP(S)
REST
JSON
HTTP(S)
REST
JSON
クラウドサービス
RAD Server
IntraWeb
VCL for Web
ウェブ
ER Studio
19© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
「BDEを使った業務アプリを移行ツールで最新化」まとめ
セミナー対象:BDEを使用中のコード資産をお持ちの方
時間: 約50分
• BDEと取り巻く環境
• 既存のコードは財産
• 移行する上でのポイント
• 移行ツールと移行手順実践
• 移行後の広がりと最新化
20© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp
FireDAC : 参考となる資料
 Embarcadero DockWiki
• FireDAC
http://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=lDD6z4NuGEo
https://www.youtube.com/watch?v=ZcLu6yq3wHE
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
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/
先日のセミナー内容を
弊社ブログに掲載
© 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 23
THANKS!
www.embarcadero.com/jp

More Related Content

PPTX
移行セミナー BDE to FireDAC 20161018
PPTX
BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)
PPTX
【U-22】Delphi / C++Builder / RAD Studio 概要
PPTX
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
PDF
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
PDF
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
PDF
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
PPTX
(Live Tokyo) 米GEのIoT基盤「Predix」を支えるNoSQL Couchbaseモバイルソリューション
移行セミナー BDE to FireDAC 20161018
BDEを使った業務アプリを移行ツールで最新化(2017年4月14日開催)
【U-22】Delphi / C++Builder / RAD Studio 概要
データベースアプリケーション開発セミナー・最新のデータベースとアプリケーション開発の関係
[db tech showcase Tokyo 2017] C25: 世界最速のAnalytic DBがHadoopとタッグを組んだ! ~スケールアウト検...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
[db tech showcase Tokyo 2017] E35: 12台でやってみた!DWHソフトウェアアプライアンス Db2 Warehouse ~...
(Live Tokyo) 米GEのIoT基盤「Predix」を支えるNoSQL Couchbaseモバイルソリューション

What's hot (20)

PDF
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
PDF
[de:code 2019 振り返り Night!] Data Platform
PPTX
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
PDF
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
PPTX
Dell emc highperformancevirtualinfracommunitymeetup_20180621publish
PPTX
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
PDF
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
PDF
VMware vForum/VSS2013にて発表されたNetAppセッションコンテンツ
PDF
IETF92報告IoT関連
PPTX
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
PDF
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
PDF
Datrium high performance_virtual_infra_community
PDF
Daisukei vsug ef
PDF
Google Compute EngineとGAE Pipeline API
PDF
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
PDF
de:code 2019 Cloud トラック 総まとめ!
PPTX
Keycloakの実際・翻訳プロジェクト紹介
PDF
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
PDF
OpenStack Summit 2017 Boston 報告会 サミット全体概要
PDF
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
性能問題を起こしにくい 強いDBシステムの作り方(Ver. 2018.9)
[de:code 2019 振り返り Night!] Data Platform
ウェブを速くするためにDeNAがやっていること - HTTP/2と、さらにその先
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
Dell emc highperformancevirtualinfracommunitymeetup_20180621publish
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
IT pro Special 登壇資料 Windows server 2003 移行先の選択と特徴
VMware vForum/VSS2013にて発表されたNetAppセッションコンテンツ
IETF92報告IoT関連
GraalVMの多言語実行機能が凄そうだったので試しにApache Sparkに組み込んで動かしてみたけどちょっとまだ早かったかもしれない(Open So...
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
Datrium high performance_virtual_infra_community
Daisukei vsug ef
Google Compute EngineとGAE Pipeline API
Yahoo! JAPANのサービス開発を10倍早くした社内PaaS構築の今とこれから
de:code 2019 Cloud トラック 総まとめ!
Keycloakの実際・翻訳プロジェクト紹介
Spark 3.0が目指す、よりインテリジェントなUnified Analytics Platform(db tech showcase 2019 Tok...
OpenStack Summit 2017 Boston 報告会 サミット全体概要
[db tech showcase Tokyo 2017] E24: 流行りに乗っていれば幸せになれますか?数あるデータベースの中から敢えて今Db2が選ば...
Ad

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

PDF
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
PPTX
Javaアプリケーションの モダナイゼーションアプローチ
PPTX
kintoneを多様なツールでつなぐには?
PDF
2017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介2017
PPTX
20170626 さくらインターネット Stripe Magento
PDF
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
PPTX
2017 roadmap
PPTX
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
PDF
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
PDF
CFの便利機能を他の環境でも。Open Service Broker
PPTX
KDDIが考える顧客へ本当の価値を届けるための開発手法
PPTX
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
PDF
スケーラブルで手間なく動かせる!もうすぐ 一般提供開始 Azure Database for MySQL / PostgreSQL
PDF
Rancherを活用して開発効率を上げる
PDF
ゼロからのプログラミングRails講座 Codeanywhere版
PDF
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
PPTX
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
PPTX
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
PDF
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
PDF
既存システムへの新技術活用法 ~fluntd/MongoDB~
【16-D-4】3分ではじめるスマホアプリのビジュアル開発
Javaアプリケーションの モダナイゼーションアプローチ
kintoneを多様なツールでつなぐには?
2017秋「クラウドファースト時代における基幹業務システム開発革新セミナー」 超高速開発を実現するIBMクラウドの最新情報ご紹介2017
20170626 さくらインターネット Stripe Magento
【17-E-4】GitHub Enterpriseユーザ企業登壇!企業文化にイノベーションを起こすモダンなソフトウェア開発環境とは?
2017 roadmap
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
【IVS CTO Night & Day】AWS re:Invent 2017 振り返り
CFの便利機能を他の環境でも。Open Service Broker
KDDIが考える顧客へ本当の価値を届けるための開発手法
Webセミナー「RAD Studio 10.1 Berlin Update 2 Anniversary Edition 新機能ガイド」
スケーラブルで手間なく動かせる!もうすぐ 一般提供開始 Azure Database for MySQL / PostgreSQL
Rancherを活用して開発効率を上げる
ゼロからのプログラミングRails講座 Codeanywhere版
CODT2020 ビジネスプラットフォームを支えるCI/CDパイプライン ~エンタープライズのDevOpsを加速させる運用改善Tips~
ノンコーディング・超高速のApi 開発・運用基盤「cdata api server」のご紹介
OSSプロジェクトへのコントリビューション はじめの一歩を踏み出そう!(Open Source Conference 2022 Online/Spring...
MongoDB社の製品紹介 2019-MongoDB EA&Atlas
既存システムへの新技術活用法 ~fluntd/MongoDB~
Ad

More from Kaz Aiso (10)

PPTX
開発の現場でも役に立つボトプアップによるデータモデリング活用実例
PPTX
ER/Studio データベース設計ツール ER Studio
PPTX
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」
PPTX
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第5回 「配列 と レコード 」
PPTX
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第4回 「Function と Pro...
PPTX
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
PPTX
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„
PPTX
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
PPTX
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
PPTX
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーション
開発の現場でも役に立つボトプアップによるデータモデリング活用実例
ER/Studio データベース設計ツール ER Studio
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第7回 「オブジェクト指向 」
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第5回 「配列 と レコード 」
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第4回 「Function と Pro...
RAD Studioで始めるマルチデバイス・クロスプラットフォーム開発ワークショップ
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第2回 ‟変数と型„
【DELPHI / C++BUILDER STARTER チュートリアルシリーズ】 シーズン2 Delphi の部 第1回 ‟シューティングゲームのプロ...
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY1: Delphiで作るはじめてのアプリケーション

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

  • 1. © 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. BDEを使った業務アプリを 移行ツールで最新化 Delphi / C++Builder 業務アプリケーション 刷新実践法 2017年2月3日(金) 14:00~17:00
  • 2. © 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. BDEを使った業務アプリを 移行ツールで最新化
  • 3. 3© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 「BDEを使った業務アプリを移行ツールで最新化」アジェンダ セミナー対象:BDEを使用中のコード資産をお持ちの方 時間: 約50分 • BDEと取り巻く環境 • 既存のコードは財産 • 移行する上でのポイント • 移行ツールと移行手順実践 • 移行後の広がりと最新化
  • 4. 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…
  • 5. 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自体のサポート終了
  • 6. 6© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp BDEサポート範囲のままではマイナスの資産?  Windows XPのまま運用 • セキュリティリスク  デスクトップDBで運用 • マルチデバイス運用に対し接続の壁  新データベース接続の壁 • 古いクライアントドライバのみ • Unicodeデータベース採用時の壁  サーバー、ハードウエアの老朽化 • 古いServer OS、相対的なパフォーマンスの低下  開発した資産が重荷へ… • 多数のC/Sプロジェクト、FAアプリケーション
  • 7. 7© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 移行で古いプロジェクトをプラスの資産に  データベースミドルエアの更新 • 少ない労力で旧BDEから最新FireDACへ更新可能 • 既存のコード資産を生かして最新環境へ  移行によってプロジェクトをリフレッシュ • 新データベースへの移行 • 新サーバーへの移行 • 新OSの適用
  • 8. 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
  • 9. 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以上
  • 10. 10© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp BDEとFireDACの親和性  親和性の高い対応コンポーネント BDE TDataBase TSession TTable TQuery TStoredProc TUpdateSQL TBatchMove TDatabase TQuery TTable TDataSource TFDConnection TFDQuery TFTable TFDConnection TFDManager TFDTable TFDQuery TFDStoredProc TFDUpdateSQL TFDDataMove TFDPhysXXXXDriveLink TFDGUIxWaitCursor TDBGrid
  • 11. 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] Oracle DB2 MS SQL InterBase Firebird PG SQL My SQL Sybase ASA SQLite MS Access ODBC dbExp DBMSクライアントソフトウエア Oracle DB2 MS SQL InterBase Firebird PG SQL My SQL Sybase ASA SQLite MS Access Sybase ASE Informix … ODBCODBCdbExpress ドライバ ODBCODBCODBC ドライバ FireDACがDBへのアクセスをコンポーネントとして提供
  • 12. 12© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp  reFind • 無料 • コマンドラインツール  Delphi Parser • GUI付 • 有料 • 変更ルールをカスタマイズ BDE to FireDAC 移行ツール
  • 13. © 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 13 ReFind: BDEコンポーネントを FireDACコンポーネントに 移行する実践
  • 14. 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
  • 15. 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_アプリケーションの移行
  • 16. 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 列のデータ型マスク
  • 17. 17© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp FireDAC移行後は  FireDACの機能を生かそう • DML配列機能 • マクロ…  三層への対応 • リモートデータベース化 • 中間サーバーの構築  マルチデバイス開発と対応 • 中間サーバーへのモバイルデバイス接続 • クロスプラットフォーム開発
  • 18. 18© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 移行後に検討可能なアプリケーション形態 RDBMS Windowsクライアント 典型的なC/Sシステム レガシーシステム 独自のプロトコルで接続 EMS DataSnap 中間サーバー IoTデバイス モバイル クライアント ビッグデータ デスクトップ クライアント HTTP(S) REST JSON HTTP(S) REST JSON HTTP(S) REST JSON クラウドサービス RAD Server IntraWeb VCL for Web ウェブ ER Studio
  • 19. 19© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp 「BDEを使った業務アプリを移行ツールで最新化」まとめ セミナー対象:BDEを使用中のコード資産をお持ちの方 時間: 約50分 • BDEと取り巻く環境 • 既存のコードは財産 • 移行する上でのポイント • 移行ツールと移行手順実践 • 移行後の広がりと最新化
  • 20. 20© 2017 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. #embtwebi_jp FireDAC : 参考となる資料  Embarcadero DockWiki • FireDAC http://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=lDD6z4NuGEo https://www.youtube.com/watch?v=ZcLu6yq3wHE
  • 21. 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
  • 22. 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/ 先日のセミナー内容を 弊社ブログに掲載
  • 23. © 2016 Embarcadero Technologies, Inc. All rights reserved. Proprietary and confidential. 23 THANKS! www.embarcadero.com/jp