[seasar-dotnet:1523] Re: [DBFlute][S2Remoting] リモートオブジェクトを取得したい

koyak [E-MAIL ADDRESS DELETED]
2009年 11月 19日 (木) 23:26:11 JST


西山(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 メーリングリストの案内