4

私は Flex 開発と RIA 全般に不慣れです。CRUD スタイルの Java + Spring + Hibernate サービスがあり、その上で Flex UI を作成しています。現在、BlazeDS を使用しています。これは、ローカル ネットワーク上で実行される内部アプリケーションです。

モデル全体をロードしてクライアント上で直接 (または少なくとも関心のある部分) 操作するという点で、RIA の動作は Web アプリケーションよりもデスクトップ アプリケーションに似ていることが明らかになりました。 . これは、実際にはリモート処理のみをサポートし、データ管理をサポートしないため、BlazeDS とはうまく調和しません。そのため、クライアントが同期していることを確認し、モデルのリロードを回避するために多くの余分な作業が必要になる可能性があります。遅延読み込みはできません)。

そのため、Flex アプリケーションを通常の古い Web アプリケーションのように扱わなければならない状況が残っているように感じます。そこでは、データのきめ細かなロードを数多く実行します。

LiveCycle は高すぎます。WebOrb for Java の無料版は、実際にはリモーティングのみを行います。

GraniteDS に入ります。私が判断できる限り、LiveCycle の多くのデータ管理機能を備えた唯一の無料ソリューションです。私はそのドキュメントを少し読み始めましたが、突然、アプリケーションを実行するためだけに学ばなければならないフレームワークの泥沼のように感じました。

だから、StackOverflow オーディエンスへの私の質問は次のとおりです。

1) 特に現在の Java スタックが Spring + Hibernate の場合、GraniteDS をお勧めしますか?

2) どの時点で効果が出始めたと思いますか? つまり、GraniteDS を使用することで実際に開発が大幅に改善されると感じるアプリケーションの複雑さのレベルはどれくらいですか? どんな風に?

4

5 に答える 5

2

Spring に専念していて、Seam を導入したくない場合は、Granite DS が Blaze DS を超えるものを提供するとは思いません。一度に 1 つのエンティティの 1 つのインスタンスのみがクライアントに存在することを保証する便利なユーティリティがありますが、実際には、弱い参照を持つ Dictionary のいくつかのインスタンスと、サーバー呼び出しに適用されるいくつかの後処理を使用して、これを行うのは非常に簡単です。 . 他の多くの機能は、こちらのドキュメントで言及されているように、Seam 固有のものです。

http://www.graniteds.org/confluence/display/DOC/6.+Tide+Data+Framework

一般に、Tide のアプローチは、クライアントとサーバーの間で物事を機能させるために必要なコードの量を最小限に抑えることです。その原則は JBoss Seam のものと非常に似ています。これが、Tide の最初の統合がこのフレームワークで行われた主な理由です。Spring および EJB 3 との統合も利用できますが、もう少し制限があります。

しかし、Granite のデータ管理へのアプローチは、Livecycle のアプローチとは大きく異なるため、大幅に改善されていると思います。花崗岩のドキュメントから:

すべてのクライアント/サーバーのやり取りは、サーバーによって公開されたサービスのメソッド呼び出しによって排他的に行われるため、リモート サービスによって定義されたトランザクション境界とセキュリティが尊重されます。

これは、fill() を呼び出して大量のデータを取得し、次に commit() メソッドを呼び出して変更をまとめて保持する「管理されたコレクション」を Livecycle DS が使用する方法とは異なります。これは、バックエンドを未加工のデータ アクセス API のように扱い、きめ細かなセキュリティ要件がある場合は複雑になり始めます (または単に完全にバラバラになります)。したがって、Granite のアプローチははるかに実行可能だと思います。

于 2009-06-15T05:06:02.433 に答える
1

すべてのデータ管理機能(JPAデタッチエンティティのシリアル化、クライアントエンティティのキ​​ャッシュ、データページングなど)はSpringで機能します。GraniteDSは何も義務付けていません。サーバーでSeamを使用する場合にのみ、Seamが必要です。

于 2009-07-06T08:38:43.953 に答える
1

実際、WebORB for Java の無料版はデータ管理を行います。私は最近、WebORB for Java、LiveCycle DS、BlazeDS、および GraniteDS の比較を投稿しました。この比較表は、http: //bit.ly/d7RVnJで見ることができます。これ をウェブ上で最も包括的な機能比較にしたいので、コメントやフィードバックをお待ちしています。

乾杯、キャスリーン

于 2010-05-16T18:19:23.537 に答える
0

Seam Framework、Hibernate、およびMySqlを備えたGraniteDSは、非常に優れた組み合わせです。私がしているのは、データベースを作成し、seamgenを使用して休止状態のエンティティを生成し、そこから作業することです。

于 2009-08-15T09:09:45.503 に答える
0

spring-blazeDS統合プロジェクトを見たことがありますか?

于 2009-08-11T18:16:10.813 に答える