(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2023-12-12
(45)【発行日】2023-12-20
(54)【発明の名称】マルチテナントシステム、サービス提供方法、及びプログラム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20231213BHJP
G06Q 10/10 20230101ALI20231213BHJP
【FI】
G06Q50/10
G06Q10/10
(21)【出願番号】P 2022156151
(22)【出願日】2022-09-29
【審査請求日】2022-09-29
(73)【特許権者】
【識別番号】500022557
【氏名又は名称】サイボウズ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】梅田 大河
(72)【発明者】
【氏名】小野寺 太郎
【審査官】佐藤 敬介
(56)【参考文献】
【文献】特開2011-243046(JP,A)
【文献】特開2009-037648(JP,A)
【文献】特開2008-040751(JP,A)
【文献】米国特許出願公開第2012/0173581(US,A1)
【文献】中国特許出願公開第111736807(CN,A)
【文献】中国特許出願公開第103955384(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
マルチテナントでサービスを提供するマルチテナントシステムであって、
前記サービスのベンダーと契約した契約先の契約先システムから、前記契約先に特有のカスタマイズに関するカスタマイズ情報を取得する取得部と、
前記カスタマイズ情報に基づいて、前記カスタマイズを実行する実行部と、
所定の利用申請を行ったユーザに対し、前記カスタマイズが実行された前記サービスであるカスタマイズドサービスを提供する提供部と、
を含むマルチテナントシステム。
【請求項2】
前記実行部は、前記ベンダーが提供するオリジナルの前記サービスであるオリジナルサービスと同じカスタマイズAPIを流用して、前記カスタマイズを実行する、
請求項1に記載のマルチテナントシステム。
【請求項3】
前記契約先システムでは、前記利用申請で前記ユーザが指定した申請内容に基づいて、前記カスタマイズ情報が生成され、
前記取得部は、前記契約先システムから、前記申請内容に基づいて生成された前記カスタマイズ情報を取得し、
前記実行部は、前記申請内容に応じた前記カスタマイズを実行する、
請求項1又は2に記載のマルチテナントシステム。
【請求項4】
前記ユーザは、前記契約先が独自に提供する契約先サービスを利用し、
前記契約先システムでは、前記契約先サービスにおける前記ユーザに関するユーザ情報に基づいて、前記カスタマイズ情報が生成され、
前記取得部は、前記契約先システムから、前記ユーザ情報に基づいて生成された前記カスタマイズ情報を取得し、
前記実行部は、前記ユーザ情報に応じた前記カスタマイズを実行する、
請求項1又は2に記載のマルチテナントシステム。
【請求項5】
前記ユーザは、前記ベンダーが提供するオリジナルの前記サービスであるオリジナルサービスを利用し、
前記実行部は、前記カスタマイズ情報と、前記オリジナルサービスにおける前記ユーザに関するユーザ情報と、に基づいて、前記カスタマイズを実行する、
請求項1又は2に記載のマルチテナントシステム。
【請求項6】
前記マルチテナントシステムは、前記利用申請が受け付けられた場合に、前記カスタマイズドサービスにおける環境を作成する環境作成部を更に含む、
請求項1又は2に記載のマルチテナントシステム。
【請求項7】
前記取得部は、前記環境を作成するための環境作成APIとは異なるカスタマイズAPIに基づいて、前記契約先システムから、前記カスタマイズ情報を取得する、
請求項6に記載のマルチテナントシステム。
【請求項8】
前記マルチテナントシステムは、
前記ユーザが前記利用申請を行った場合に、所定の認証情報を発行する発行部と、
前記認証情報に基づいて、前記契約先システムに関する認証を実行する認証部と、
を更に含み、
前記取得部は、前記認証が成功した場合に、前記契約先システムから、前記カスタマイズ情報を取得する、
請求項1又は2に記載のマルチテナントシステム。
【請求項9】
前記サービスは、業務を支援するための業務支援サービスであり、
前記カスタマイズは、前記契約先が独自に提供する契約先サービスに関する業務に特有のカスタマイズである、
請求項1又は2に記載のマルチテナントシステム。
【請求項10】
コンピュータがマルチテナントでサービスを提供するサービス提供方法であって、
前記コンピュータが、
前記サービスのベンダーと契約した契約先の契約先システムから、前記契約先に特有のカスタマイズに関するカスタマイズ情報を取得する取得ステップと、
前記カスタマイズ情報に基づいて、前記カスタマイズを実行する実行ステップと、
所定の利用申請を行ったユーザに対し、前記カスタマイズが実行された前記サービスであるカスタマイズドサービスを提供する提供ステップと、
を
実行するサービス提供方法。
【請求項11】
マルチテナントでサービスを提供するコンピュータを、
前記サービスのベンダーと契約した契約先の契約先システムから、前記契約先に特有のカスタマイズに関するカスタマイズ情報を取得する取得部、
前記カスタマイズ情報に基づいて、前記カスタマイズを実行する実行部、
所定の利用申請を行ったユーザに対し、前記カスタマイズが実行された前記サービスであるカスタマイズドサービスを提供する提供部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、マルチテナントシステム、サービス提供方法、及びプログラムに関する。
【背景技術】
【0002】
従来、複数のユーザに共通の環境でサービスを提供するマルチテナントと呼ばれる技術が知られている。例えば、非特許文献1には、ベンダーから直接的に利用許諾を受けたユーザと、ベンダーと契約した複数の契約先の各々から利用許諾を受けたユーザと、に共通の環境でサービスを提供するマルチテナントが記載されている。非特許文献1の技術では、ベンダー側のシステムは、契約先ごとに用意された設定差分を管理し、自身にアクセスしてきたユーザに応じて、設定差分を動的に切り替える。
【先行技術文献】
【非特許文献】
【0003】
【文献】「SaaSサービスのマルチテナントとOEM(ホワイトラベル)を考える」,インターネット,2022年9月16日検索,online, https://tech-blog.optim.co.jp/entry/2022/06/23/100000
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1の技術では、ベンダー側のシステムで設定差分を管理するために、ベンダーが、契約先からの依頼を受けて、設定差分を人手で登録する必要がある。契約先側で設定差分の登録作業をする場合にも、契約先側の人間がベンダー側のシステムにアクセスし、設定差分を登録する必要がある。このため、従来の技術では、ベンダー及び契約先の少なくとも一方の手間がかかっていた。
【0005】
本開示の目的の1つは、ベンダー及び契約先の少なくとも一方の手間を軽減することである。
【課題を解決するための手段】
【0006】
本開示の一側面に係るマルチテナントシステムは、マルチテナントでサービスを提供するマルチテナントシステムであって、前記サービスのベンダーと契約した契約先の契約先システムから、前記契約先に特有のカスタマイズに関するカスタマイズ情報を取得する取得部と、前記カスタマイズ情報に基づいて、前記カスタマイズを実行する実行部と、所定の利用申請を行ったユーザに対し、前記カスタマイズが実行された前記サービスであるカスタマイズドサービスを提供する提供部と、を含む。
【発明の効果】
【0007】
本開示によれば、ベンダー及び契約先の少なくとも一方の手間を軽減できる。
【図面の簡単な説明】
【0008】
【
図1】マルチテナントシステムのハードウェア構成の一例を示す図である。
【
図2】オリジナルサービスの利用申請を受け付けるための利用申請画面の一例を示す図である。
【
図3】オリジナルサービスのポータル画面の一例を示す図である。
【
図4】カスタマイズドサービスの利用申請を受け付けるための利用申請画面の一例を示す図である。
【
図5】カスタマイズドサービスのポータル画面の一例を示す図である。
【
図6】マルチテナントシステムで実現される機能を示す機能ブロック図である。
【
図7】サービスデータベースの一例を示す図である。
【
図8】マルチテナントシステムで実行される処理の一例を示すフロー図である。
【発明を実施するための形態】
【0009】
[1.マルチテナントシステムのハードウェア構成]
本開示に係るマルチテナントシステムの実施形態の一例を説明する。
図1は、マルチテナントシステムのハードウェア構成の一例を示す図である。例えば、マルチテナントシステム1は、マルチテナントサーバ10を含む。マルチテナントシステム1は、インターネット又はLAN等のネットワークNに接続される。例えば、ネットワークNには、契約先システム2及びユーザ端末30が接続される。
【0010】
マルチテナントサーバ10は、サーバコンピュータである。例えば、マルチテナントサーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、フラッシュメモリ等の不揮発性メモリと、を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
【0011】
例えば、契約先システム2は、契約先サーバ20を含む。契約先サーバ20は、サーバコンピュータである。例えば、契約先サーバ20は、制御部21、記憶部22、及び通信部23を含む。制御部21、記憶部22、及び通信部23のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。
【0012】
ユーザ端末30は、ユーザのコンピュータである。例えば、ユーザ端末30は、パーソナルコンピュータ、タブレット端末、又はスマートフォンである。例えば、ユーザ端末30は、制御部31、記憶部32、通信部33、操作部34、及び表示部35を含む。制御部31、記憶部32、及び通信部33のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部34は、タッチパネル等の入力デバイスである。表示部35は、液晶ディスプレイ又は有機ELディスプレイである。
【0013】
なお、記憶部12,22,32に記憶されるプログラムは、ネットワークNを介して供給されてもよい。また、マルチテナントサーバ10、契約先サーバ20、及びユーザ端末30の各々のハードウェア構成は、
図1の例に限られない。例えば、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)、又は、外部機器と直接的に接続するための入出力部(例えば、USB端子)が含まれてもよい。この場合、情報記憶媒体に記憶されたプログラムが読取部又は入出力部を介して供給されてもよい。
【0014】
また、マルチテナントシステム1は、少なくとも1つのコンピュータを含めばよい。マルチテナントシステム1に含まれるコンピュータは、
図1の例に限られない。例えば、マルチテナントシステム1は、マルチテナントサーバ10と、他のサーバコンピュータと、を含んでもよい。マルチテナントシステム1は、サーバコンピュータ以外の他のコンピュータ(例えば、ベンダーの担当者が操作するコンピュータ)を含んでもよい。
【0015】
また、契約先システム2も、少なくとも1つのコンピュータを含めばよい。契約先システム2に含まれるコンピュータは、
図1の例に限られない。例えば、契約先システム2は、契約先サーバ20と、他のサーバコンピュータと、を含んでもよい。契約先システム2は、サーバコンピュータ以外の他のコンピュータ(例えば、契約先の担当者が操作するコンピュータ)を含んでもよい。
図1では、ユーザ端末30が1つだけ示されているが、複数のユーザ端末30が存在してもよい。
【0016】
[2.マルチテナントシステムの概要]
本実施形態では、マルチテナントシステム1は、マルチテナントでサービスを提供する。マルチテナントは、複数のユーザに共通の環境でサービスを提供する仕組みである。複数のユーザは、原則として互いに関係のない者である。互いに関係のない者とは、互いに同じ又は関連する組織に属さない者である。複数のユーザは、そもそも組織に属さない個人であってもよい。例えば、マルチテナントシステム1では、第1組織に属する第1ユーザAと、第1組織とは関係のない第2組織に属する第2ユーザBと、に共通の環境下で、第1ユーザA及び第2ユーザBの各々に対し、サービスが提供される。
【0017】
環境とは、サービスを提供するために利用されるハードウェア、ソフトウェア、及びAPIの少なくとも1つである。本実施形態では、互いに関係のない複数のユーザ(例えば、互いに同じ組織に属さない複数のユーザ)の各々に対し、同じハードウェア、ソフトウェア、及びデータの少なくとも1つに基づいて、サービスが提供される。個々のユーザ用に、サービスの一部の機能に関するカスタマイズが実行される可能性があるが、サービスを提供するための大まかな仕組み自体は、複数のユーザで共通である。
【0018】
例えば、マルチテナントサーバ10といった同じハードウェアに基づいて、複数のユーザの各々に対し、サービスが提供される。ただし、複数のユーザにサービスを提供するための複数のハードウェアは、互いに異なってもよい。この場合、複数のハードウェアは、互いに同じベンダーにより管理されるものとする。例えば、第1ユーザAに対し、第1のハードウェアに基づいて、サービスが提供される。第2ユーザBに対し、第1のハードウェアを管理するベンダーが管理する第2ハードウェアに基づいて、サービスが提供されてもよい。
【0019】
例えば、マルチテナントサーバ10に記憶された同じソフトウェアに基づいて、複数のユーザの各々に対し、サービスが提供される。ただし、複数のユーザにサービスを提供するための複数のソフトウェアは、多少であれば互いに異なってもよい。この場合、あるソフトウェアは、他のソフトウェアを流用して開発されるものとする。例えば、第1ユーザAにサービスを提供するための第1ソフトウェアの一部の機能がカスタマイズされた第2ソフトウェアに基づいて、第2ユーザBに対するサービスが提供されてもよい。
【0020】
例えば、マルチテナントサーバ10が有する同じAPIに基づいて、複数のユーザの各々に対し、サービスが提供される。ただし、複数のユーザにサービスを提供するための複数のAPIは、互いに全く同じではなく、互いに異なってもよい。この場合には、あるAPIは、他のAPIを流用して開発されているものとする。例えば、第1ユーザAにサービスを提供するための第1APIの一部がカスタマイズされた第2APIに基づいて、第2ユーザBに対するサービスが提供されてもよい。
【0021】
本実施形態では、マルチテナントで提供されるサービスの一例として、業務を支援するための業務支援サービスを説明する。業務支援サービスは、グループウェアと呼ばれることもある。マルチテナントシステム1は、業務支援サービス以外の他のサービスにも適用可能である。マルチテナントシステム1を適用するサービスは、業務支援サービスに限られない。例えば、マルチテナントシステム1は、オンラインストレージサービス、ウェブメールサービス、ウェブ会議サービス、又はオンラインセミナーサービスといった他のサービスにも適用可能である。
【0022】
例えば、業務支援サービスのベンダーは、マルチテナントシステム1を管理する。ベンダーは、業務支援サービスを開発した企業である。ベンダーと契約した契約先は、契約先システム2を管理する。本実施形態では、契約先が、ベンダーとOEM(Original Equipment Manufacturing)契約を交わしたOEM先である場合を例に挙げるが、契約先は、ベンダーと何らかの契約をした者であればよい。例えば、ベンダーと契約先の間で、パートナー契約、販売代理店契約、仲介業者契約、又は請負契約といったOEM契約以外の他の契約が交わされてもよい。
【0023】
本実施形態では、ベンダーがクラウド型の業務支援サービス(いわゆるSaaS)を提供する場合を例に挙げるが、業務支援サービスは、オンプレミス型であってもよく、クラウド型に限られない。例えば、ベンダーである「AAA株式会社」は、自身の名の元で提供する「AAAワーク」といった業務支援サービスを提供する。ベンダーとOEM契約を交わした契約先である「BBB株式会社」は、「AAAワーク」をベースにした「BBBワーク powered by AAAワーク」といった業務支援サービスを提供する。
【0024】
以降、ベンダーが提供するオリジナルの業務支援サービス「AAAワーク」を、オリジナルサービスという。契約先が提供する業務支援サービス「BBBワーク powered by AAAワーク」を、カスタマイズドサービスという。オリジナルサービス及びカスタマイズドサービスは、マルチテナントで提供されるので、オリジナルサービス及びカスタマイズドサービスは、原則として、同じ環境下で提供される。なお、オリジナルサービス及びカスタマイズドサービスを区別しない時は、単にサービスという。ベンダーが契約先のために業務支援サービス「AAAワーク」をカスタマイズすることもサービスの一種である。このサービスは、カスタマイズ(「ド」ではない)サービスということができる。
【0025】
例えば、ユーザは、オリジナルサービス及びカスタマイズドサービスの少なくとも一方を利用可能である。ユーザは、オリジナルサービス及びカスタマイズドサービスの両方を利用してもよいし、オリジナルサービス又はカスタマイズドサービスの何れか一方だけを利用してもよい。ユーザは、オリジナルサービス及びカスタマイズドサービスの少なくとも一方を利用する場合に、利用申請をする必要がある。例えば、ユーザは、オリジナルサービスを利用する場合に、マルチテナントサーバ10にアクセスして利用申請を行う。
【0026】
図2は、オリジナルサービスの利用申請を受け付けるための利用申請画面の一例を示す図である。本実施形態では、オリジナルサービスに無料の試用期間が設けられている場合を説明するが、オリジナルサービスには、特に試用期間が設けられていなくてもよい。例えば、ユーザが、オリジナルサービスの利用登録を済ませていない状態でユーザ端末30を操作してマルチテナントサーバ10にアクセスすると、オリジナルサービスの利用申請画面SC1が表示部35に表示される。
【0027】
図2の例では、オリジナルサービスの利用申請画面SC1は、「aaawork.com」といったベンダーのドメイン上で表示される。例えば、ユーザは、入力フォームF10に対し、会社名、氏名、及びメールアドレスといった利用申請に必要な項目を入力する。ユーザがボタンB11を選択すると、オリジナルサービスの利用申請が完了する。マルチテナントサーバ10は、利用申請を受け付けると、ユーザがオリジナルサービスを試用するための環境を作成する。例えば、マルチテナントサーバ10は、ユーザ専用のサブドメインと、大まかな画面レイアウトと、の少なくとも一方を、オリジナルサービスの環境として作成する。
【0028】
例えば、オリジナルサービスの環境が作成されると、ユーザは、自身に割り当てられたサブドメインにアクセスし、オリジナルサービスを利用できるようになる。ユーザは、利用申請時に登録したユーザID及びパスワードに基づいて、オリジナルサービスにログインする。ユーザは、必要に応じて、オリジナルサービスのカスタマイズを実行してもよい。例えば、ユーザがオリジナルサービスにログインすると、オリジナルサービスのポータル画面が表示部35に表示される。
【0029】
図3は、オリジナルサービスのポータル画面の一例を示す図である。
図3の例では、「CCC株式会社」に属するユーザ「山田太郎」が、オリジナルサービスにログインしている。オリジナルサービスのポータル画面SC2に相当するURLは、「aaawork.com」といったドメインの前に、「ccc.」といった文字列が付加されて「ccc.aaawork.com」といったサブドメインを含む。サブドメインは、ユーザの組織を識別可能な文字列でなくてもよく、任意の文字列であってよい。例えば、サブドメインは、ランダムに生成された文字列を含んでもよい。
【0030】
例えば、ユーザ「山田太郎」は、サブドメイン「ccc.aaawork.com」で提供されるオリジナルサービスの管理者権限を有する。ユーザ「山田太郎」は、スペースと呼ばれるユーザグループに、「CCC株式会社」に属する他のユーザを招待する。他のユーザは、ユーザ「山田太郎」からの招待を受けて、スペースに加入するための手続を進める。例えば、他のユーザは、自身の氏名及びメールアドレスといったように、スペースへの加入に必要な情報を入力する。他のユーザは、スペースに加入すると、オリジナルサービスを利用できるようになる。
【0031】
例えば、スペースに属するユーザ同士で、スレッドと呼ばれる掲示板の一種にコメントを投稿し、コミュニケーションを取る。例えば、スペースに属するユーザ同士で、アプリと呼ばれるデータベースの一種にデータを登録し、業務に必要な情報を共有する。例えば、スペースに属するユーザ同士で、自身のスケジュールを共有する。これらの機能は、スペースに属するユーザ同士ではなく、スペースに関係のない場所で行われてもよい。オリジナルサービスで提供される機能自体は、公知に種々の機能であってよい。
【0032】
本実施形態では、このようなオリジナルサービスがカスタマイズされて、契約先の名前の元で、カスタマイズドサービスとして提供される。カスタマイズドサービスは、あくまで契約先により提供されるので、ユーザは、ベンダーではなく契約先に利用登録を行う。ただし、カスタマイズドサービス自体は、契約先が独自に開発したものではなく、ベンダーが開発した機能が流用される。例えば、ユーザは、カスタマイズドサービスを利用する場合に、契約先サーバ20にアクセスして所定の利用申請を行う。
【0033】
図4は、カスタマイズドサービスの利用申請を受け付けるための利用申請画面の一例を示す図である。本実施形態では、カスタマイズドサービスに無料の試用期間が設けられている場合を説明するが、カスタマイズドサービスは、特に試用期間が設けられていなくてもよい。カスタマイズドサービスは、契約先の名前の元で提供されるので、ユーザは、カスタマイズドサービスの利用申請をするために、契約先サーバ20にアクセスする必要がある。
図4の例では、カスタマイズドサービスの利用申請画面SC3は、「bbbcompany.com」といった契約先のドメイン上で表示される。
【0034】
例えば、ユーザは、入力フォームF30に対し、会社名、氏名、及びメールアドレスといった利用申請に必要な項目を入力する。本実施形態では、カスタマイズドサービスの利用申請に必要な項目と、オリジナルサービスの利用申請に必要な項目と、が互いに同じである場合を説明するが、これらは互いに異なってもよい。例えば、カスタマイズドサービスの利用申請では、カスタマイズドサービス用にカスタマイズするために必要な項目が存在してもよい。この点は、後述の変形例で説明する。
【0035】
例えば、ユーザが利用申請に必要な項目を入力してボタンB31を選択すると、カスタマイズドサービスの利用申請が完了する。カスタマイズドサービスの利用申請は、契約先サーバ20に対して行われるが、カスタマイズドサービス自体は、契約先サーバ20ではなく、マルチテナントサーバ10により提供される。このため、契約先サーバ20は、マルチテナントサーバ10に対し、ユーザがカスタマイズドサービスを試用するための環境の作成を依頼する。
【0036】
例えば、マルチテナントサーバ10は、契約先サーバ20からの依頼を受信すると、ユーザ専用のサブドメインと、大まかな画面レイアウトと、の少なくとも一方を、カスタマイズドサービスの環境として作成する。環境作成の流れは、原則として、オリジナルサービスの利用申請が行われた場合の流れと同様である。ただし、カスタマイズドサービスは、契約先に応じた機能を有するので、大まかな環境が作成された後に、契約先に応じたカスタマイズが実行される。
【0037】
例えば、マルチテナントサーバ10は、カスタマイズドサービスの環境を作成すると、マルチテナントサーバ10と契約先サーバ20の間で、カスタマイズドサービスに特有のカスタマイズが実行される。本実施形態では、契約先に応じた詳細な画面レイアウトがカスタマイズとして実行される場合を説明するが、画面レイアウト以外の他のカスタマイズが実行されてもよい。他のカスタマイズの一例は、後述の変形例で説明する。
【0038】
例えば、カスタマイズドサービスのカスタマイズが完了すると、ユーザは、自身に割り当てられたサブドメインにアクセスし、カスタマイズドサービスを利用できるようになる。カスタマイズドサービスでも、ユーザは、利用申請時にユーザID及びパスワードの登録を行うものとする。ユーザは、利用申請時に登録したユーザID及びパスワードに基づいて、カスタマイズドサービスにログインする。例えば、ユーザがカスタマイズドサービスにログインすると、カスタマイズドサービスのポータル画面が表示部35に表示される。
【0039】
図5は、カスタマイズドサービスのポータル画面の一例を示す図である。
図5の例では、「DDD株式会社」に属するユーザ「木村花子」が、カスタマイズドサービスにログインしている。カスタマイズドサービスのポータル画面SC4に相当するURLは、「aaawork.com」といったドメインの前に、「dddbbbwork.」といった文字列が付加されて「dddbbbwork.aaawork.com」といったサブドメインを含む。サブドメインは、ユーザの組織及び契約先を識別可能な文字列でなくてもよく、任意の文字列であってよい。例えば、サブドメインは、ランダムに生成された文字列を含んでもよい。
【0040】
図5のように、カスタマイズドサービスのポータル画面SC4は、オリジナルサービスのポータル画面SC2とレイアウトが異なる。例えば、カスタマイズドサービスのポータル画面SC4は、カスタマイズドサービスであることが分かるように、「BBBワーク」といったロゴが表示される。カスタマイズドサービスのポータル画面SC4は、契約先の企業カラーの背景を有してもよいし、契約先の社名を示す画像が背景として試用されてもよい。例えば、カスタマイズドサービスのポータル画面SC4のお知らせ欄には、契約先の製品に関する情報が表示される。
【0041】
例えば、カスタマイズドサービスのポータル画面SC4から何らかの問い合わせが行われる場合には、ベンダーではなく、契約先が問い合わせ先として設定される。一方で、オリジナルサービスのポータル画面SC2における問い合わせ先は、ベンダーとなる。カスタマイズドサービスで表示されるポータル画面SC4以外の他の画面についても、契約先に特有のレイアウトを有する。ユーザ「木村花子」は、「DDD株式会社」に属する他のユーザをスペースに招待する。この点は、オリジナルサービスの利用を開始する手順と同様である。
【0042】
例えば、カスタマイズドサービスでは、契約先の製品に特有の業務支援を提供できるようになっている。契約先がスキャナ又は複合機といった機器を販売する企業だった場合には、文書管理の業務支援に特化したカスタマイズドサービスが提供される。本実施形態では、画面レイアウトのカスタマイズを例に挙げるが、アプリと呼ばれるデータベース、又は、プラグイン等の機能がカスタマイズされてもよい。文書管理の業務支援に特化した業務支援サービスを利用したいユーザは、カスタマイズドサービスの利用申請を行う。
【0043】
以上のように、本実施形態のマルチテナントサーバ10は、カスタマイズドサービスの利用申請が受け付けられると、契約先サーバ20との間で、カスタマイズドサービスの環境の作成と、カスタマイズドサービスに特有のカスタマイズと、を自動的に実行する。これにより、ベンダー及び契約先の間で手動による作業が発生せず、ベンダー及び契約先の少なくとも一方の手間を軽減できるようになっている。以降、マルチテナントシステム1の詳細について説明する。
【0044】
[3.マルチテナントシステムで実現される機能]
図6は、マルチテナントシステム1で実現される機能を示す機能ブロック図である。
図6では、マルチテナントシステム1だけではなく、契約先システム2及びユーザ端末30の各々で実現される機能も示されている。
【0045】
[3-1.マルチテナントシステムで実現される機能]
例えば、マルチテナントサーバ10は、データ記憶部100、受付部101、環境作成部102、発行部103、認証部104、取得部105、実行部106、及び提供部107を含む。データ記憶部100は、記憶部12により実現される。受付部101、環境作成部102、発行部103、認証部104、取得部105、実行部106、及び提供部107の各々は、制御部11により実現される。
【0046】
[データ記憶部]
データ記憶部100は、マルチテナントでサービスを提供するために必要なデータを記憶する。例えば、データ記憶部100は、サービスデータベースDBを記憶する。
【0047】
図7は、サービスデータベースDBの一例を示す図である。サービスデータベースDBは、カスタマイズドサービスに関する各種情報が格納されたデータベースである。例えば、サービスデータベースDBには、契約先を識別可能な契約先情報と、カスタマイズドサービスの環境に関する環境情報と、が格納される。例えば、契約先情報は、契約先の名前、契約先に割り当てられたID、又は契約先のメールアドレスである。
【0048】
環境情報は、カスタマイズドサービスの環境に関する何らかの情報であればよい。例えば、環境情報は、サブドメイン、レイアウト情報、スペース情報、アプリ情報、及びスレッド情報を含む。例えば、サブドメインは、カスタマイズドサービスの利用単位を識別する情報である。利用申請が行われるたびに、サブドメインが生成される。サブドメインは、事後的に変更可能であってもよい。
【0049】
レイアウト情報は、ポータル画面SC2,SC4等の各種画面のレイアウトに関する情報である。例えば、レイアウト情報は、ポータル画面SC2,SC4等の各種画面の背景、アイコン、及びヘッダといった情報を含む。スペース情報は、スペースに関する情報である。例えば、スペース情報は、スペースの名前、スペースに属するユーザのユーザID、及びユーザの権限を含む。スペース情報は、スペースでやり取りされているメッセージ等の情報を含んでもよい。
【0050】
アプリ情報は、スペースに関連付けられたアプリに関する情報である。本実施形態では、アプリは、ソフトウェアというよりもデータベースの意味である。例えば、スペースに属するユーザ同士で共有する情報がアプリに登録される。スペースに属するユーザは、自身が認められた権限の範囲内で、アプリに登録された情報を閲覧、更新、又は削除することができる。アプリは、スペースに関係のない場所に登録されてもよい。スレッド情報は、掲示板の一種であるスレッドに関する情報である。例えば、スレッド情報には、スレッドのタイトル、スレッドに投稿されたコメント、及び添付ファイルが含まれる。
【0051】
なお、サービスデータベースDBは、カスタマイズドサービスに関する何らかの情報が格納されるようにすればよく、
図7の例に限られない。例えば、利用申請をしたユーザが所属する会社名、ユーザの名前、ユーザのメールアドレス、ユーザが属する組織の事業規模、又はカスタマイズドサービスの利用目的の他の情報がサービスデータベースDBに格納されてもよい。例えば、カスタマイズドサービスを利用するユーザ(利用申請をしたユーザに招待された他のユーザ)のユーザID及びパスワードがサービスデータベースDBに格納されてもよい。
【0052】
例えば、契約先のユーザID及びパスワードがサービスデータベースDBに格納されてもよい。本実施形態では、契約先は、管理権限を有するユーザの1人であるものとする。オリジナルサービスの利用申請をしたユーザも管理権限を有するが、オリジナルサービスの利用申請をしたユーザも、管理権限を有する1人ではあるが、本実施形態では、契約先が招待した他のユーザの1人といった位置付けになるものとする。例えば、契約先は、自身に対して発行されたユーザID及びパスワードでログインし、カスタマイズに関する各種処理が実行される。
【0053】
また、データ記憶部100は、カスタマイズドサービスでやりとりされているデータを記憶してもよい。例えば、データ記憶部100は、カスタマイズドサービスのアプリに登録されたレコードのデータと、カスタマイズドサービスのスレッドに投稿されたコメントのデータと、を記憶してもよい。データ記憶部100は、オリジナルサービスに関するデータを記憶してもよい。データ記憶部100は、マルチテナントでサービスを提供するために必要なデータを記憶すればよい。データ記憶部100が記憶するデータは、上記の例に限られない。例えば、データ記憶部100は、各種APIに関するデータを記憶してもよい。
【0054】
[受付部]
受付部101は、カスタマイズドサービスの利用を申請するための所定の利用申請を受け付ける。本実施形態では、契約先システム2で利用申請が行われるので、受付部101は、契約先システム2で利用申請が行われた場合に、契約先システム2から、所定の利用申請を受け付ける。利用申請は、所定形式のデータが送信されることによって行われる。例えば、利用申請には、利用申請をしたユーザに関する情報が含まれてもよい。マルチテナントシステム1でカスタマイズドサービスの利用申請も行われる場合には、受付部101は、ユーザ端末30から直接的に利用申請を受け付ける。マルチテナントシステム1及び契約先システム2以外の他のシステムでカスタマイズドサービスの利用申請も行われる場合には、受付部101は、他のシステムを介して利用申請を受け付ける。
【0055】
本実施形態では、受付部101は、環境を作成するための環境作成APIに基づいて、契約先システム2から、利用申請を受け付ける。ユーザがカスタマイズドサービスの利用申請画面SC3から利用申請をした場合、契約先サーバ20は、マルチテナントサーバ10の環境作成APIに対し、利用申請を送信する。利用申請は、環境作成APIで定められた形式のデータとなる。なお、利用申請は、環境作成APIとは異なるAPIで受け付けてもよいし、ユーザ端末30からマルチテナントサーバ10に直接的に送信されてもよい。
【0056】
[環境作成部]
環境作成部102は、利用申請が受け付けられた場合に、カスタマイズドサービスにおける環境を作成する。環境を作成するとは、カスタマイズドサービスに関するデータを生成し、サービスデータベースDBに格納することである。環境作成部102が作成する環境は、後述の実行部106によるカスタマイズとは異なる。環境作成部102は、カスタマイズドサービスの大まかな設定を行い、後述の実行部106により、カスタマイズドサービスの細かな設定が行われる。環境作成部102により設定される項目は、予め定められているものとする。環境作成部102が環境を作成すると、サービスデータベースDBに新たなレコードが作成され、当該作成された環境に関する各種情報が格納される。
【0057】
例えば、環境作成部102は、カスタマイズドサービスのサブドメインを作成する。サブドメインは、契約先を識別可能な文字列を含んでもよい。この場合、環境作成部102は、カスタマイズドサービスの利用申請である場合に、当該文字列を含むサブドメインを作成する。環境作成部102は、カスタマイズドサービスのポータル画面SC4の大まかなレイアウトを決定する。例えば、大まかなレイアウトは、カスタマイズドサービスのポータル画面SC4のヘッダ部分及び背景である。環境作成部102は、カスタマイズドサービスのポータル画面SC4のヘッダ部分に、契約先の社名又はロゴが含まれるように、カスタマイズドサービスにおける環境を作成する。
【0058】
[発行部]
発行部103は、ユーザが利用申請を行った場合に、所定の認証情報を発行する。認証情報は、契約先の認証で利用される情報である。本実施形態では、パスワードが認証情報に相当する場合を説明するが、認証情報は、他の情報であってもよく、パスワードに限られない。例えば、認証情報は、暗証番号、合言葉、又は電子証明書であってもよい。発行部103は、予め定められた発行方法に基づいて、認証情報を発行する。発行された認証情報は、サービスデータベースDB又は他のデータベースに格納される。認証情報は、発行済みの他の認証情報と重複しないように発行されるものとする。
【0059】
本実施形態では、パスワード設定用のURLに基づいて、パスワードが発行される場合を例に挙げる。例えば、発行部103は、パスワード発行用のURLに対するアクセスを受け付けて、当該URLのページで入力されたパスワードを新たに発行する。発行部103は、パスワード発行用のURLではなく、ランダムにパスワードを発行してもよい。発行部103は、発行したパスワードをサービスデータベースDBに格納する。カスタマイズドサービスの場合には、契約先サーバ20の処理により、パスワードを発行する処理が自動化されているものとする。
【0060】
[認証部]
認証部104は、認証情報に基づいて、契約先システム2に関する認証を実行する。認証部104は、契約先システム2から受信した認証情報と、発行部103により発行されてマルチテナントサーバ10側で保持されている認証情報(例えば、サービスデータベースDBに格納された認証情報)と、に基づいて、認証を実行する。認証は、これらの認証情報が一致した場合に成功となる。認証自体は、任意の認証方法を利用可能であり、パスワード認証に限られない。例えば、暗証番号認証、合言葉認証、又は電子証明書認証が実行されてもよい。契約先ではなくユーザについて認証する場合には、認証部104は、ユーザ端末30から受信した認証情報と、発行部103により発行されてマルチテナントサーバ10側で保持されている認証情報と、に基づいて、認証を実行する。
【0061】
[取得部]
取得部105は、サービスのベンダーと契約した契約先の契約先システム2から、契約先に特有のカスタマイズに関するカスタマイズ情報を取得する。本実施形態では、カスタマイズ情報を取得するための専用のAPIが用意されているものとする。例えば、取得部105は、環境作成APIとは異なるカスタマイズAPIに基づいて、契約先システム2から、カスタマイズ情報を取得する。契約先サーバ20は、カスタマイズAPIを利用して、マルチテナントサーバ10にカスタマイズ情報を送信する。
【0062】
本実施形態では、契約先システム2では、環境の作成結果に基づいて、カスタマイズ情報が生成される。取得部105は、環境の作成結果に基づいて生成されたカスタマイズ情報を取得する。例えば、環境の作成が成功すると認証情報が発行されるので、取得部105は、認証が成功した場合に、契約先システム2から、カスタマイズ情報を取得する。取得部105は、認証が成功しなかった場合には、契約先システム2から、カスタマイズ情報を取得しない。
【0063】
カスタマイズ情報は、カスタマイズドサービスでどのようなカスタマイズを実行するかを識別可能な情報を含む。カスタマイズ自体は、契約先に応じた任意の処理を実行可能である。本実施形態では、ポータル画面SC4のレイアウトに関するカスタマイズが実行されるので、カスタマイズ情報は、ポータル画面SC4のレイアウトに関する情報を含む。例えば、取得部105は、ポータル画面SC4におけるロゴ及び背景といったレイアウトに関するカスタマイズ情報を取得する。
【0064】
[実行部]
実行部106は、カスタマイズ情報に基づいて、カスタマイズを実行する。本実施形態では、カスタマイズの一例として、レイアウト情報のカスタマイズを説明する。このため、カスタマイズ情報には、レイアウト情報が含まれる。例えば、実行部106は、契約先システム2から受信したカスタマイズ情報に含まれるレイアウト情報を、サービスデータベースDBに格納する。ポータル画面SC4等の各画面には、このレイアウト情報が反映される。
【0065】
本実施形態では、サービスの一例として、業務を支援するための業務支援サービスを説明するので、カスタマイズは、契約先が独自に提供するカスタマイズドサービスに関する業務に特有のカスタマイズである。例えば、カスタマイズによって、契約先の製品に関する情報をポータル画面SC4のお知らせ欄に表示させる処理、契約先の企業カラーを背景に設定する処理、及び契約先のロゴをポータル画面SC4等の画面に表示させる処理の少なくとも1つが実行される。
【0066】
本実施形態では、カスタマイズAPIを利用してレイアウト情報がやりとりされる。このカスタマイズAPIは、オリジナルサービスで何らかのカスタマイズが実行される場合にも利用される。このため、実行部106は、ベンダーが提供するオリジナルのサービスであるオリジナルサービスと同じカスタマイズAPIを流用して、カスタマイズを実行する。例えば、オリジナルサービスのカスタマイズAPIと、カスタマイズドサービスのカスタマイズAPIと、は互いに同じである。このため、これらのAPIが受け付けるデータ形式も同じである。
【0067】
[提供部]
提供部107は、所定の利用申請を行ったユーザに対し、カスタマイズが実行されたサービスであるカスタマイズドサービスを提供する。本実施形態では、契約先システム2で利用申請が行われる場合を説明するが、利用申請は、マルチテナントシステム1で行われてもよい。例えば、オリジナルサービスの利用申請と同じ利用申請画面SC1でカスタマイズドサービスの利用申請を選択できるようにしてもよい。カスタマイズドサービスの利用申請は、マルチテナントシステム1及び契約先システム2以外の他のシステム(例えば、代理店のシステム)で行われてもよい。この場合、マルチテナントシステム1は、他のシステムから、カスタマイズドサービスの利用申請が行われたことを示す通知を受信するものとする。
【0068】
例えば、提供部107は、利用申請をしたユーザ又は当該ユーザから招待を受けた他のユーザが、自身のユーザID及びパスワードを入力してログインした場合に、カスタマイズドサービスのポータル画面SC4をユーザ端末30に表示させる。このポータル画面SC4は、契約先に特有のカスタマイズが実行されたものである。このため、提供部107は、ユーザに対し、カスタマイズが反映されたカスタマイズドサービスを提供することになる。本実施形態では、マルチテナントが実現されるので、提供部107は、ユーザに対し、オリジナルサービスも提供することになる。カスタマイズドサービスの提供は、サービスデータベースDB又は他のデータベースに格納されたデータに基づいて実行される。
【0069】
[3-2.契約先システムで実現される機能]
例えば、契約先システム2は、データ記憶部200、受付部201、第1依頼部202、取得部203、第2依頼部204、及び通知部205を含む。データ記憶部200は、記憶部22により実現される。受付部201、第1依頼部202、取得部203、第2依頼部204、及び通知部205は、制御部21により実現される。
【0070】
[データ記憶部]
データ記憶部200は、カスタマイズドサービスを提供するために必要なデータを記憶する。例えば、データ記憶部200は、カスタマイズドサービスの利用申請画面SC3をユーザ端末30に表示させるためのデータを記憶する。本実施形態では、データ記憶部200は、カスタマイズ情報を記憶する。カスタマイズ情報は、契約先の担当者の操作により適宜更新可能である。例えば、データ記憶部200は、ポータル画面SC4のレイアウトに関するレイアウト情報を、カスタマイズ情報として記憶する。カスタマイズ情報には、レイアウト情報以外の他の情報が含まれてもよい。データ記憶部200は、カスタマイズ情報そのものを記憶しなくてもよく、カスタマイズ情報を生成するためのデータを記憶してもよい。
【0071】
[受付部]
受付部201は、カスタマイズドサービスの利用申請を受け付ける。本実施形態では、利用申請がユーザ端末30から送信される場合を説明するが、利用申請は、ユーザ端末30以外の他の端末から送信されてもよい。例えば、契約先の担当者がユーザの代わりに利用申請を行う場合には、担当者の端末から利用申請が送信されてもよい。利用申請は、所定形式のデータが送信されることによって行われる。利用申請は、カスタマイズドサービスの利用を開始するために必要な情報を含む。例えば、利用申請は、カスタマイズドサービスの利用申請画面SC3の入力フォームF30に入力された各種情報を含む。
【0072】
[第1依頼部]
第1依頼部202は、マルチテナントサーバ10に対し、カスタマイズドサービスの環境を作成するための環境作成依頼を送信する。環境作成依頼は、所定形式のデータが送信されることによって行われる。環境作成依頼は、カスタマイズドサービスの環境を作成するために必要な情報を含む。例えば、環境作成依頼は、カスタマイズドサービスであることを識別可能なサービス識別情報を含む。サービス識別情報は、オリジナルサービスと区別できる情報であればよく、例えば、所定の文字、記号、数字、又はこれらの組み合わせによって表現される。
【0073】
本実施形態では、環境作成APIとカスタマイズAPIが別々のAPIとして用意されているので、第1依頼部202は、マルチテナントサーバ10の環境作成APIに対し、カスタマイズドサービスの環境作成依頼を送信する。環境作成依頼は、環境作成APIに沿ったデータフォーマットとなる。このデータフォーマットは、原則として、オリジナルサービスの環境作成依頼と同様である。このため、環境作成APIは、カスタマイズドサービスの環境作成依頼と、オリジナルサービスの環境作成依頼と、の両方に対応できる。
【0074】
[取得部]
取得部203は、予め定められた取得方法に基づいて、カスタマイズ情報を取得する。本実施形態では、カスタマイズ情報そのものがデータ記憶部200に記憶されているので、取得部203は、データ記憶部200に記憶されたカスタマイズ情報を取得する。データ記憶部200に記憶されたカスタマイズ情報は、契約先の担当者によって適宜変更可能である。カスタマイズ情報をマルチテナントサーバ10に記録する必要がないので、カスタマイズドサービスのポータル画面SC4のレイアウトを変更する場合には、契約先の担当者は、ベンダーに依頼してカスタマイズ情報を変更してもらう必要がなくなる。これにより、ベンダー及び契約先の両者の手間を軽減できる。カスタマイズ情報は、カスタマイズドサービスの環境結果に基づいて取得されてもよいし、カスタマイズドサービスの環境に関係なく取得されてもよい。
【0075】
[第2依頼部]
第2依頼部204は、マルチテナントサーバ10に対し、カスタマイズドサービスに特有のカスタマイズを実行するためのカスタマイズ依頼を送信する。カスタマイズ依頼は、所定形式のデータが送信されることによって行われる。カスタマイズ依頼は、カスタマイズを実行するために必要な情報を含む。例えば、カスタマイズ依頼は、契約先のユーザIDと、カスタマイズ情報と、を含む。
【0076】
本実施形態では、環境作成APIとカスタマイズAPIが別々のAPIとして用意されているので、第2依頼部204は、マルチテナントサーバ10のカスタマイズAPIに対し、カスタマイズ依頼を送信する。カスタマイズ依頼は、カスタマイズAPIに沿ったデータフォーマットとなる。このデータフォーマットは、原則として、オリジナルサービスで何らかのカスタマイズを実行する場合と同様である。このため、カスタマイズAPIは、カスタマイズドサービスのカスタマイズ依頼と、オリジナルサービスのカスタマイズ依頼と、の両方に対応できる。
【0077】
[通知部]
通知部205は、ユーザ端末30に対し、利用開始を通知する。利用開始には、カスタマイズドサービスのポータル画面SC4へのリンクが含まれているものとする。ユーザのパスワードを事後的に登録する場合には、利用開始には、パスワードの登録用のページへのリンクが含まれていてもよい。通知部205は、任意の通知手段を利用して利用開始を通知すればよい。通知手段としては、電子メール、メッセージアプリ、SMS、又はチャットであってもよい。
【0078】
[3-3.ユーザ端末で実現される機能]
例えば、ユーザ端末30は、データ記憶部300、表示制御部301、及び操作受付部302を含む。データ記憶部300は、記憶部32により実現される。表示制御部301及び操作受付部302の各々は、制御部31により実現される。
【0079】
[データ記憶部]
データ記憶部300は、ユーザの業務を支援するために必要なデータを記憶する。例えば、データ記憶部300は、マルチテナントシステム1に関する種々の画面を表示するためのブラウザを記憶する。例えば、データ記憶部300は、マルチテナントシステム1専用のアプリケーションを記憶する。
【0080】
[表示制御部]
表示制御部301は、マルチテナントシステム1における各種画面を、表示部35に表示させる。例えば、表示制御部301は、マルチテナントサーバ10から受信した表示データに基づいて、オリジナルサービスの利用申請画面SC1、オリジナルサービスのポータル画面SC2、カスタマイズドサービスの利用申請画面SC3、及びカスタマイズドサービスのポータル画面SC4を、表示部35に表示させる。
【0081】
[操作受付部]
操作受付部302は、ユーザによる各種操作を受け付ける。例えば、操作受付部302は、オリジナルサービスの利用申請画面SC1、オリジナルサービスのポータル画面SC2、カスタマイズドサービスの利用申請画面SC3、及びカスタマイズドサービスのポータル画面SC4の各々に対する操作を受け付ける。操作受付部302が受け付けた操作内容は、マルチテナントサーバ10又は契約先サーバ20に適宜送信される。
【0082】
[4.マルチテナントシステムで実行される処理]
図8は、マルチテナントシステム1で実行される処理の一例を示すフロー図である。
図8では、マルチテナントシステム1で実行される処理のうち、主に、カスタマイズドサービスの利用申請時の処理を説明する。
【0083】
図8に示すように、ユーザ端末30は、ユーザがカスタマイズドサービスの利用申請画面SC3のリンクを指定すると、契約先サーバ20との間で、カスタマイズドサービスの利用申請画面SC3を表示させるための処理を実行する(S1)。ユーザ端末30は、カスタマイズドサービスの利用申請画面SC3において、利用申請に必要な項目の入力を受け付けて、契約先サーバ20に対し、利用申請を送信する(S2)。利用申請には、ユーザによる各項目の入力内容が含まれる。
【0084】
契約先サーバ20は、利用申請を受け付けると(S3)、マルチテナントサーバ10に対し、カスタマイズドサービスの環境作成を依頼する(S4)。S4では、契約先サーバ20は、オリジナルサービスにおける環境作成と同じ環境作成APIに対し、カスタマイズドサービスの環境作成を依頼する。環境作成APIに送信されるデータ形式は、オリジナルサービスにおける環境作成が行われる場合と同様である。ただし、依頼には、カスタマイズドサービスであることを識別可能な識別情報が含まれているものとする。
【0085】
マルチテナントサーバ10は、環境作成の依頼を受け付けると(S5)、カスタマイズドサービスの環境を作成する(S6)。S6では、マルチテナントサーバ10は、カスタマイズドサービスに特有のレイアウトとなるように、レイアウト情報を生成する。マルチテナントサーバ10は、オリジナルサービスと同様の発行方法に基づいて、サブドメインを発行してもよいが、ここでは、カスタマイズドサービスに特有のサブドメインとなるように、サブドメインを発行するものとする。マルチテナントサーバ10は、サービスデータベースDBを更新する。
【0086】
マルチテナントサーバ10は、契約先サーバ20に対し、環境の作成結果を送信する(S7)。S7では、マルチテナントサーバ10及び契約先サーバ20の間でポーリングが実行され、ステータスが確認される。マルチテナントサーバ10は、契約先サーバ20側で準備完了のステータスになったことを検知すると、契約先のパスワード設定用のURLを契約先サーバ20に送信する。契約先のユーザIDは、ランダムに生成されるものとする。
【0087】
契約先サーバ20は、環境の作成結果を受信すると(S8)、契約先のパスワードを設定する(S9)。S9の処理は、自動的に実行されるものとする。契約先のユーザID及びパスワードは、契約先サーバ20に記録される。以降、契約先サーバ20は、任意のタイミングでユーザID及びパスワードを利用してマルチテナントサーバ10にログインできる。
【0088】
契約先サーバ20は、予め定められた取得方法に基づいて、カスタマイズ情報を取得する(S10)。S10では、カスタマイズドサービス用のレイアウト情報が契約先サーバ20に記録されているものとする。契約先サーバ20は、カスタマイズドサービス用のレイアウト情報を読み出すことによって、カスタマイズ情報を生成する。契約先サーバ20は、マルチテナントサーバ10に対し、S9で設定されたパスワードでログインしてカスタマイズ情報を送信する(S11)。
【0089】
マルチテナントサーバ10は、カスタマイズ情報を受信すると(S12)、当該受信したカスタマイズ情報に基づいて、カスタマイズドサービスのカスタマイズを実行する(S13)。マルチテナントサーバ10は、契約先サーバ20に対し、カスタマイズの実行結果を送信する(S14)。契約先サーバ20は、カスタマイズの実行結果を受信すると(S15)、ユーザ端末30に対し、カスタマイズドサービスの利用準備が整ったことを通知し(S16)、本処理は終了する。以降、ユーザ端末30及びマルチテナントサーバ10の間で、カスタマイズドサービスを利用するための処理が実行される。例えば、ユーザが、自身のユーザID及びパスワードでカスタマイズドサービスにログインすると、マルチテナントサーバ10は、カスタマイズドサービスのポータル画面SC4を表示部35に表示させる。
【0090】
本実施形態のマルチテナントシステム1は、契約先システム2から受信したカスタマイズ情報に基づいて、カスタマイズを実行する。マルチテナントシステム1は、契約先システム2で利用申請を行ったユーザに対し、カスタマイズドサービスを提供する。これにより、ユーザによる利用申請を受け付けるたびに、ベンダーが契約先からの依頼を受けて手動でカスタマイズを実行するのではなく、利用申請からカスタマイズの流れを自動化できるので、ベンダーの手間を軽減できる。ベンダーが管理するマルチテナントサーバ10に契約先の担当者がアクセスしてカスタマイズを実行する必要もなくなるので、契約先の手間も軽減できる。また、カスタマイズの流れを自動化することによって、人為的な設定ミスも防止できる。
【0091】
また、マルチテナントシステム1は、オリジナルサービスと同じカスタマイズAPIを流用して、カスタマイズを実行する。これにより、カスタマイズドサービス専用のAPIを準備する必要がなくなるので、ベンダーの手間を効果的に軽減できる。例えば、カスタマイズドサービスのために何らかの改修が必要だったとしても、オリジナルサービスで利用していた既存のカスタマイズAPIを流用できるので、改修の手間を軽減できる。
【0092】
また、マルチテナントシステム1は、利用申請が受け付けられた場合に、カスタマイズドサービスにおける環境を作成する。これにより、ベンダー側で、カスタマイズドサービスにおける環境の作成と、カスタマイズ情報の取得と、を別々の処理として分けることができるので、ベンダー側でカスタマイズ情報を管理する手間がなくなる。例えば、契約先によりカスタマイズの内容が変更されたとしても、ベンダー側のマルチテナントサーバ10に変更を反映する必要がないので、ベンダー側の管理負担を軽減できる。
【0093】
また、マルチテナントシステム1は、環境作成APIとは異なるカスタマイズAPIに基づいて、契約先システム2から、カスタマイズ情報を取得する。これにより、カスタマイズドサービスの大まかな環境を作成するための環境作成APIと、より細かなカスタマイズを実行するためのカスタマイズAPIと、を別々にすることによって、最適なAPIによって環境の作成とカスタマイズを実行できる。
【0094】
また、マルチテナントシステム1は、ユーザが利用申請を行った場合に発行された認証情報に基づいて、契約先システム2に関する認証を実行する。マルチテナントシステム1は、認証が成功した場合に、契約先システム2から、カスタマイズ情報を取得する。これにより、契約先の正当性を認証したうえでカスタマイズを実行できるので、セキュリティが高まる。
【0095】
また、本実施形態のサービスは、業務を支援するための業務支援サービスである。カスタマイズは、契約先が独自に提供する契約先サービスに関する業務に特有のカスタマイズである。これにより、業務支援サービスを提供するベンダーの手間を軽減できる。
【0096】
[5.変形例]
なお、本開示は、以上説明した実施形態の例に限定されるものではない。本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0097】
[5-1.変形例1]
例えば、実施形態では、カスタマイズ情報が予めデータ記憶部200に記憶されている場合を説明したが、ユーザがカスタマイズドサービスの利用申請をした場合に、カスタマイズ情報が動的に生成されてもよい。変形例1の契約先システム2では、利用申請でユーザが指定した申請内容に基づいて、カスタマイズ情報が生成される。例えば、利用申請時にレイアウトが指定される。契約先サーバ20は、ユーザが指定したレイアウトに応じたカスタマイズ情報を生成する。
【0098】
変形例1の取得部105は、契約先システム2から、申請内容に基づいて生成されたカスタマイズ情報を取得する。実行部106は、申請内容に応じたカスタマイズを実行する。カスタマイズ情報の生成方法が実施形態とは異なるが、カスタマイズ情報に基づいてカスタマイズを実行する処理の流れは、実施形態で説明した通りである。なお、レイアウト以外の他のカスタマイズが実行される場合には、利用申請時に、他のカスタマイズの内容が指定されてもよい。例えば、初期のプラグイン、アプリ、スペース、又はスレッドといった他の機能のカスタマイズが実行される場合には、ユーザは、利用申請時に、これらの内容を指定してもよい。
【0099】
例えば、カスタマイズ情報は、初期のプラグイン、アプリ、スペース、又はスレッドが示されてもよい。実行部106は、ユーザが指定したプラグイン、アプリ、スペース、又はスレッドが最初から利用できるように、カスタマイズを実行する。例えば、実行部106は、ユーザが指定したプラグイン、アプリ、スペース、又はスレッドに関する情報を、サービスデータベースDBに格納する。提供部107は、この情報に基づいて、ユーザが指定したプラグイン、アプリ、スペース又はスレッドを最初から利用できるように、カスタマイズドサービスを提供する。
【0100】
変形例1のマルチテナントシステム1は、契約先システム2から、申請内容に基づいて生成されたカスタマイズ情報を取得する。マルチテナントシステム1は、申請内容に応じたカスタマイズを実行する。これにより、ユーザの申請内容に応じたカスタマイズを実行することができるので、ユーザの利便性が高まる。
【0101】
[5-2.変形例2]
例えば、ユーザが、契約先が独自に提供する契約先サービスを利用する場合には、契約先システム2では、契約先サービスにおけるユーザに関するユーザ情報に基づいて、カスタマイズ情報が生成されてもよい。契約先サービスは、契約先が直接的に提供するサービスである。例えば、契約先がスキャナ又は複合機といった機器を販売する会社の場合、契約先は、自社製品と連携した文書管理サービスを、契約先サービスとして提供する。契約先サービスは、オンラインストレージサービス等の他の任意のサービスであってよい。
【0102】
変形例2では、ユーザが、契約先サービスのポータル画面等の画面のレイアウトをカスタマイズしているものとする。例えば、ユーザは、ユーザ端末30を操作して契約先サービスにログインし、契約先サービスを利用する。この場合に表示される画面のレイアウトがデータ記憶部200に記憶されている。データ記憶部200は、契約先サービスのポータル画面のレイアウトに関する情報を記憶する。例えば、この情報は、契約先サービスの画面の背景又はロゴといった情報を含む。
【0103】
例えば、契約先サーバ20は、データ記憶部200に記憶された契約先サービスに関する情報に基づいて、カスタマイズ情報を生成する。例えば、契約先サーバ20は、契約先サービスのポータル画面のレイアウトと同じレイアウトになるように、カスタマイズドサービスのカスタマイズ情報を生成する。変形例2の取得部105は、契約先システム2から、ユーザ情報に基づいて生成されたカスタマイズ情報を取得する。実行部106は、ユーザ情報に応じたカスタマイズを実行する。カスタマイズ情報の生成方法が実施形態とは異なるが、カスタマイズ情報に基づいてカスタマイズを実行する処理の流れは、実施形態で説明した通りである。
【0104】
なお、変形例2でも、変形例1と同様、レイアウト以外の他のカスタマイズが実行されてもよい。例えば、契約先サーバ20は、ユーザが契約先サービスで利用中のプラグインや機器に関する情報を記憶してもよい。契約先サーバ20は、このプラグインや機器をオリジナルサービスでも利用できるように、カスタマイズ情報を生成してもよい。マルチテナントサーバ10の実行部106は、契約先サービスでユーザが利用中のプラグインや機器をオリジナルサービスでも利用できるように、カスタマイズドサービスのカスタマイズを実行すればよい。契約先サービスに関する情報と、カスタマイズ内容と、の関係は、データ記憶部100に予め定義されているものとする。実行部106は、この関係に基づいて、カスタマイズを実行する。
【0105】
変形例2のマルチテナントシステム1は、契約先システム2から、契約先サービスにおけるユーザ情報に基づいて生成されたカスタマイズ情報を取得する。マルチテナントシステム1は、契約先サービスにおけるユーザ情報に応じたカスタマイズを実行する。これにより、ユーザが利用中の契約先サービスに応じたカスタマイズを実行することができるので、ユーザの利便性が高まる。
【0106】
[5-3.変形例3]
例えば、ユーザがオリジナルサービスを利用する場合には、実行部106は、カスタマイズ情報と、オリジナルサービスにおけるユーザに関するユーザ情報と、に基づいて、カスタマイズを実行してもよい。変形例3では、ユーザがオリジナルサービスを解約してカスタマイズドサービスの利用を開始する場合を説明するが、ユーザは、オリジナルサービスを解約せずに、カスタマイズドサービスの利用を開始してもよい。ユーザが利用中のオリジナルサービスに関する情報は、データ記憶部100に記憶されているものとする。
【0107】
例えば、実行部106は、データ記憶部100を参照し、ユーザが利用中のオリジナルサービスのレイアウト情報を取得する。実行部106は、当該取得されたレイアウト情報と同じレイアウトとなるように、カスタマイズを実行する。契約先システム2から取得されたカスタマイズ情報にも何らかのレイアウトが示されているが、カスタマイズ情報では足りないものが、データ記憶部100に格納されたレイアウト情報によって補われてもよい。
【0108】
なお、変形例3でも、変形例1,2と同様、レイアウト以外の他のカスタマイズが実行されてもよい。例えば、契約先サーバ20は、ユーザがオリジナルサービスで利用中のプラグイン、アプリ、スペース、又はスレッドに関する情報を記憶してもよい。マルチテナントサーバ10の実行部106は、プラグイン、アプリ、スペース、又はスレッドをオリジナルサービスでも引き続き利用できるように、カスタマイズを実行してもよい。例えば、実行部106は、ユーザが利用中のオリジナルサービスのスペース情報等を、カスタマイズドサービスのスペース情報等として流用する。オリジナルサービスに関する情報と、カスタマイズ内容と、の関係は、データ記憶部100に予め定義されているものとする。実行部106は、この関係に基づいて、カスタマイズを実行する。
【0109】
変形例3のマルチテナントシステム1は、カスタマイズ情報と、オリジナルサービスにおけるユーザに関するユーザ情報と、に基づいて、カスタマイズを実行する。これにより、ユーザが利用中のオリジナルサービスに応じたカスタマイズを実行することができるので、ユーザの利便性が高まる。
【0110】
[5-4.その他の変形例]
例えば、変形例1~3を組み合わせてもよい。
【0111】
例えば、環境作成部102により作成された環境は、実行部により変更可能であってもよい。この場合、環境作成部102によりランダムにサブドメインが生成され、実行部106により契約先の名前が入ったサブドメインに変更されてもよい。環境作成部102により作成された環境は、ユーザがカスタマイズドサービスの利用を開始した後に、ユーザによって変更されてもよい。逆に、環境作成部102により作成された環境は、実行部106により変更できないようにしてもよい。更に、実行部106によりカスタマイズされた内容が、ユーザによって変更できないようにしてもよい。
【0112】
例えば、ユーザがカスタマイズドサービスの利用を開始した後も契約先のパスワードを利用するか否かを、ユーザに選択させるようにしてもよい。契約先のパスワードを引き続き利用する場合には、ユーザがカスタマイズドサービスの何らかの設定変更を行うたびに、契約先のパスワードを利用したログインが発生するものとする。契約先のパスワードを利用しない場合には、ユーザの自らのパスワードでカスタマイズドサービスにログインし、管理者権限に基づいて設定変更が行われる。
【0113】
例えば、上記説明した各機能は、マルチテナントシステム1における任意の装置で実現されるようにすればよい。例えば、マルチテナントサーバ10で実現されるものとして説明した機能がマルチテナントシステム1内の他のコンピュータによって実現されてもよい。この場合、例えば、各機能が複数のコンピュータによって分担されてもよい。
【符号の説明】
【0114】
1 マルチテナントシステム、2 契約先システム、10 マルチテナントサーバ、11,21,31 制御部、12,22,32 記憶部、13,23,33 通信部、20 契約先サーバ、30 ユーザ端末、34 操作部、35 表示部、N ネットワーク、DB サービスデータベース、100 データ記憶部、101 受付部、102 環境作成部、103 発行部、104 認証部、105 取得部、106 実行部、107 提供部、200 データ記憶部、201 受付部、202 第1依頼部、203 取得部、204 第2依頼部、205 通知部、300 データ記憶部、301 表示制御部、302 操作受付部、F10,F30 入力フォーム、B11,B31 ボタン、SC1,SC3 利用申請画面、SC2,SC4 ポータル画面。
【要約】
【課題】ベンダー及び契約先の少なくとも一方の手間を軽減する。
【解決手段】マルチテナントシステム(1)は、マルチテナントでサービスを提供する。取得部(105)は、サービスのベンダーと契約した契約先の契約先システム(2)から、契約先に特有のカスタマイズに関するカスタマイズ情報を取得する。実行部(106)は、カスタマイズ情報に基づいて、カスタマイズを実行する。提供部(107)は、所定の利用申請を行ったユーザに対し、カスタマイズが実行された前記サービスであるカスタマイズドサービスを提供する。
【選択図】
図6