Flash Remotingを使う場合に気をつけたい事

Flashとサーバサイド(Java)をつなぐ時にインターフェースを設計しますよね。そこで確実に注意しておこうかなと私が今考えている事を書いてみようと思います。注意するのは全てJava側です。

  • 呼び出し先のクラス(Java側)でメソッドをオーバーロードしない
  • オーバーロードする場合、引数の数を変える
  • Flashからの引数がAS2クラス、Object以外の場合は上記制約を受けない(プリミティブな型なら大丈夫)

簡単に説明するならば、Flashは引数の型が違うだけのメソッドを呼び出しづらいって事です。_remoteClassが記述されていれば、呼び出すメソッドの決定はとても容易なのですが、指定されていない場合、型が定まらないので呼び出し先のメソッドを確実に決定できません。OpenAMFのランクで言うと85となっていて、100ではありません。なのでOpenAMF自信も確実では無いが、一応呼び出してみたという感じになっています。ランクが下がるのはFlash Remotingのこういう特性を意識しないで、サーバサイドのメソッドを定義しているからです。ここだけ気をつけていればメソッドが正しく呼ばれないし、引数の型が意図した型で送られてこないという事はありません。