2011-10-17 8 views
0

私はフレックスでリモーティングするのがとても新しいです。私はflex 4.5を使用しており、AMFを使用しているチームの他の誰かが作成したWebアプリケーションと対話しています。彼らはZend_AMFを使ってデータをシリアライズし、シリアル化しませんでした。フレックス4.5リモーティングオブジェクト

私が今直面している主な問題の1つは、多くのサービス(約60程度)と話す必要があることです。私はオンラインとAdobeから見てきたリモート上の例から

、私が各サービスのリモートオブジェクトを定義する必要があると思わ:非常に多くのサービスと

<mx:RemoteObject id="testservice" fault="testservice_faultHandler(event)" showBusyCursor="true" destination="account"/> 

、私は私が定義する必要かもしれないと思います私は非常にエレガントではないと思うそれらの60、。

同時に、私はAMFエンドポイントをテストするためにピンタで遊んでいました。 Pintaは、これらの制限がなくても、任意の量のサービス、メソッド、およびパラメータを定義することができます。ソースを掘り下げてみると、彼らは実際にリモートで深く掘り下げられ、多くの低レベルのものを扱っていることがわかります。

負荷やリモートオブジェクトを定義する必要がなく、あまりにも深く下がり、低レベルのリモートイベントを自分で処理する必要がなくても、この問題にアプローチする方法はありますか?

乾杯お待ちください。

+0

「私は約60ものものを定義しなければならないかもしれないと思うが、私はそれほどエレガントではないと思う」そうでない場合はどの技術を使用しますか?ある時点で、アクセスしたいすべてのサービスの詳細をコードに伝える必要があります。私はあなたの文章からピンタがこれを回避する方法は不明です。また、Pintaが動作するサービスを定義することの限界は何もありません。 – JeffryHouser

答えて

1

多くのRemoteObjectが必要なアプリケーションは珍しいようです。私は非常に大きなアプリケーションで作業しましたが、最終的に〜6-10 RemoteObject宣言で終わります。

あなたの投稿にはRemoteObjectのバリエーションに関する詳細はたくさんありませんが、RemoteObjectOperationを混同している可能性があります。

通常、アプリケーションのすべてのエンドポイントに対してRemoteObjectインスタンスを宣言します。しかし、そのエンドポイントは呼び出される多くの異なるメソッドを公開できます(通常はそうします)。これらのサーバー側メソッドのそれぞれは、クライアント側で結果を取得しますOperation。あなたがそれらを宣言しない場合はご希望の場合は、明示的に宣言することができます

が、しかし、RemoteObjectのは、あなたのためOperation Sを構築します。

var remoteObject:RemoteObject; 
// creates an operation for the saveAccount RPC call, and invokes it, 
// returning the AsyncToken 
var token:AsyncToken = remoteObject.saveAccount(account); 
token.addResponder(this); 
    //... etc 

単一サーバー層と対話している場合は、頻繁にすることができますAPI上の単一の宛先を指し示す単一のRemoteObjectを使用して、多くのメソッドを公開します。これはAPIFaçadeと呼ばれることが多いアプローチであり、APIの依存関係注入規則を固めて使用すると非常に便利です。

もう1つの一般的なアプローチは、論理的なビジネスエリア、たとえばAccountService、ShoppingCartServiceなどでAPIメソッドを分離することです。これにより、サービス間で一致するプロトコル(例えば、AccountServiceはHTTPS )。

どのようにこれらのRemoteObjectを分割するかはあなた次第です。しかし、1つのアプリケーションで60が私には少し疑わしいと思う。

関連する問題