0

以下の技術を使用してSaaSアプリケーションを開発する考えがあります。

フロントエンド HTML5 UI フレームワーク- ExtJS
バックエンド アプリケーション- Spring + JPA
データベース- MySQL

以下のことを明確にしてください。

  1. スケーリングの目的で「最新の Web アプリケーションはステートレスである必要がある」という事実を考慮すると、この場合、セッションをどのように管理すればよいですか?

  2. Spring Security は、SaaS アプリケーションをサポートするのに十分成熟しています。

  3. SaaS アプリケーションであるため、テナントごとに多くのカスタマイズが必要です (フォームにカスタム フィールドを表示する、テーブルにカスタム列を表示するなど)。これを達成するための推奨されるアプローチは何ですか?

  4. ログインしているユーザーのタイプに基づいて、アプリケーションのルック アンド フィールを変える必要があります。たとえば、ユーザー ロールに基づいてタブを表示/非表示にする必要があるとします。これを達成する方法は?これらの役割をブラウザーにダウンロードし、ユーザーの役割に基づいて UI 要素を切り替える必要がありますか?

  5. 別のスキーマ Multitenancy を使用することにしました。Hibernateは道のりですか、それともJPA(EclipseLink)を使用できますか?

  6. この組み合わせで注意する必要があるその他のテクノロジの制限。

どんな入力も役に立ちます。

ありがとう、ジョン

4

1 に答える 1

1

1: 「最新の Web アプリケーションはステートレスであるべきだ」という前提を拒否し、その声明の引用をいくつか見てみたい。まったくスケーリングしないステートレス アプリケーションを構築できるのと同じように、ステートフル アプリケーションでスケーラビリティを実現できます。

2: それは「商用アプリケーションに十分成熟しているか?」という問題です。はい、そうです。アプリケーションの実際の要件に応じて、適切な場合とそうでない場合がありますが、機能よりも成熟度とは関係ありません。

3: 提供された情報が非常に限られているため、何とも言えません。カスタム ビュー インスタンス (jsps、速度ファイル、JSF2 ビュー、または使用するビュー テクノロジ) の作成から、動的なデータベース駆動型のビュー、本格的な CMS プラットフォームまで、あらゆるもの。

4: 上記の回答 3 を参照してください。ただし、一般的には、ユーザーが表示を許可されていない要素がレンダリングされないようにビューを構築します。Spring-security には、このタイプの機能用のタグライブラリがあります

5: 繰り返しますが、十分な情報がありません。Hibernate 4 は表向きはマルチテナンシーをサポートしていますが、それが特定の要件を満たしていることを確認する必要があります。知る限り、JPA標準には(まだ)マルチテナンシーの概念はありません。

6: 間違いありませんが、あなたが提供した情報に基づいて何を言うことはできません. あなたが言及したテクノロジー間に固有の非互換性はありませんが、常に制限があります。春はコーヒーを作ることができません。JPAはあなたの子供を学校に連れて行くのが苦手です。

于 2013-01-04T15:08:32.503 に答える