Java スタックを使用した分散コンピューティングの場合、これらのフレームワークまたはライブラリがこれらのカテゴリにどのように適合しますか。
- ドキュメンテーション
- 可決
- 使いやすく、Spring、Or、Web フレームワークなどの広く使用されているテクノロジーと統合できます。
- 耐障害性
- 安全。
EJB は、分散コンピューティング、スケーラブルでフォールト トレラントなシステム アーキテクチャのブロック上のこれらすべての新しい子供たちを置き換えることができますか?
Java スタックを使用した分散コンピューティングの場合、これらのフレームワークまたはライブラリがこれらのカテゴリにどのように適合しますか。
EJB は、分散コンピューティング、スケーラブルでフォールト トレラントなシステム アーキテクチャのブロック上のこれらすべての新しい子供たちを置き換えることができますか?
EJB 3 は使いやすく統合しやすいように設計されており、多くのドキュメントがあり、分散コンピューティングの Java 標準となっています。
EJB コンテナは、標準仕様に基づくトランザクション管理とセキュリティを提供します。コンテナー自体は、エンタープライズ サポートまたは無料で使用できる多くの企業 (IBM、JBoss、Oracle) によって提供されています。
コードを変更せずにソフトウェアをフォールト トレラントにすることができます。EJB 仕様に従っている場合、サーバーをクラスターに配置するだけで (多くのクラスター戦略があります)、ステートレス セッション Bean を使用している場合は労力をかけずに水平方向にスケーリングできます。
あなたが言及した他のフレームワーク/テクノロジーは非常に有効ですが、これらすべての機能を提供できるものはありません
あなたはあまりにも一般的な質問をしています。
EJB は長年にわたって使用されており、広く文書化されており、おそらくあなたが言及したすべてのテクノロジーよりも成熟しており、より成熟しています。
認可と認証に JAAS を使用できます (セキュリティに関しては)。
たとえば、私はoVirtオープン ソース プロジェクトで Krb5LoginModule を使用しており、そのメンテナーの 1 人です。アプリケーション サーバーの Web コンテナーにアクセスするときに、セキュアな HTTP を使用できます。
oVirt では JBoss アプリケーション サーバーを使用しており、JBoss-cluster を使用してクラスタリングを実現できます。infinispan を使用して、ノード間でスケーラブルな共有データ構造 (データ グリッド) を取得できます。
アプリケーションでSpringコンポーネントを使用します(インジェクションにはCDIを使用できます) - LDAP クエリの場合、DB を操作する場合 (現在、パフォーマンス上の理由から、JPA よりも Spring-JDBC を優先しています)。
私は、EntityManager が注入された Bean を検索し、JPA を使用して CRUD 操作を実行する (および JPA プロバイダーとして休止状態になる) Web アプリケーションのスタックを数年間使用してきました
。これはすべて春を使用して - たとえば - spring-mvc + spring-orm のスタックを使用します。
どのテクノロジーも「魔法のような」方法で分散システムを提供するとは思いません。また、開発、設計、スケーラビリティのテストなどに時間を投資する必要があります.