#contents
*S2Hessian [#h9e77166]
**概要 [#ef6a6382]
下記URLのHessian Protcolを使用し、S2ContainerのComponentをURLで指定し、
処理出来る物。
WSDLが不要であり、Dicon Fileの指定だけで呼び出せるので、開発が容易であり
またSOAPに比べ Overheadが少ないので、Responseも良いと思います。
Character(コマンド)とBinary(Data) での送信ですので、DebugもTCPMONなどを使えば容易です。
http://www.caucho.com/hessian/index.xtp
なお .NETからの呼び出しのProgramも開発中です。
下記からLinkして下さい。
[[Sandbox/S2HessianDotNet]]
Rich Clinetを .NETで作る事も考えての事です。ご意見をよろしくお願いします。
下記が ClientのSampleです。
app.dicon
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components.dtd">
<components>
<component name="testcomp" class="org.seasar.s2hessian.example.SeasarTest">
<aspect>
<component class="org.seasar.s2hessian.S2HessianInterceptor">
<property name="serviceUrl">"http://localhost:8080/s2hessian/s2h/test"</property>
</component>
</aspect>
</component>
<component name="testburlap" class="org.seasar.s2hessian.example.SeasarTest">
<aspect>
<component class="org.seasar.s2hessian.S2BurlapInterceptor">
<property name="serviceUrl">"http://localhost:8080/s2hessian/s2b/test"</property>
</component>
</aspect>
</component>
</components>
TestAop.java
package org.seasar.s2hessian.example;
import java.util.ArrayList;
import java.util.Date;
import java.util.Hashtable;
import org.seasar.framework.container.S2Container;
import org.seasar.framework.container.factory.S2ContainerFactory;
import org.seasar.s2hessian.example.SeasarTest;
/**
* @author shimura
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class TestAop {
public static void main(String[] args) {
S2Container container = S2ContainerFactory.create("app.dicon");
SeasarTest seasarTest = (SeasarTest)container.getComponent("testcomp");
/* Test1 */
int ires=seasarTest.intPlus(30,50);
System.out.println("Test1 intPlus result: " +ires);
SeasarTest seasarTestb = (SeasarTest)container.getComponent("testburlap");
/* Test21 */
ires=seasarTestb.intPlus(83,5);
System.out.println("BurlapTest21 intPlus result: " +ires);
}
}
**開発者 [#q33e4e5f]
志村 正信
http://seasarproject.g.hatena.ne.jp/mshimura/
**開発情報 [#p5ed07b7]
**ダウンロード [#r32092fb]
S2Remoting の Interfaceに合わせて Clientを修正しました。
またKOICHIKさんに リファクタリングして頂きました。
&ref(s2-hessian-clientV0.3.zip);
下記の様な設定になります。
org.seasar.s2hessian.example.TestAopを実行するとSample実行出来ます。
(S2HessianがServerで動いているのが前提です)
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE components PUBLIC "-//SEASAR//DTD S2Container//EN"
"http://www.seasar.org/dtd/components.dtd">
<components>
<component name="remoting" class="org.seasar.remoting.client.interceptors.RemotingInterceptor"/>
<component class="org.seasar.remoting.caucho.client.HessianConnector">
<property name="baseURL">"http://localhost:8080/s2hessian/s2h/"</property>
</component>
<component name="test" class="org.seasar.s2hessian.example.SeasarTest">
<aspect>remoting</aspect>
</component>
</components>
最低限必要な Documentを添付した V0.31を公開しました。
&ref(s2hessian-v0.31.zip);
よしなかさんの提案で、Burlap Protocolも対応した V0.3を公開しました。
utf-8の処理をSkipする事を考えたのですが、当面良い案が見つかりませんので、
Hessianの 処理をそのまま使うことにしました。(よしなかさんの実装を参考に
させていただきました)
必要な LIBは、Seaser2のLIBをそのまま使用して下さい。また下記も必要です。
http://www.caucho.com/hessian/download/hessian-3.0.8.jar ~
追加機能が必要であればコメントをお願いします。
&ref(s2hessian-v0.3.zip);
よしなかさんの S2HessianInterceptorを使用した ClientのSampleを
追加し V0.2として公開しました。
なお Clientは s2hessian_clientと Projectを分けて明確にしました。
Version 0.1 を公開します。下記を解凍し、Eclipse 3.0 にImportして下さい。
必要な LIBは、Seaser2のLIBをそのまま使用して下さい。
S2Hessian自体は何も LIBを必要としません。
&ref(s2hessian-v0.2.zip);
志村さんに了解をいただけたので、S2CauchoRemotingを公開します。
まだ志村さんのほうの実装を見れていないのですが、目指すところは同じだと思うので、いずれは志村さんの方にマージできればと思います。
&ref(S2CauchoRemoting.zip);
Version 0.1 を公開します。下記をEclipse 3.0 にImportして下さい。
必要な LIBは、Seaser2のLIBをそのまま使用して下さい。
S2Hessian自体は何も LIBを必要としません。
org.seasar.s2hessian.example.TestClinet を実行すると、11Caseの
Sampleが走ります。
&ref(s2hessian-V0.1.ZIP);
**コメント [#z4a9c166]
#pcomment(,10,reply)
#pcomment(Comment/Sandbox/S2Hessian,10,reply)