OutSystems Platformではマルチテナント型のアプリケーションを構築することができますか?

はい。OutSystems Platformを使ってマルチテナント型のアプリケーションを構築することができます。現代のエンタープライズアプリケーションおよびSaaSアプリケーションでは、複数のお客様に対するサービス提供が必須であり、マルチテナント型サービスにより顧客向けアプリケーションを単一の場所に配置しながら、お客様ごとのデータは互いに分離して保存することが可能になります。そこで、OutSystemsは、マルチテナント型アプリケーションの開発をシンプルなものに変え、お客様にメリットを提供しています。

OutSystemsを用いたマルチテナント型アーキテクチャの開発

マルチテナント型アーキテクチャ開発の鍵は、効果的なデータ分離です。


OutSystems Platformを用いてマルチテナント型アプリケーションを作成するには、アプリケーションそれぞれのeSpaceにマルチテナント型であると設定する必要があります。この処理はeSpaceの 「Is Multi-tenant」プロパティーを「Yes」に設定するだけです。これによりデータ、エンドユーザ、セッション、およびプロセスがテナントごとに分離され、他の開発者にはこのeSpaceがマルチテナント型であることが通知されます。

エンドユーザは一意的に一つのテナントに属するので、OutSystems Platformはログイン処理の際にユーザ名からテナントを判断します。ログイン後は、エンドユーザは当該のテナントと結び付けられ、シンプルなクエリでも複雑なクエリでも、すべて当該テナントのデータのみを返すフィルタリング処理が自動的に行われます。

マルチテナント型アプリケーション開発に関する詳細情報は、OutSystemsのテクニカルノート「How to Build Multi-tenant applications」(マルチテナント型アプリケーションの構築方法)を参照してください。 

マルチテナント型にする理由

マルチテナント型にすることにより、単一のアプリケーションサーバとデータベースサーバは、他のお客様から分離されたコンピューターリソースをそれぞれのお客様に提供できるようになります。実際には他のお客様と同じアプリケーション(多少のカスタマイズは可能)を使用しているにもかかわらず、お客様からは自分用のアプリケーションがあるように見えます。

上記の例では、単一のアプリケーションが2社のクライアント(テナント)にサービスを提供しています。各クライアント組織は、それぞれのテナントの領域に取引先と取扱商品のデータを登録しています。

マルチテナント型アーキテクチャを用いたアプリケーション設計には、以下の利点があります。

  • サーバにデプロイされるアプリケーションは一つしかないので、インフラの運用コストが削減されます。
  • データ、エンドユーザ、セッション、およびプロセスに関して厳格なセキュリティーポリシーを適用することができます。
  • メンテナンス対象のコードベースは一つしかないので、アプリケーションの開発およびメンテナンスプロセスがシンプルになります。

顧客事例

テナントごとに固有のデータを持ち、さまざまなタイプのエンドユーザにサービスを提供するアプリケーションをOutSystemsで開発した顧客事例として、米国を拠点とするLapis Software Associatesがあります。

Lapis社は、OutSystems Platformを用いて、宝くじの現場責任者に自動化および生産性向上ツールを提供し、すべての小売業者および企業ユーザが直接アクセスできる小売ウェブポータルのSaaSを開発しました。これは、マルチテナント機能を使って小売業者への宝くじサービスの改善を助けるウェブアプリケーションおよびモバイルアプリケーションからなる、完全なパッケージ製品です。