Skip to main content

OutSystemsを使用した開発

OutSystems

マルチテナント型アプリケーションの構築

OutSystemsではマルチテナント型アプリケーションを構築できます。最近のエンタープライズアプリケーションやSaaS(Software-as-a-Service)アプリケーションでは、複数の顧客に対応する必要があります。マルチテナント方式では、顧客向けアプリケーションを一箇所に配置しつつ、各顧客のデータを分離しておくことができます。OutSystemsでは、マルチテナント型アプリケーションの開発を簡単に行えるため、顧客にメリットをもたらします。

OutSystemsによるマルチテナント型アーキテクチャの開発

マルチテナント型アーキテクチャの開発で重要となるのは、効果的にデータを分離することです。

multitenant.png

OutSystemsでマルチテナント型アプリケーションを作成する場合は、アプリケーションの各eSpaceにマルチテナント型であることを明示する必要があります。これは、eSpaceのIs Multi-tenantプロパティを「Yes」に設定するだけで完了します。これによりデータ、エンドユーザー、セッション、プロセスがテナントごとに分離され、このeSpaceがマルチテナント対応であることが他の開発者に通知されます。

エンドユーザーは1つのテナントにのみ属するため、OutSystemsはログイン処理の際にユーザー名からテナントを判断します。ログイン後、エンドユーザーは所属のテナントに紐付けられます。単純なクエリや複雑なクエリは自動的にフィルタリングされ、属するテナントのデータのみが返されます。

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

マルチテナント方式が優れている理由

マルチテナント方式を採用することにより、1つのアプリケーションサーバーとデータベースサーバーを使用して、お客様それぞれに固有の独立したコンピュータリソースを提供できます。実際には他のお客様と同じアプリケーションを若干カスタマイズして使用しているにもかかわらず、お客様からは専用のアプリケーションを使用しているように見えます。

この例では、1つのアプリケーションで2社のクライアント(テナント)にサービスを提供しています。各クライアントは、それぞれの取引先と案件を各テナント内に分離して保有しています。

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

  • サーバーにデプロイするアプリケーションが1つだけであるため、インフラの運用コストを削減できる。

  • データ、エンドユーザー、セッション、プロセスに対して厳格なセキュリティポリシーを適用できる。

  • メンテナンスが必要なコードベースが1つだけであるため、アプリケーションの開発やメンテナンスの作業を簡素化できる。

顧客事例

OutSystemsユーザーであり、米国を拠点とするLapis Software Associatesは、複数のタイプのエンドユーザーで使用できるアプリケーションを開発しました。このアプリケーションでは、テナント別に固有のデータを使用できます。

同社はOutSystemsを使用して、宝くじの販売責任者向けの自動化・生産性向上ツールと、すべての小売店および企業ユーザーが直接アクセスできる小売Webポータルを実現するSaaSを開発しました。これは、マルチテナント機能を使用して小売店へのサービスを向上させる、Webアプリケーションとモバイルアプリケーションを一体にした完全な製品です。