3

サードパーティのアプリケーションと通信する必要がある Java (jQuery フロントエンドを使用) でアプリケーションを構築しています。せいぜい 2 秒ごとにインターフェイスを更新する必要があります。

彗星を使うのは良い考えでしょうか?もしそうなら、彼らはどのように絵に収まりますか?

アプリケーションをより良くするために、他にどのような手段/技術を使用できますか?

アプリケーションはサードパーティのアプリから株価をポーリングし、それをデータベースに書き込み、それを毎秒フロントエンドにプッシュします。ポーリングのために、毎秒実行してサードパーティのアプリを呼び出してデータを取得するタイマーがあります。次に、JSPなどを使用してフロントエンドに表示する必要があります。

現時点では、サーブレットを使用してこれをフロントエンドに書き出す必要があるかどうかわかりません。どのようなものをお勧めしますか? どうすればいいですか?

サーブレットの代わりに使用できる新しいテクノロジはありますか?

データの保存に Berkeley db も使用していますが、これは良いオプションだと思いますか? バークレーを使用する場合の欠点は何ですか..

私はまったく無知なので、アドバイスをいただければ幸いです。

ありがとう!

編集: デスクトップ アプリが常に 3 番目の部分からポーリングしてデータベースに書き込み、Web アプリがデータベースからのみ読み取りと表示を行うように、これを行うことを計画しています。 do は db から読み取られます。

4

5 に答える 5

5

サーブレットの代わりに Web アプリケーション フレームワークを使用する方法を検討してください (1 つの画面を使用する非常に基本的なプロジェクトでない限り)。残念ながら、Java の世界には多くのことがあり、ちょっとした地雷原になる可能性があります。おそらく SpringMVC または Struts 2 に固執します。最悪の部分はこれらの設定ですが、サンプル アプリケーションと 1 つまたは 2 つのチュートリアルを見て、そこから作業してください。

http://www.springsource.org/about

http://struts.apache.org/2.x/index.html

検討すべきもう 1 つのオプションは、Appfuse などのテンプレート フレームワークを使用して、多くのフレームワークを一緒に統合することなく自分で起動して実行することです。以下を参照してください。

http://appfuse.org/display/APF/AppFuse+QuickStart

MySQL をデータベースとして使用し、Spring を POJO フレームワークとして使用して SpringMVC をセットアップするためのテンプレートを提供します。これは、プロトタイプを作成して作成するための簡単な方法かもしれません。

2 秒という遅延要件から判断すると、ある種の AJAX フレームワークを検討するのが賢明でしょう。JQuery または Prototype/Scriptaculous はどちらも開始するのに適した場所です。

http://jquery.com/

http://www.prototypejs.org/

物事をより良くするための他の技術に関しては、ビルドシステムを検討する必要があります。Ant/Maven は問題なく、Maven は 2 つのうち少し複雑です。

http://ant.apache.org/

http://maven.apache.org/download.html

また、アプリケーションのテストには JUnit を検討してください。フロントエンドの機能テストに Selenium を検討することをお勧めします。

http://www.junit.org

http://seleniumhq.org/

于 2009-06-23T03:13:23.837 に答える
4

これは本当に株式取引アプリケーションですか? それともただの株価表示アプリ?あなたの説明からすると後者のように聞こえるので、私は尋ねています。

データが毎秒ポーリングされることはどれほど重要ですか? 具体的には、一部の投票が 1 秒または 2 秒遅れると問題になりますか?

株式取引アプリケーションを構築している場合 (タイミングが非常に重要な場合)、またはポーリングを遅らせる余裕がない場合は、Java Real Time ソリューションのいずれかを検討することをお勧めします。

それ以外の唯一のアドバイスは、優れた OO 設計プラクティスに固執することです。たとえば、DAO を使用してデータベースに書き込みます。このようにすると、Berkeley DB が気に入らない場合は、比較的簡単にリレーショナル データベース システムに切り替えることができます。また、必要に応じて、いくつかのデータベース パーティショニング ソリューション (例: Hibernate Shards ) に簡単に移行できます。

私には独自のテクノロジーの好みがあるかもしれませんが (たとえば、他の人が述べたようにフロントエンドにSpring MVCを選択し、永続化のためにHibernateを使用しようとします)、これらが他のテクノロジーよりも優れているとは本当に言えません。そこに。それが法案に適合する場合は、あなたがよく知っているものを使用してください。

于 2009-06-24T13:13:36.470 に答える
1

PostgreSQL はおそらく適切なデータベースです。MySQL よりも少しエンタープライズ向けです。フロントエンドに関しては、サーブレット、SpringMVC、Tapestry などの「上」に行くことができるものがたくさんあります。実際のサーブレットの実装は隠されます。

Spring を使用してアプリケーションを構成し、依存性注入を行うことは、おそらく悪い提案ではありません。

もう少し軽量なものを探している場合は、grails を検討してください。成長が早く、成熟するのも早いです。

実際には、これがどのような「本番」環境にな​​るかを知らずに推奨するのは難しいです。私たちはたくさんの取引について話しているのですか?(たしかに株取引のプログラムですが、少人数でのシミュレーションとか…) 提案するのは楽しいですが、本気ならこんな大きなプロジェクトを始めるかどうかはわかりません。これ。これを行う方法はたくさんありますが、これを間違って行う方法もたくさんあります。

于 2009-06-23T02:42:35.583 に答える