RPCを利用した足し算アプリの作成

 Laszloでは、RPCの方式としてJavaRPC、XML-RPCSOAPの3種類が提供されています。今日は、JavaRPCを使って足し算アプリを実装してみたいと思います。
 下記が、作成したプログラムです。のclassnameに指定したAddクラスを生成し、のfuncnameに指定したcalculateメソッドを呼びだしています。

Add.lzx

<?xml version="1.0" encoding="utf-8"?>
<canvas>
  <security>
    <allow>
      <pattern>^Add</pattern>
    </allow>
  </security>
  <javarpc name="add" classname="Add" scope="webapp">
    <method event="onerror" args="errmsg">
      Debug.write('error:', errmsg);
    </method>
    <remotecall funcname="calculate">
      <param value="${Number(arg1.text)}" />
      <param value="${Number(arg2.text)}" />
      <method event="ondata" args="res">
        result.setText(res);
      </method>
    </remotecall>
  </javarpc>
  <view layout="axis:x">
    <edittext id="arg1" width="100" />
    <text>+</text>
    <edittext id="arg2" width="100" />
    <text>=</text>
    <text id="result" />
    <button text="calculate" onclick="canvas.add.calculate.invoke()" />
  </view>
</canvas>

Add.java

public class Add {
  public int calculate(int arg1, int arg2) {
    return arg1 + arg2;
  }
}

 S2Laszloは、S2Flexと同じようにS2Container上に登録されているコンポーネントのメソッドをLaszloから簡単に呼び出せるようにするイメージでしょうか。S2Flexのソースを見て調査したいと思います。
 SOAPを利用する場合は、S2Axisを使えば良いのかな?この辺も調べてみたいと思います。