6

こんにちは、SAAS モデルとマルチテナンシーに関する質問があります。

私の知る限り、SAAS マルチテナンシー アプリケーションは、すべてのクライアントに共通の機能を意味し、UI と機能のいくつかのカスタマイズが Neath の下にあります。

一部の顧客向けにクライアント固有のカスタマイズを追加する必要がある場合、どうすればそれを達成できますか?

SalesForceの取り組みについて知っている

回答については、データベースレベルでのカスタマイズ、一般的なバックエンドのアーキテクチャ、またはこのトピックのリンクなどを経験していただければ幸いです。

4

1 に答える 1

10

マルチテナント アプリケーションをカスタマイズするには、次の 2 つの方法があります。 1. プレゼンテーション層の変更 2. システムの変更。

以下は、マルチテナント環境の Web アプリケーションで好まれる典型的なカスタマイズ オプションです。

1) ユーザーインターフェースとブランディング、

2) ワークフローとビジネス ルール、

3) データモデルの拡張、および

4) アクセス制御

そのうちの 1 つはプレゼンテーション層の変更に属し、残りはすべてマルチテナント アプリケーションのシステム レベルの変更を形成します。

MVC は、テナントが独自のテーマ、ロゴ、カスタム レイアウト、またはカスタム コントローラーとカスタム ページ セクションを持つことを許可するオプションがあるプレゼンテーション層のカスタマイズ オプションと見なされます。

システム設定の場合、これを実現する方法は多数ありますが、次の方法が最も一般的です。

  1. データベース レベルでのカスタマイズ
  2. ミドルウェア レベルでのカスタマイズ。

SaaS アプリには、機能と実装があります。後者の場合、テナントの構成に基づいて検討中のテナントに対してどの実装を呼び出すかを管理し、サービスを提供するテナント固有の構成があります。これらは、テナント対応のカスタム依存性注入メカニズムを使用して実現されます。また、このプロセスを容易にするために実行時に使用できるテナント固有の構成が必要になります。

(1)の場合、マルチテナント環境のテナント間で構成やメタデータが共有されないように、db内のデータをテナント識別子に基づいて分離する必要があります。

したがって、主なコンポーネントは次のようになります

  1. テナント コンテキストから取得したテナント識別子
  2. マルチテナント データストレージ
  3. テナント固有認証【フォーム署名・シングルサインオン等】

私見、あなたのトピックは幅広いので、より具体的な分野を提示していただければ、それらの実装について話し合います。

これがあなたの質問に答えてくれることを願っています。アップデートを投稿してください。

于 2013-06-22T19:20:14.660 に答える