#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&gt;Preferences&gt;Java&gt;Code Generation&gt;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)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS