[seasar-dotnet:1524] Re: [DBFlute][S2Remoting] リモートオブジェクトを取得したい
西山 はじめ
[E-MAIL ADDRESS DELETED]
2009年 11月 20日 (金) 10:15:32 JST
小谷さん。
西山(hajimeni)です。
返信ありがとうございます。
> 個人的にはQuillを使うにせよS2Containerを使うにせよ
> Seasar.NETを利用するのはサーバ側のみとし、
> リモートオブジェクトの取得・利用は
> .NET標準のやり方(公式ガイドなどに載っているような)で
> 行うことをオススメしたいです。
> (WCFだけかもしれませんが、
> VisualStudioで必要なクラスをある程度
> 自動生成できるはずなので)
構成等はまだ、全然決まっておりません。
確かに通信部分は.NET標準の方が問題が少なくなりそうですね。
検討してみたいと思います。
> ServiceからFacadeの処理を呼び出す、という形が
> 作りやすいのではないでしょうか。
>
> (以前、私が関わったことがある
> Silverlight(+WCF)+Seasar.NET+DBFluteな
> プロジェクトでは上記のような形で作成していました)
イメージでは、次のような感じでよろしいでしょうか?
|Client| |Server|
[画面] ⇒ <WCF> ⇒ [Service] ⇒(*) [Facade] ⇒ [Bhv]
・(*)の呼び出し部分をトランザクション境界にする。
・画面からは、WCFを通してServiceを呼び出す。
画面:Service = 1:1 のような構成の場合、
Facade:Service も 1:1 という考え方でよろしいでしょうか?
>> 4.ロジック変更時に、サーバー側のDLLは入れ替え無しとしたい。
>> というのも、他で開発されたプロジェクトで、
>> 「SQL文を配列にして投げればトランザクションになる」というラ
>> イブラリがあり、「これを使うか、同じ仕組みにしてくれ」
>> という要望があります。
>
> こちらについては
> 恥ずかしながら、私も良さそうな考えが浮かびません。。。
> このライブラリ(もしくは同等のインターフェース)を
> 使わざるをえないのであれば
> Seasar.NETを利用するにしてもコンポーネントの管理と
> (トランザクションを除く)インターセプターの利用程度に
> 留めておいた方が無難かと思います。
> (SQL文そのものではなくSQLファイルのパスを渡すのであれば
> 工夫すれば外出しSQLと組み合わせることができるかもしれません)
これは、どうにか利用しない方向で進める予定です。
周りでは、今だに「SQL文を自力で組み立てて(バインド変数も利
用しない)コーディングする手法が根強いため、なかなか手ごわそ
うでありますが。
大変参考になりました。ありがとうございます。
また、何かご相談させていただくことがある際には、よろしくお願
いいたします。
以上よろしくお願いいたします。
[2009/11/19 23:26] koyak さんは書きました。:
> 西山(hajimeni)さん
>
> 小谷です。
>
> 個人的にはQuillを使うにせよS2Containerを使うにせよ
> Seasar.NETを利用するのはサーバ側のみとし、
> リモートオブジェクトの取得・利用は
> .NET標準のやり方(公式ガイドなどに載っているような)で
> 行うことをオススメしたいです。
> (WCFだけかもしれませんが、
> VisualStudioで必要なクラスをある程度
> 自動生成できるはずなので)
>
> リモートオブジェクトの取得でSeasar.NETを利用する
> =クライアント側でもSeasar.NETを利用する
>
> ということになると思いますが、
> 仮にそのようにした場合、Seasar.dllなども一緒に
> クライアントに配布しなければならなくなります。
> そうなるとSeasar.NETをバージョンアップさせる必要が
> 出てきたときなどにコストがかかることになり
> (クライアントにもよりますが)、
> .NET Remoting(もしくはWCF)を使う意味が半減してしまうのでは
> ないかと思います。
>
>> 1.C/Sシステムで、.NETを利用。
>> 2.DBとの接続は、サーバーが行う。
>> 3.トランザクション処理を行いたい。
>> [Form] ⇒A⇒ [Service] ⇒B⇒ [Bhv]
>
> という構成であれば、西山さんがおっしゃる通り
> Aの部分から右をDLLとしてサーバーに配置
> ↓
> DBFlute.NETを利用したDBアクセス処理を実装
> ↓
> Facadeのようなものを用意してそれをトランザクション境界に
> ↓
> ServiceからFacadeの処理を呼び出す、という形が
> 作りやすいのではないでしょうか。
>
> (以前、私が関わったことがある
> Silverlight(+WCF)+Seasar.NET+DBFluteな
> プロジェクトでは上記のような形で作成していました)
>
>> 4.ロジック変更時に、サーバー側のDLLは入れ替え無しとしたい。
>> というのも、他で開発されたプロジェクトで、
>> 「SQL文を配列にして投げればトランザクションになる」というラ
>> イブラリがあり、「これを使うか、同じ仕組みにしてくれ」
>> という要望があります。
>
> こちらについては
> 恥ずかしながら、私も良さそうな考えが浮かびません。。。
>
> このライブラリ(もしくは同等のインターフェース)を
> 使わざるをえないのであれば
> Seasar.NETを利用するにしてもコンポーネントの管理と
> (トランザクションを除く)インターセプターの利用程度に
> 留めておいた方が無難かと思います。
> (SQL文そのものではなくSQLファイルのパスを渡すのであれば
> 工夫すれば外出しSQLと組み合わせることができるかもしれません)
>
>
> ご相談になられていることと論点がずれてしまって
> いましたらご容赦下さい。
>
>
> 2009年11月19日20:32 西山 はじめ <[E-MAIL ADDRESS DELETED]>:
>> お世話になっております。
>> 西山(hajimeni)です。
>>
>> .NET Remoting や WCFを通したリモートのオブジェクトを取得した
>> い場合、 Seasar.NET の機能を利用してどのように取得すればよろ
>> しいでしょうか?
>>
>> 想定している利用環境は次のとおりです。
>> DBFlute.NET 0.8.9.5
>> Seasar.NET 1.3.17
>>
>> S2Remoting.NET のページはあるようなのですが、使い方等がいま
>> いちわかりません。
>>
>> 具体的に実行したいことは次のようなことです。
>>
>> 1.C/Sシステムで、.NETを利用。
>> 2.DBとの接続は、サーバーが行う。
>> 3.トランザクション処理を行いたい。
>>
>> [Form] ⇒A⇒ [Service] ⇒B⇒ [Bhv]
>>
>> という構成の場合、Aの部分から右をDLLとしてサーバーに配置し
>> て、Form側からリモートオブジェクトを取得すればよいのかなと
>> 思っております。
>>
>> しかし、
>> 4.ロジック変更時に、サーバー側のDLLは入れ替え無しとしたい。
>>
>> といった場合は、どのように実現させれば良いのかは見当が付きま
>> せん。
>>
>> というのも、他で開発されたプロジェクトで、
>> 「SQL文を配列にして投げればトランザクションになる」というラ
>> イブラリがあり、「これを使うか、同じ仕組みにしてくれ」
>> という要望があります。
>>
>> 以前のプロジェクトで、 Seasar.NET + DBFlute.NET を利用した
>> 時に、非常に生産性がよかったので、出来れば同じように開発した
>> いと思っております。
>>
>> しかし、4はほぼ無理だと思っております。
>>
>> よって、Aの部分でオブジェクトをリモートから取得したいと思っ
>> ております。
>>
>>
>> .NET について詳しく理解しているわけではありませんので見当違
>> いのことを言っているかもしれませんが、お知恵をお借りしたいと
>> 思っております。
>>
>> 以上よろしくお願いいたします。
>>
>> --
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>> 西山 はじめ
>> ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>
>> _______________________________________________
>> seasar-dotnet mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>>
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
>
>
--
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
西山 創
seasar-dotnet メーリングリストの案内