[Seasar-user:1078] Re: S2Axis 1.0.0 (alpha) リリース
Taro Kato
kato
2004年 10月 5日 (火) 17:43:08 JST
こんにちわ。グルージェント加藤です。
> 技術的なことは、ちょっと立ち入れないのでアレですが、
> ちょっと話が変な方向に行きかけてるように感じます。
あれれ変ですか。だんだん擦り寄ってきているかなぁと
期待しつつ書いているのですが、でも了解しました。
> ・S2Axisのalphaに不足していると考えたもの
・wsddファイルの<service>要素で細かな設定ができないこと。
不可能な場合は、S2対応を現状諦めないとならない。
(例えばスコープの変更などがある)
・URIが変わるので、Webサービスのインターフェースを利用
しているものまで修正が発生する。
→修正コスト配布コストを抑えられない
・serviceに記述しなくても動作するものの提供としては
AxisではJWSが対応している。この手軽さを、s2axis_alphaでは
DICONファイルに書くだけで /services/name でアクセスできる
という方法を採っている。これは私もかなり気に入りました。
しかし、/services/ の下にありながら、サービス一覧では
見ることが出来ないしWSDLが見れないし前述した様に<service>
定義がないなど、Axisの他のサービスと異なる動作を行っている。
そもそもWSDDに書かれていない、WSDLがどこにも無いという
状態から、メソッドを伴って突如として呼び出せることになって
いる。これは「サービスを公開している」とは言い難い。
これを満たすために、別のページを作成しなければならない。
別のページを作成するということは、どこにWSDLを置いたか
管理しないとならない。サービス公開リストページも含み、
コンピュータがしてくれることをわざわざ人間がしなければ
ならなくなって、ヒューマンエラーが増える(更新を数カ所に渡って
行わなければならないため)。
> ・それに対して、こうしたらどうだろうか、という提案
・wsddへ記述するserviceを提供する S2Providerがあれば
DICON上のコンポーネントはprototype固定で提供さえすれば、
scope管理はaxisの機能が享受できるようになるので良いと思う。
・WSDD上の他の<service>定義と自然に共存する形をとれば、
違和感がないと思う。ここでDICONへのアクセス方法として、
クラスでもnameアクセスでも可能ならば扱いやすいし、
<service>でわざわざ定義した理にも適う。
・WSDDへの定義をすっとばして手軽に提供する機能としてAxisは
「.jwsを置く」としている。
/services/に記述しないものは、このservlet-mappingを用いる
方がAxisへの融合に近いと思う。
・Axis-S2 で.jws URIに対するアプローチを統合するには、
WSDDに1行程度の定義の追加で扱えるという手軽さが望ましい。
この定義がなければAxis通常のJWSハンドラが使われると良いでしょう。
.jws では物理ファイルがあればAxisを、DICON内にあればS2を
使うというようにダイナミックに切り替わると嬉しい。
・名前の衝突などを防ぎやすいよう、.jwsで引き出すクラスは隔離性を
強めるために、AxisのJWSと違ってパッケージ指定ができると良いと思う。
そのために、S2JWSハンドラのパラメータには「package」が任意に
指定できると便利であろう。
・S2のサービスもAxisの持つWSDL開示機能コマンドが使えると扱いやすい。
うーーん、箇条書きにしても結局、Axisをよく使っている&読んでる人達にしか
伝わらない内容になっちゃいますね。
こんな構成だと良いんじゃないかと思って、僕らが実際に使えるレベルのものが
必要だったので日曜・月曜でエイヤ!っと作ったものが最初のレスのものでした。
せっかくseaser2も便利に使わせてもらっているし、小林さんのseaserサブプロジェクトに
協力できたら良いかなと思いまして。
別に頼まれたわけでもないから、コミットしなくてもいいんじゃない…と
私の横に座っている栗原さんが言ってますし、私もそうかなと思いますので、
じゃまくさかったら、URL削除しますので言ってください。
私が示したものも、まだまだ改良の余地もあると思いますので、
実はS2コミュニティの中で改良されていけば良いなぁという、ちょっとずるい
淡い期待を持っていただけだったりして…(^-^;
これからも応援しています。
[[[[[[[[[[[[[[[[[[[[[[ G l u e g e n t , I n c .
[[[[[[[[[[ [[[[[[[
[[[[[[ [[[[[[[[[[
[[[[ [[[[[[[[[[[[ http://www.gluegent.com/
[[ [[[[[[ [[[[
[[[ [[[[ [[[ System Development Division
[[[[[[[[[[[[[[ [[[[[
[[[[[[[[[[[[ [[[[[[[ T a r o K a t o
[[[[[[[[[[ [[[[[[[[[[
Seasar-user メーリングリストの案内