0

Flex + Blazeds + Spring を使用するプロジェクトに取り組んできました。現在、接続の問題により、その一部をオフラインで実行する必要があります。問題は、既存のアーキテクチャをどのように処理し、可能な限り維持するか、または少なくとも進化するのがそれほど難しくないソリューションを作成する方法です。私はインターネットで検索して似たような質問をたくさん見てきましたが、最も一般的なアプローチはすべてのコードを actionscript で書くことです (ビジネス ロジック、データベースへのアクセス、トランザクションなどを含む)。アプリケーションに組み込まれた Jetty と、Java DB などの組み込み可能なデータベースを使用して、Spring サービスに大きな変更を加えることなく通常どおりアクセスできるようにすることを考えています。しかし、一部の同僚は同意しません。彼らは、クライアント上で実行されている Web サーバーを のマシンはパフォーマンスの問題を引き起こす可能性があるため、より軽量なソリューションが適しています。これまで、他の解決策は思いつきませんでした。何を指示してるんですか?

4

1 に答える 1

1

もちろん、あなたの具体的な事例はわかりませんが、一般的にはあなたの同僚の意見に同意します。特に、24 時間年中無休でユーザーにヘルプデスク サービスを提供したくない場合。ユーザーが強力なマシンを持っていない場合、パフォーマンスが実際に問題になる可能性があります。Jetty が非常に軽量であることは知っていますが、一部の古いコンピューターでは、同時に実行するプロセスをできるだけ少なくしたい場合があります。

しかし、私がもっと心配しているのは、アプリケーションの保守性です。まず、スタック全体をユーザーのマシンにインストールする必要がありますが、これは簡単ではありません。それをカバーしたら、さらに多くの障害点があります。アプリケーションは、AIR アプリ、ローカル サーバー、データベース、またはこれらのレイヤー間の接続で失敗する可能性があります。

ローカル マシンに展開するサーバーが、現在の Web サーバーと同じように 100% 動作すると考えている場合は、おそらく間違っています。Jetty または組み込み DB をオンラインで実行していませんか? ユーザーは、考慮しなければならないあらゆる種類の異なるオペレーティング システムを使用している可能性があります。

アプリケーションに更新をどのようにプッシュしますか? これは、AIR アプリでは非常に単純な手順ですが、ローカルのサーバー側コードも更新する必要がある場合は、非常に困難になります。

長期的には、AIR アプリ内のいくつかのロジックを書き直すことで利益が得られると思います。初期費用はかかりますが、維持費は安く済みます。また、完全なモデルを書き直す必要はないと思います。このようなオンライン/オフラインの問題がある場合、最も重要なデータのみを同期する戦略を立てることができます。また、コードの重複が嫌いな場合は、Java モデルを取得して ActionScript の複製を作成できるジェネレーターをいつでも作成できます。

于 2012-05-07T23:19:16.107 に答える