FAQ - B層フレームワーク
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>FAQ]]
--[[P層フレームワーク>FAQ - P層フレームワーク]]
--B層フレームワーク
--[[D層フレームワーク>FAQ - D層フレームワーク]]
--[[大規模案件導入>FAQ - 大規模案件導入]]
--[[その他>FAQ - その他]]
*目次 [#uf367a6a]
#contents
*概要 [#e1d4d13b]
主に、[[コネクション管理>#d5d3ef14]]、[[トランザクション...
*詳細 [#n98adc6b]
**コネクション管理 [#d5d3ef14]
***コネクション管理の実装はどのようになっていますか? [#y...
-マニュアルに記述されているとおり、
--B層[[ベースクラス2]]の[[UOC_ConnectionOpen]]メソッドでD...
--B層処理の完了時にフレームワーク側で自動的にDBMS接続をCl...
>と言う方式が基本になります。
-複数のDBMS接続のOpen、Closeもサポートしています。
**トランザクション管理 [#m12931af]
***トランザクション管理の実装はどのようになっていますか?...
-マニュアルに記述されているとおり、
--B層[[ベースクラス2]]の[[UOC_ConnectionOpen]]メソッドで...
--B層処理の完了時にフレームワーク側で自動的に「コミット o...
>と言う方式が基本になります。
-トランザクションは、例外(Exception)が発生した場合にの...
-2層C/S方式ではトランザクションの開始だけ自動化してあり、...
-余談になりますが、B層ベースクラス2の[[UOC_ConnectionOpen...
***手動のトランザクション管理は可能か? [#tbd150f2]
上記と同様に、[[Dam(データアクセス制御クラス)を直接生成...
-手動のトランザクション管理が可能になります。
-また、2層C/S用フレームワークでは2本目の接続が可能になり...
しかし、標準化の観点から、その例外を認めるべきかどうかは...
***分割コミットなどは可能か? [#nb4e23fd]
以下のAPIをB層から呼び出す事で、B層内でのトランザクション...
-this.GetDam().CommitTransaction()
-this.GetDam().BeginTransaction()
***SAVEPOINTを利用可能か? [#gbf5edbb]
-例えばOracleでSAVEPOINTを利用する場合、~
以下の様に書けばOracleTransactionを取得でき、~
プロバイダ固有のI/FであるSaveメソッドを利用できます。
OracleTransaction tx = ((DamManagedOdp)this.GetDam()).Da...
// Create a savepoint
tx.Save("MySavePoint");
// ...
// Rollback to the savepoint
txn.Rollback("MySavePoint");
-参考
--OracleTransactionクラス~
https://docs.oracle.com/cd/E16338_01/win.112/b66456/Oracl...
***2フェーズコミットのサポート [#s4891a92]
-現状サポートしていませんがTransactionScopeに対応したB層[...
-現時点では、意外なほど需要が無かったので、開発を見送って...
**B、D層を設けるのが面倒なことがある。 [#idd9290e]
規模の小さなツール開発などではよくやる、~
コードビハインドにベタ書きするパターン。
-P層でDam(データアクセス制御クラス)を直接生成して~
データアクセスしてもらうことも可能です(P層のみ or P、D層...
-また、D層に共通Daoや、自動生成Daoを使用する場合、
--自作Daoの開発を割愛できます(P・B層のみの構成)。
--その場合、自作Daoは特別なケースに開発するなどプロジェク...
(インテリジェントなデータアクセスをラップするケース.etc)~
しかし、標準化の観点から、上記の例外を認めるべきかどうか...
*参考 [#c03f88d3]
**API [#c419aef9]
-[[UOC_ConnectionOpen]]
--接続
---ConnectionOpen
---ConnectionClose
--トランザクション
---BeginTransaction
---CommitTransaction
---RollbackTransaction
--Dam
---SetDam
---GetDam
**doc [#t1ea3d27]
-.NET用アプリケーション フレームワーク ”棟梁” 利用ガイド...
https://github.com/OpenTouryoProject/OpenTouryoDocuments/...
--3章:「B層に関するトピック」も参考にして下さい。
--7章:「FAQ」> 7.2節:「B層フレームワーク」も参考にして下...
終了行:
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「...
-[[戻る>FAQ]]
--[[P層フレームワーク>FAQ - P層フレームワーク]]
--B層フレームワーク
--[[D層フレームワーク>FAQ - D層フレームワーク]]
--[[大規模案件導入>FAQ - 大規模案件導入]]
--[[その他>FAQ - その他]]
*目次 [#uf367a6a]
#contents
*概要 [#e1d4d13b]
主に、[[コネクション管理>#d5d3ef14]]、[[トランザクション...
*詳細 [#n98adc6b]
**コネクション管理 [#d5d3ef14]
***コネクション管理の実装はどのようになっていますか? [#y...
-マニュアルに記述されているとおり、
--B層[[ベースクラス2]]の[[UOC_ConnectionOpen]]メソッドでD...
--B層処理の完了時にフレームワーク側で自動的にDBMS接続をCl...
>と言う方式が基本になります。
-複数のDBMS接続のOpen、Closeもサポートしています。
**トランザクション管理 [#m12931af]
***トランザクション管理の実装はどのようになっていますか?...
-マニュアルに記述されているとおり、
--B層[[ベースクラス2]]の[[UOC_ConnectionOpen]]メソッドで...
--B層処理の完了時にフレームワーク側で自動的に「コミット o...
>と言う方式が基本になります。
-トランザクションは、例外(Exception)が発生した場合にの...
-2層C/S方式ではトランザクションの開始だけ自動化してあり、...
-余談になりますが、B層ベースクラス2の[[UOC_ConnectionOpen...
***手動のトランザクション管理は可能か? [#tbd150f2]
上記と同様に、[[Dam(データアクセス制御クラス)を直接生成...
-手動のトランザクション管理が可能になります。
-また、2層C/S用フレームワークでは2本目の接続が可能になり...
しかし、標準化の観点から、その例外を認めるべきかどうかは...
***分割コミットなどは可能か? [#nb4e23fd]
以下のAPIをB層から呼び出す事で、B層内でのトランザクション...
-this.GetDam().CommitTransaction()
-this.GetDam().BeginTransaction()
***SAVEPOINTを利用可能か? [#gbf5edbb]
-例えばOracleでSAVEPOINTを利用する場合、~
以下の様に書けばOracleTransactionを取得でき、~
プロバイダ固有のI/FであるSaveメソッドを利用できます。
OracleTransaction tx = ((DamManagedOdp)this.GetDam()).Da...
// Create a savepoint
tx.Save("MySavePoint");
// ...
// Rollback to the savepoint
txn.Rollback("MySavePoint");
-参考
--OracleTransactionクラス~
https://docs.oracle.com/cd/E16338_01/win.112/b66456/Oracl...
***2フェーズコミットのサポート [#s4891a92]
-現状サポートしていませんがTransactionScopeに対応したB層[...
-現時点では、意外なほど需要が無かったので、開発を見送って...
**B、D層を設けるのが面倒なことがある。 [#idd9290e]
規模の小さなツール開発などではよくやる、~
コードビハインドにベタ書きするパターン。
-P層でDam(データアクセス制御クラス)を直接生成して~
データアクセスしてもらうことも可能です(P層のみ or P、D層...
-また、D層に共通Daoや、自動生成Daoを使用する場合、
--自作Daoの開発を割愛できます(P・B層のみの構成)。
--その場合、自作Daoは特別なケースに開発するなどプロジェク...
(インテリジェントなデータアクセスをラップするケース.etc)~
しかし、標準化の観点から、上記の例外を認めるべきかどうか...
*参考 [#c03f88d3]
**API [#c419aef9]
-[[UOC_ConnectionOpen]]
--接続
---ConnectionOpen
---ConnectionClose
--トランザクション
---BeginTransaction
---CommitTransaction
---RollbackTransaction
--Dam
---SetDam
---GetDam
**doc [#t1ea3d27]
-.NET用アプリケーション フレームワーク ”棟梁” 利用ガイド...
https://github.com/OpenTouryoProject/OpenTouryoDocuments/...
--3章:「B層に関するトピック」も参考にして下さい。
--7章:「FAQ」> 7.2節:「B層フレームワーク」も参考にして下...
ページ名: