BDEを使った業務アプリを移行ツールで最新化
BDEでOracleや MS SQL等のRDBMSと接続する比較的大きなC/Sシステム・アプリケーションを移行するのは大変な作業に思えます。しかし、そのまま旧型のシステムを使い続けた場合、セキュリティリスクが発生すると共に、より発展的な開発の足かせとなります。そこで、無料の変換ツールを使って、旧型のデータベース接続エンジンのBDEから最新のFireDACへ、より効率よく対応させる手法をデモ交えてお伝えします。無料の移行ツールで古いプロジェクトをリフレッシュして、新資産として生かしましょう。
BDEを使った業務アプリを移行ツールで最新化
BDEでOracleや MS SQL等のRDBMSと接続する比較的大きなC/Sシステム・アプリケーションを移行するのは大変な作業に思えます。しかし、そのまま旧型のシステムを使い続けた場合、セキュリティリスクが発生すると共に、より発展的な開発の足かせとなります。そこで、無料の変換ツールを使って、旧型のデータベース接続エンジンのBDEから最新のFireDACへ、より効率よく対応させる手法をデモ交えてお伝えします。無料の移行ツールで古いプロジェクトをリフレッシュして、新資産として生かしましょう。
Vivemos uma era de mudanças constantes. Youtubers têm mais audiência que grandes redes. Blogs desafiam jornais, startups desafiam corporações. Chatbots atendem com rapidez e eficiência. Algoritmos fazem escolhas. O poder das redes coloca em xeque os modelos tradicionais de publicidade. A economia colaborativa transforma os negócios. Inovar se transformou buzzword mas, ao mesmo tempo, competência fundamental tanto para profissionais quanto para empresas para quem querem vencer (ou pelo menos sobreviver). Nessa apresentação você vai conhecer o “kit de sobrevivência” para a reinvenção permanente da forma de planejar e executar marketing na era da revolução do conteúdo. Palestra para o www.fic2016.com.br
Vivemos uma era de mudanças constantes. Youtubers têm mais audiência que grandes redes. Blogs desafiam jornais, startups desafiam corporações. Chatbots atendem com rapidez e eficiência. Algoritmos fazem escolhas. O poder das redes coloca em xeque os modelos tradicionais de publicidade. A economia colaborativa transforma os negócios. Inovar se transformou buzzword mas, ao mesmo tempo, competência fundamental tanto para profissionais quanto para empresas para quem querem vencer (ou pelo menos sobreviver). Nessa apresentação você vai conhecer o “kit de sobrevivência” para a reinvenção permanente da forma de planejar e executar marketing na era da revolução do conteúdo. Palestra para o www.fic2016.com.br
6. 各テクノジーの比較(ザックリと・・・)
N 階層 マルチ チュー データモデ 開発生産性 将来性 総じて言えば・・・
システム DB 対応 ニング ルの柔軟性 ・保守性
成熟 機能的にも成熟、情報も豊富。細
ADO.NE
○ △ ○ △ △ かいチューニングが必要な業務
相対的に細
T 部まで制御 アプリなどで有効。
DataSet 出来る
大きな進 基本はEFを使えないか検討すべ
△ × △ △ △ 化はなし き。マイグレーションツールもあり。
LINQ to SQL Server 相対的に
SQL に特化 速度は低
○ ○ △ ○ ○ 進化を継 生産性・保守性が高く、アジャイ
EF 概念モデル 相対的に良い 続 ルな開発現場で有効。Webなど
を定義 ことが多い ライトなアプリ開発に便利。
VSUG DAY 2012 Winter 2012.12.15
7. ご参考
EF Supports Multiple Databases -
www.tinyurl.com/efproviders
Oracle Data MySQL Progress
Provider for Devart Connector/NET DataDirect
.NET Connect
VistaDB OpenLink IBM (DB2, Sybase SQL
Software Informix, U2) Anywhere
Sybase Phoenix
Adaptive Software SQL Compact Synergex
Server Solutions
Enterprise
VSUG DAY 2012 Winter 2012.12.15
8. EF の進化
EF 1 EF 4 EF 4.1, 4.2 EF 4.3 EF 5
•Included in.NET 3.5/VS •Included in .NET 4/VS 2010 •Out of band release •Out of band release ・Out of band release
2008 SP1 •POCO •Available on NuGet •Available on NuGet
•Database First ・Available on NuGet
•Lazy Loading •Builds on .NET 4 •Builds on .NET 4
•Basic O/RM support •FKs •Code First •Code First Migrations ・Builds on .NET 4
•Testability •Simplified DbContext API •Improved Database ・Code First Migrations
•Model First •Semantic Versioning Generation
•Code First & DbContext bug ・Improved Database
•Customizable T4 Code-Gen
fixes Generation
•N-Tier
・Code First & DbContext bug
fixes
2008/08 2012/08
VSUG DAY 2012 Winter 2012.12.15
9. EF 1
インピーダンス ミスマッチ問題の解決
プレゼンテーション層
Database First
EF
基本的な O/R マッパー ドメイン層
データ層
RDB
VSUG DAY 2012 Winter 2012.12.15
10. EF 4
ドメイン駆動、N 階層システムの開発を
プレゼンテーション層
意識した機能強化
Model First
EDM から DB オブジェクトを生成 EF
【概念モデル】-> 【論理モデル】の流れで開発が出来る ドメイン層
Persistence Ignorance(PI)
POCO(Plain-Old CLR Object)
永続化技術(EFなど)に依存しない実装が可能
他の技術への変更が容易になった データ層
Change Tracking
自己追跡エンティティ(DataSet の DiffGram に相当)
変更(CUD)履歴をエンティティが管理 RDB
階層を跨ったエンティティの CRUD が容易になった
VSUG DAY 2012 Winter 2012.12.15
12. EF 4.1, 4.2
より迅速な開発を意識した機能強化 プレゼンテーション層
Code First
コードから DB や DB オブジェクトを生成 EF
テスト駆動開発やアジャイルな開発、
public partial class Entry
{
ドメイン層 public virtual int ID
{
get;
プロトタイプの開発に有効 }
set;
特に MVC などライトな Web アプリ開発に有効
特徴
• POCO ベースのエンティティ データ層
• CoC(Convention over Configuration)
「規約は設定に勝る」がベースの開発
RDB
VSUG DAY 2012 Winter 2012.12.15
20. EF 5
追加機能
マルチダイアグラム
Enum
Spatial types (Geography / Geometry)
デザイナの改善 enum
Table-Valued Functions
パフォーマンスの向上
Automatic query caching for LINQ
LINQ parameter evaluation optimization ストアドプロシージャと
ハイライトとカラーリング 関数のバッチインポート
Table-Per-Type query optimization
Large model improvements
VSUG DAY 2012 Winter 2012.12.15
21. EF 4.0 と比べ 600% 近く性能が向上
Performance in warm execution of query based on key
2500%
2000%
1500%
Time spent
1000%
500%
0%
Handcoded EF Raw SQL EF Compiled Query Entity SQL LINQ to Entities LINQ to SQL
ADO.NET
.NET 4.0 100% 199% 262% 1518% 2314% 1650%
.NET 4.5 100% 211% 269% 406% 412% 1350%
VSUG DAY 2012 Winter 2012.12.15
32. Entity Framework のバージョンと機能
.NET/VS releases OOB releases
EF 6.0
EF 1.0 EF 4.0 EF 4.1, 4.2 EF 4.3 EF 5.0
Alpah
Provider Model
EntityClient
MetadataWorkspace .NET 3.5 SP1 .NET 4.0 .NET 4.0 .NET 4.0 .NET 4.5 .NET 4.5
ObjectContext
EntityDataSource
VS 2008
VS 2010 VS 2010 VS 2010 VS2012 VS 2012
Entity Designer SP1
DbContext Template VS Gallery VS Gallery VS Gallery VS Gallery
DbContext
NuGet
Code First NuGet NuGet NuGet
Migrations
※EF 5 will work with Visual Studio 2010
VSUG DAY 2012 Winter 2012.12.15
33. まとめ
• 要件に応じた適切な選択肢を選択
– テクノロジー:EF, ADO.NET DataSet, LINQ to SQL
– 開発手法:DB First, Model First, Code First
• EF は進化を継続
– EF1 → EF4 → EF5 … EF6……
VSUG DAY 2012 Winter 2012.12.15
36. Developer ワークフロー
Designer Centric Code Centric
Model First Code First
• デザイナによるモデル( .edmx )の作 • コードでモデルを定義
成 • ランタイムに DB を自動生成
• モデルからクラスの自動生成
• モデルから DB の作成
Database First Code First
• DB からモデルを自動生成 • コードでモデルを定義
• DB からクラスを自動生成 (Reverse engineer tools available)
VSUG DAY 2012 Winter 2012.12.15