[[Open棟梁>https://github.com/OpenTouryoProject]] wiki
「[[Open棟梁 wiki>https://opentouryo.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>FAQ]]

*目次 [#uf367a6a]
#contents

*参考 [#c03f88d3]
-.NET用アプリケーション フレームワーク ”棟梁” 利用ガイド(ベターユース、FAQ編)~
https://github.com/OpenTouryoProject/OpenTouryoDocuments/blob/master/documents/1_User_Guide/ja-JP/7_User_Guide(BetterUse_and_FAQ).doc

--3章:「B層に関するトピック」も参考にして下さい。
--7章:「FAQ」> 7.2節:「B層フレームワーク」も参考にして下さい。

*2フェーズコミットのサポート [#s4891a92]
現状サポートしていませんがTransactionScopeに対応したB層[[ベースクラス1]]を開発すれば実現は可能です。

*コネクション管理 [#d5d3ef14]
**コネクション管理の実装はどのようになっていますか? [#y7c4d898]
-マニュアルに記述されているとおり、
--B層[[ベースクラス2]]の[[UOC_ConnectionOpen]]メソッドでDBMS接続をOpenし、
--B層処理の完了時にフレームワーク側で自動的にDBMS接続をCloseされる

>と言う方式が基本になります。

-複数のDBMS接続のOpen、Closeもサポートしています。

*トランザクション管理 [#m12931af]
**トランザクション管理の実装はどのようになっていますか? [#k525856b]
-マニュアルに記述されているとおり、
--B層[[ベースクラス2]]の[[UOC_ConnectionOpen]]メソッドでトランザクションを開始し、
--B層処理の完了時にフレームワーク側で自動的に「コミット or ロールバック」される

>と言う方式が基本になります。

-トランザクションは、例外(Exception)が発生した場合にのみロールバックされます。
-2層C/S方式ではトランザクションの開始だけ自動化してあり、コミット・ロールバックは手動で行う必要があります。ただし、例外発生時は自動ロールバックになります。
-余談になりますが、B層ベースクラス2の[[UOC_ConnectionOpen]]メソッドの作り込みによって、クラス属性やメソッド属性を用いた属性ベースのトランザクション管理も可能になります。

**分割コミットなどは可能か? [#nb4e23fd]
以下のAPIをB層から呼び出す事で、B層内でのトランザクション分割コミットが可能です。
-this.GetDam().CommitTransaction()
-this.GetDam().BeginTransaction()

**手動のトランザクション管理は可能か? [#tbd150f2]
上記と同様に、Dam(データアクセス制御クラス)を直接生成してデータアクセスすることで、 
-手動のトランザクション管理が可能になります。
-また、2層C/S用フレームワークでは2本目の接続が可能になります。

しかし、標準化の観点から、その例外を認めるべきかどうかは、個別に検討下さい。

*B、D層を設けるのが面倒なことがある。 [#idd9290e]
-P層でDam(データアクセス制御クラス)を直接生成して~
データアクセスしてもらうことも可能です(P層のみ or P、D層の構成)。

-また、D層に共通Daoや、自動生成Daoを使用する場合、
--自作Daoの開発を割愛できます(P・B層のみの構成)。
--その場合、自作Daoは特別なケースに開発するなどプロジェクトでルールを策定して下さい。~
(インテリジェントなデータアクセスをラップするケース.etc)~
しかし、標準化の観点から、上記の例外を認めるべきかどうかは、個別に検討下さい。

*関連 [#c419aef9]
-[[UOC_ConnectionOpen]]

--接続
---ConnectionOpen
---ConnectionClose

--トランザクション
---BeginTransaction
---CommitTransaction
---RollbackTransaction

--Dam
---SetDam
---GetDam


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS