(57)【特許請求の範囲】
【請求項１】
通信ネットワークを介してマルチテナントサービスを提供するサービス提供サーバと、該サービス提供サーバに対して第１テナントの生成を行う１又は複数の第１の端末と、前記第１テナントによるサービスを利用する１又は複数の第２の端末とを有するマルチテナントシステムにおいて、
前記サービス提供サーバは、
前記第１の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するＷｅｂサイトを生成するテナント生成手段と、
前記テナント生成手段により生成されたＷｅｂサイトを前記通信ネットワーク上に公開する公開手段と、
前記第２の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェック手段と、
前記入力チェック手段によるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新手段と、を有し、
前記第１テナント用のデータベースにおいて、前記複数の自由項目に含まれる第１自由項目を、前記第１テナントで利用される第１アプリケーションの識別情報と対応付けて管理して、前記第１アプリケーションのみで利用可能とし、前記複数の自由項目に含まれる第２自由項目を、前記第１テナントで利用される第２アプリケーションの識別情報と対応付けて管理して、前記第２アプリケーションのみで利用可能とする、ことを特徴とするマルチテナントシステム。
【請求項２】
前記テナント生成手段は、
前記Ｗｅｂサイトの画面上の各項目のフィールドを生成する入力フィールド生成手段と、
前記各項目のうち、少なくとも１つに前記自由項目を利用する場合に、追加フィールド用の設定情報を生成する項目生成手段とを有することを特徴とする請求項１に記載のマルチテナントシステム。
【請求項３】
前記項目生成手段は、
前記データベースに含まれる自由項目マスタを参照し、該自由項目マスタ内の利用フラグに応じて、各フィールドに関する各種設定情報を生成することを特徴とする請求項２に記載のマルチテナントシステム。
【請求項４】
１又は複数のアプリケーションをインストールして、前記自由項目に関する機能拡張をする場合に、前記データベースに前記アプリケーションの情報を格納し、格納した情報に対応付けて前記自由項目を管理することを特徴とする請求項１乃至３の何れか１項に記載のマルチテナントシステム。
【請求項５】
前記第１の端末が前記自由項目の入力フィールドを含むＷｅｂサイトを生成する画面、及び、前記第２の端末に前記第１の端末が生成したＷｅｂサイトを閲覧させる画面を生成する画面生成手段を有することを特徴とする請求項１乃至４の何れか１項に記載のマルチテナントシステム。
【請求項６】
第１の端末により生成された第１テナントを管理し、通信ネットワークを介して第２の端末にマルチテナントサービスを提供するサービス提供サーバにおいて、
前記第１の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するＷｅｂサイトを生成するテナント生成手段と、
前記テナント生成手段により生成されたＷｅｂサイトを前記通信ネットワーク上に公開する公開手段と、
前記第２の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェック手段と、
前記入力チェック手段によるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新手段と、を有し、
前記第１テナント用のデータベースにおいて、前記複数の自由項目に含まれる第１自由項目を、前記第１テナントで利用される第１アプリケーションの識別情報と対応付けて管理して、前記第１アプリケーションのみで利用可能とし、前記複数の自由項目に含まれる第２自由項目を、前記第１テナントで利用される第２アプリケーションの識別情報と対応付けて管理して、前記第２アプリケーションのみで利用可能とする、サービス提供サーバ。
【請求項７】
第１の端末により生成された第１テナントを管理し、通信ネットワークを介して第２の端末にマルチテナントサービスを提供するサービス提供サーバにおけるサービス提供方法において、
前記第１の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するＷｅｂサイトを生成するテナント生成ステップと、
前記テナント生成ステップにより生成されたＷｅｂサイトを前記通信ネットワーク上に公開する公開ステップと、
前記第２の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェックステップと、
前記入力チェックステップによるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新ステップと、を有し、
前記第１テナント用のデータベースにおいて、前記複数の自由項目に含まれる第１自由項目を、前記第１テナントで利用される第１アプリケーションの識別情報と対応付けて管理して、前記第１アプリケーションのみで利用可能とし、前記複数の自由項目に含まれる第２自由項目を、前記第１テナントで利用される第２アプリケーションの識別情報と対応付けて管理して、前記第２アプリケーションのみで利用可能とする、ことを特徴とするサービス提供方法。
【請求項８】
第１の端末により生成された第１テナントを管理し、通信ネットワークを介して第２の端末にマルチテナントサービスを提供するサービス提供プログラムにおいて、
コンピュータを、
前記第１の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するＷｅｂサイトを生成するテナント生成手段、
前記テナント生成手段により生成されたＷｅｂサイトを前記通信ネットワーク上に公開する公開手段、
前記第２の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェック手段、
前記入力チェック手段によるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新手段、として機能させ、
前記第１テナント用のデータベースにおいて、前記複数の自由項目に含まれる第１自由項目を、前記第１テナントで利用される第１アプリケーションの識別情報と対応付けて管理して、前記第１アプリケーションのみで利用可能とし、前記複数の自由項目に含まれる第２自由項目を、前記第１テナントで利用される第２アプリケーションの識別情報と対応付けて管理して、前記第２アプリケーションのみで利用可能とする、サービス提供プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラムに関する。
【背景技術】
【０００２】
従来では、インターネット等の通信ネットワークを利用して、ユーザ端末からオンラインショッピング等を提供するＷｅｂサイトにアクセスし、所望する商品等をネット購入するサービスが存在している。このようなＷｅｂサイト（ＥＣ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｍｍｅｒｃｅ）サイト）を運営するオーナー（例えば、複数の企業や組織等）は、各自で専用のサーバ等を設置し、自己の管理・運用によってＷｅｂサイトに表示される商品等の更新や在庫管理、課金等の処理を行っていた。
【０００３】
しかしながら、オーナー毎に専用のサーバを用意する場合には、各オーナーに負担が掛かると共に、運用コストも大きくなる。そのため、近年では、各オーナーが共有のサーバを利用し、同一のＷｅｂアプリケーションを各オーナーに提供するマルチテナントシステムが知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−３３４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、マルチテナント環境においては、テナントによってデータベースに登録されるデータの内容が異なる場合がある。例えば、あるテナントでは、顧客テーブルの標準的な属性（氏名、住所、生年月日）に加えて「得意先フラグ」という項目で「０」又は「１」の値を登録し、また別のテナントでは、上記の標準的な属性に加えて「最終購入日」という項目で日付の値を登録するような場合である。
【０００６】
この場合、マルチテナントシステムの提供者は、テナント毎にデータベースの項目をカスタマイズする必要が生じる。そのため、データベースの構築に時間が掛かると共に、その運用（メンテナンス）もテナント毎に実行しなければならず負担が大きくなってしまう。
【０００７】
また、別の考え方としてマルチテナントシステムを利用する各テナントに対して同一のフォーマットでのみデータベースを提供した場合には、マルチテナント提供者の負荷は軽減できるが、テナント利用者の利便性が悪くなってしまう。
【０００８】
本発明は、上述した課題に鑑みてなされたものであって、マルチテナント提供者の負荷を軽減させると共に、テナント利用者の利便性を向上させるためのマルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一つの態様としてのマルチテナントシステムは、通信ネットワークを介してマルチテナントサービスを提供するサービス提供サーバと、該サービス提供サーバに対して第１テナントの生成を行う１又は複数の第１の端末と、前記第１テナントによるサービスを利用する１又は複数の第２の端末とを有するマルチテナントシステムにおいて、前記サービス提供サーバは、前記第１の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するＷｅｂサイトを生成するテナント生成手段と、前記テナント生成手段により生成されたＷｅｂサイトを前記通信ネットワーク上に公開する公開手段と、前記第２の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェック手段と、前記入力チェック手段によるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新手段と、を有し、前記第１テナント用のデータベースにおいて、前記複数の自由項目に含まれる第１自由項目を、前記第１テナントで利用される第１アプリケーションの識別情報と対応付けて管理して、前記第１アプリケーションのみで利用可能とし、前記複数の自由項目に含まれる第２自由項目を、前記第１テナントで利用される第２アプリケーションの識別情報と対応付けて管理して、前記第２アプリケーションのみで利用可能とする。
【発明の効果】
【００１０】
本発明によれば、マルチテナント提供者の負荷を軽減させると共に、テナント利用者の利便性を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】マルチテナントシステムの概略構成の一例を示す図である。
【図２】サービス提供サーバの機能構成の一例を示す図である。
【図３】サービス提供サーバのハードウェア構成の一例を示す図である。
【図４】テナント生成処理の一例を示すフローチャートである。
【図５】入力フィールド生成処理の一例を示すフローチャートである。
【図６】テナント管理処理の一例を示すフローチャートである。
【図７】サービス提供サーバが管理するＤＢの概略構成例を示す図である。
【図８】ＤＢ内の各種データの一例を示す図である。
【図９】画面生成の一例について、説明するための図である。
【図１０】Ｗｅｂサイトにおける自由項目の利用内容の一例を示す図である。
【図１１】本実施形態における拡張機能の一例を示す図である。
【図１２】アプリケーションに対応させた各種データ例を示す図である。
【発明を実施するための形態】
【００１２】
以下、図面に基づいて実施形態を説明する。
【００１３】
＜マルチテナントシステムの概略構成例＞
図１は、マルチテナントシステムの概略構成の一例を示す図である。図１の例に示すマルチテナントシステム１０は、サービス提供サーバ１１と、１又は複数のオーナー端末（第１の端末）１２−１〜１２−ｎ（以下、必要に応じて「オーナー端末１２」という）と、１又は複数のユーザ端末（第２の端末）１３−１〜１３−ｎ（以下、必要に応じて「ユーザ端末１３」という）とを有する。サービス提供サーバ１１と、オーナー端末１２と、ユーザ端末１３とは、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等に代表される通信ネットワーク１４を介してデータの送受信が可能な状態で接続されている。
【００１４】
サービス提供サーバ１１は、マルチテナント環境（マルチテナントサービス）をオーナー端末１２等に提供する。サービス提供サーバ１１は、各オーナー端末１２に対してＷｅｂサイト等のテナントを立ち上げるため共有のシステム（ソフトウェアやアプリケーション等）を提供する。例えば、サービス提供サーバ１１は、各オーナーが個別にカスタマイズ可能なＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）型のサービスを提供する。マルチテナント環境では、複数のオーナー（例えば、顧客企業等）が一つのシステムを共有するため、シングルテナントサービスに比べ、低コストでテナントサービスを提供することができる。
【００１５】
また、サービス提供サーバ１１は、各オーナー端末１２により設定された内容でＥＣサイト等を公開し、ユーザ端末１３からの閲覧等を可能にする。なお、本実施形態において、サービス提供サーバ１１は、複数の商店のページ（電子商店）を一つのサイトにまとめて公開するオンラインモール（電子商店街）ではなく、各オーナーがそれぞれ別のサイトとして管理する環境を提供するものである。なお、個々のオーナーのそれぞれが、上述したオンラインモールとしてのテナントを設けてもよい。
【００１６】
また、サービス提供サーバ１１は、各オーナー端末１２が設定したテナントに関する各種データをデータベース１５（以下、必要に応じて「ＤＢ１５」という）に格納して管理する。ＤＢ１５は、各テナントに対する各種データをそれぞれ個別のＤＢ１５−１〜１５−ｎとして管理する。これにより、各オーナーは、他のテナントのデータの内容や更新状況等に依存することなく、自己のＤＢ１５に対して項目の追加、更新等を行うことができる。
【００１７】
各ＤＢ１５−１〜１５−ｎは、各種データテーブルに予め標準的なデータを格納する基本フィールド（基本項目）と、追加用フィールド（自由項目）とが設定されている。基本フィールドは、例えば顧客の標準的な属性（氏名、住所、生年月日）等の必須の情報が格納される。また、追加用フィールドは、テナント毎に自由に使用できる項目であり、各オーナーそれぞれが自由に格納する内容を設定できる項目である。追加用フィールドは、文字列、数値、日付等の各項目の属性についても設定することができる。サービス提供サーバ１１は、各ＤＢ１５が有するテーブルの各基本項目、各自由項目に対して、各テナントがどのような名前で、どのような型のデータを保存するかを管理し、その内容に応じてプログラムの処理内容（挙動）を変更する。なお、ＤＢ１５は、サービス提供サーバ１１が管理するが、サービス提供サーバ１１に直接接続されていなくてもよく、例えば通信ネットワーク１４を介して接続されていてもよい。
【００１８】
サービス提供サーバ１１は、例えば汎用のＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）やサーバ等の情報処理装置である。また、サービス提供サーバ１１は、例えば１又は複数の情報処理装置からなるクラウドコンピューティングにより構成されるクラウドサーバ等でもよい。
【００１９】
オーナー端末１２は、通信ネットワーク１４を介してサービス提供サーバ１１にアクセスし、サービス提供サーバ１１が提供するマルチテナント環境（マルチテナントサービス）を利用してテナントを運用するための端末である。オーナー端末１２は、テナントのオーナーとなる１又は複数の企業や個人が使用する。
【００２０】
例えば、オーナー端末１２は、サービス提供サーバ１１から提供される同一のシステム（アプリケーション等を含む）を用いて、自己のテナントに対するカスタマイズ（例えば、各種設定、画面更新）等を行う。ここで、テナントとして提供されるサービス例としては、例えばオンラインショッピングや、ネットバンキング、音楽配信サービス、書籍ダウンロードサービス、旅行サイト等の各種商品の販売等を行うＥＣサイトであるが、これに限定されるものではない。
【００２１】
ユーザ端末１３は、通信ネットワーク１４を介してサービス提供サーバ１１にアクセスし、サービス提供サーバ１１が提供するテナント（Ｗｅｂサイト）を閲覧したり、対象商品等の検索や購入等を行う。
【００２２】
ここで、本実施形態におけるマルチテナントシステム１０において、１つのオーナー端末１２は、サービス提供サーバ１１に対して１又は複数のテナントを作成して提供することができる。また、ユーザ端末１３は、１又は複数のテナントにアクセスすることができる。オーナー端末１２及びユーザ端末１３は、例えばＰＣやサーバ、タブレット端末、スマートフォン等の情報処理装置であるが、これに限定されるものではない。また、オーナー端末１２がユーザ端末１３としての機能を有していてもよく、ユーザ端末１３がオーナー端末１２としての機能を有していてもよい。
【００２３】
＜サービス提供サーバ１１の機能構成例＞
次に、サービス提供サーバ１１の機能構成例について図を用いて説明する。図２は、サービス提供サーバの機能構成の一例を示す図である。図２に示すサービス提供サーバ１１は、入力手段２１と、出力手段２２と、記憶手段２３と、テナント生成手段２４と、公開手段２５と、テナント管理手段２６と、入力チェック手段２７と、更新手段２８と、画面生成手段２９と、通信手段３０と、制御手段３１とを有する。
【００２４】
入力手段２１は、サービス提供サーバ１１を使用する管理者等から各種指示の入力を受け付ける。入力手段２１は、例えばキーボードや、マウス等のポインティングデバイス等からなる。
【００２５】
出力手段２２は、入力手段２１により入力された内容や、その入力内容に基づいて実行された内容等の表示や出力を行う。出力手段２２は、ディスプレイやスピーカ等からなる。なお、入力手段２１と出力手段２２とは、例えばタッチパネル等のように一体型の入出力手段であってもよい。この場合には、ユーザの指やタッチペン等を用いて画面上の所定の位置をタッチして入力を行うことができる。
【００２６】
記憶手段２３は、本実施形態におけるマルチテナント環境を提供するための各種処理に必要な各種データを記憶する。例えば、記憶手段２３は、各オーナー端末１２や各ユーザ端末１３を識別すると共に、アクセスを許可するための情報（例えば、端末ＩＤ、ＩＰアドレス、ユーザＩＤ、パスワード等）を記憶したり、ＤＢ１５に蓄積されている情報、アクセス履歴情報、テナント管理情報等を記憶する。また、記憶手段２３は、必要に応じて記憶された各種データを読み出したり、各種データを書き込んだりすることができる。なお、本実施形態では、ＤＢ１５をサービス提供サーバ１１の外部装置として設けているが、これに限定されるものではなく、上述した記憶手段２３にＤＢ１５を構築してもよい。
【００２７】
テナント生成手段２４は、オーナー端末１２に対応させてマルチテナント環境を生成する。テナント生成手段２４は、オーナー端末１２からのテナント生成要求に応じて所定の基本項目及びオーナー端末１２毎に設定可能な自由項目のうち、少なくとも１つを有するＷｅｂサイトを生成する。
【００２８】
ここで、本実施形態におけるマルチテナントとは、テナントサービスの内容によって各テナント間で共有するレベル（内容）を複数の段階に分けて設定してもよい。このような場合に、テナント生成手段２４は、例えばハードウェアのみを共有して仮想マシン上でオーナー（顧客）毎に異なるソフトウェアを提供してもよく、アプリケーションやデータベース設計（スキーマ）レベルまで共有し、設定情報やデータベースの内容のみ顧客毎に異なるようにしてもよい。これらの設定は、テナント生成手段２４で管理される。
【００２９】
テナント生成手段２４は、入力フィールド生成手段２４−１と、項目生成手段２４−２とを有する。入力フィールド生成手段２４−１は、テナントが公開するＷｅｂサイト（例えば、オンラインショップ）等に対し、Ｗｅｂ画面で表示する入力フィールドを生成する。例えば、入力フィールド生成手段２４−１は、公開するＷｅｂサイトに対する基本情報（サイト名、決済方法、送料、メールフォーマット）等を設定したり、商品情報（商品名、価格、在庫等）を設定したり、注文管理、販売促進情報の設定、メールマガジン等の生成等を行ってもよい。
【００３０】
項目生成手段２４−２は、入力フィールド生成手段２４−１において、生成される各フィールドの項目それぞれに対して、その項目が基本項目として利用するか、自由項目として利用するか否か設定する。基本項目として設定した場合、項目生成手段２４−２は、予め設定されたフィールド情報（属性）を利用する。また、自由項目として設定した場合、項目生成手段２４−２は、その項目に対するフィールド情報（属性）の設定を行う。こららの設定情報は、テナント（オーナー端末１２）毎に設けられるＤＢ１５に格納される。
【００３１】
項目生成手段２４−２は、ＤＢ１５内の自由項目マスタを参照し、自由項目を設定した入力フィールドが存在する場合に、対象の入力フィールドに対するフィールド情報を生成する。例えば、ＤＢ１５に格納された自由項目マスタの「利用フラグ」の項目が「利用する」に設定されていた場合に、入力フィールドの一例である「画面表示名」のフィールドや、「入力値」のフィールドに関して、各種設定情報（フィールド情報）（例えば、１行テキスト、プルダウン、ラジオボックス等）を生成する。上述した自由項目マスタ等の具体例については、後述する。
【００３２】
公開手段２５は、テナント生成手段２４により生成されたテナント（Ｗｅｂサイト）を通信ネットワーク１４上に公開する。例えば、公開手段２５は、テナント生成手段２４により生成されたテナント毎にＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）等のアドレス情報を設定する。ユーザ端末１３は、そのアドレス情報を用いてサイトにアクセスすることができ、公開されているオンラインショップ等の情報を閲覧したり、商品を検索したり、検索の結果から欲しい商品が見つかった場合に、その商品を購入することができる。
【００３３】
公開手段２５により公開されている情報は、例えばオーナー端末１２及びユーザ端末１３にインストールされているＷｅｂブラウザ等の汎用ソフトウェアを用いて画面に表示させることができる。そのため、ユーザは、表示された情報をＷｅｂブラウザ等を介して閲覧することができる。
【００３４】
テナント管理手段２６は、テナント生成手段２４により生成されたテナント、公開手段２５により公開されているテナントを管理する。例えば、テナント管理手段２６は、テナント毎に、Ｗｅｂ上に公開されたサイト数や顧客数の管理やアクセス状況の管理、商品の管理、課金管理、メールマガジン等による情報配信管理等を処理を行ってもよい。また、テナント管理手段２６は、ユーザ端末１３からアクセス時に認証処理等を行ってもよい。これらの管理情報は、記憶手段２３に管理してもよく、テナント毎にＤＢ１５に管理してもよい。
【００３５】
入力チェック手段２７は、テナント生成手段２４により生成されたＷｅｂサイト上に表示される入力フィールドに対してユーザ端末１３から何らかの情報が入力された場合に、その入力チェックを行う。例えば、入力チェック手段２７は、自由項目マスタを参照し、入力値が、項目生成手段２４−２に設定した内容に合致するかをチェックする。また、入力チェック手段２７は、チェックの結果、合致していなかった場合には、画面生成手段２９によりその旨を示す適切なエラーメッセージを生成させ、出力手段２２により画面に表示させる。
【００３６】
更新手段２８は、入力チェック手段２７によるチェック結果等に基づいて、ＤＢ１５に対して、各種データの取得や更新等を行う。例えば、更新手段２８は、ＤＢ１５内の自由項目マスタを参照し、もし利用フラグが「利用する」に設定されていた場合に、該当するフィールドの値を取得又は更新するためのＳＱＬ（Ｓｔｒｕｃｔｕｒｅｄ  Ｑｕｅｒｙ  Ｌａｎｇｕａｇｅ）を生成する。また、更新手段２８は、生成したＳＱＬの実行により、入力値に関する各種設定情報の値に応じて、データ型の変換を行う。
【００３７】
画面生成手段２９は、自己のテナント（オンラインショップ等）の画面レイアウト等を生成する。つまり、本実施形態におけるマルチテナント環境では、画面レイアウトをオーナー端末１２から設定することができる。
【００３８】
例えば、画面生成手段２９は、オーナー端末１２が自由項目の入力フィールドを含むＷｅｂサイトを生成する画面、及び、ユーザ端末１３にオーナー端末１２が生成したＷｅｂサイトを閲覧させたり、情報を入力される画面を生成する。例えば、画面生成手段２９は、「会員変更・削除画面」、「新規登録画面」等を生成することもでき、更に「自由項目一覧画面」、「自由項目詳細設定画面」等の画面を生成することもできるが、生成する画面の内容については、これに限定されるものではない。
【００３９】
通信手段３０は、通信ネットワーク１４を介してオーナー端末１２やユーザ端末１３等とデータの送受信を行う。通信手段３０は、例えば有線でも無線でもよく、その他の組み合わせでもよい。また、通信手段３０は、ＤＢ１５との間でデータの送受信を行う。
【００４０】
制御手段３１は、サービス提供サーバ１１の各構成全体を制御する。制御手段３１は、例えば、入力手段２１によるデータ入力、出力手段２２によるデータ出力、テナント生成手段２４によるテナント（Ｗｅｂサイト）等の生成、公開手段２５によるＷｅｂサイトの公開、入力チェック手段２７による項目チェック、更新手段２８による更新、画面生成手段２９による画面生成、通信手段３０によるデータ通信等を制御するが、制御内容については、これに限定されるものではない。
【００４１】
例えば、制御手段３１は、オーナー端末１２やユーザ端末１３に対してアクセス可能なユーザ（又はオーナー）であるかを判断するための認証処理を行い、認証が成功した場合に、アクセスを許可する等の制御を行ってもよい。また、制御手段３１は、サービス提供処理の実行の開始や終了を制御したり、エラー発生時の処理等を制御してもよい。
【００４２】
＜サービス提供サーバ１１のハードウェア構成例＞
次に、サービス提供サーバ１１のハードウェア構成例について、図を用いて説明する。図３は、サービス提供サーバのハードウェア構成の一例を示す図である。図３の例において、サービス提供サーバ（コンピュータ）１１は、入力装置４１と、出力装置４２と、ドライブ装置４３と、補助記憶装置４４と、主記憶装置４５と、ＣＰＵ４６と、通信制御装置４７とを有し、これらはシステムバスＢで相互に接続されている。
【００４３】
入力装置４１は、ユーザ等が操作するキーボード及びマウス等のポインティングデバイスや、マイクロフォン等の音声入力デバイスを有しており、ユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。
【００４４】
出力装置４２は、本実施形態における処理を行うためのコンピュータ本体（サービス提供サーバ１１）を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイ等を有する。出力装置４２は、ＣＰＵ４６が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。
【００４５】
ここで、本実施形態において、例えばコンピュータ本体にインストールされる実行プログラムは、記録媒体４８等により提供される。記録媒体４８は、ドライブ装置４３にセット可能である。ＣＰＵ４６からの制御信号に基づき、記録媒体４８に格納された実行プログラムが、記録媒体４８からドライブ装置４３を介して補助記憶装置４４にインストールされる。
【００４６】
補助記憶装置４４は、例えばＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等のストレージ手段等である。補助記憶装置４４は、ＣＰＵ４６からの制御信号に基づき、本実施形態における実行プログラム（サービス提供プログラム）や、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置４４は、ＣＰＵ４６からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
【００４７】
主記憶装置４５は、ＣＰＵ４６により補助記憶装置４４から読み出された実行プログラム等を格納する。主記憶装置４５は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。
【００４８】
ＣＰＵ４６は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の制御プログラム、及び主記憶装置４５に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現する。プログラムの実行中に必要な各種情報等は、補助記憶装置４４から取得することができ、また実行結果等を格納することもできる。
【００４９】
具体的には、ＣＰＵ４６は、例えば入力装置４１から得られるプログラムの実行指示等に基づき、補助記憶装置４４にインストールされたプログラムを実行させることにより、主記憶装置４５上でプログラムに対応する処理を行う。例えば、ＣＰＵ４６は、サービス提供プログラムを実行させることで、テナント生成手段２４によるテナント生成、公開手段２５によるＷｅｂサイトの公開、入力チェック手段２７による項目チェック、更新手段２８による更新、画面生成手段２９による画面生成、通信手段３０によるデータ通信等の処理を行う。ＣＰＵ４６における処理内容は、これに限定されるものではない。ＣＰＵ４６により実行された内容は、必要に応じて補助記憶装置４４等に記憶される。
【００５０】
通信制御装置４７は、上述した通信ネットワーク１４を介して、他の装置（外部装置）との通信を行う。通信制御装置４７は、ＣＰＵ４６からの制御信号に基づき、通信ネットワーク１４等と接続することにより、実行プログラムやソフトウェア、各種設定情報等を他の装置等から取得する。また、通信制御装置４７は、プログラムを実行することで得られた実行結果を他の外部装置等に提供したり、本実施形態における実行プログラム自体を他の装置等に提供してもよい。
【００５１】
記録媒体４８は、上述したように実行プログラム等が格納されたコンピュータで読み取り可能な記録媒体である。記録媒体４８は、例えばフラッシュメモリ等の半導体メモリやＣＤ−ＲＯＭ、ＤＶＤ等の可搬型の記録媒体であるが、これに限定されるものではない。
【００５２】
図３に示すハードウェア構成に実行プログラム（例えば、サービス提供プログラム等）をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態におけるサービス提供処理等を実現することができる。
【００５３】
なお、上述したオーナー端末１２及びユーザ端末１３においても同様のハードウェア構成を適用できるため、ここでの具体的な説明は省略する。
【００５４】
＜サービス提供処理＞
次に、本実施形態におけるサービス提供処理について、フローチャートを用いて説明する。なお、本実施形態におけるサービス提供処理は、テナント（例えば、ＥＣサイト等）生成処理と、テナント管理処理とに大別される。したがって、それぞれの処理を分けて説明する。
【００５５】
＜テナント生成処理＞
図４は、テナント生成処理の一例を示すフローチャートである。図４の例に示すテナント生成処理において、サービス提供サーバ１１は、オーナー端末１２からのアクセスに対して、ユーザＩＤやパスワード等を用いたユーザ認証を行い（Ｓ０１）、認証の結果からオーナー権限者か否かを判断する（Ｓ０２）。サービス提供サーバ１１は、アクセスしてきたオーナー端末１２がオーナー権限者である場合（Ｓ０２において、ＹＥＳ）、テナントを生成又は更新するか否かを判断する（Ｓ０３）。
【００５６】
テナントを生成又は更新する場合（Ｓ０３において、ＹＥＳ）、サービス提供サーバ１１のテナント生成手段２４は、テナントとして公開されるＷｅｂサイト内の入力フィールドの生成処理を行う（Ｓ０４）。なお、Ｓ０４の入力フィールド生成処理の詳細については、後述する。Ｓ０４の処理後、サービス提供サーバ１１の公開手段２５は、生成したテナント（ＥＣサイト）を公開する（Ｓ０５）。
【００５７】
また、Ｓ０２の処理において、アクセスしてきたオーナー端末１２がオーナー権限者でない場合（Ｓ０２において、ＮＯ）、サービス提供サーバ１１は、テナントを生成できない旨のエラー出力をオーナー端末１２に対して行い（Ｓ０６）、処理を終了する。なお、Ｓ０６の処理では、ログ情報としてサービス提供サーバ１１の記憶手段２３に記憶させてもよい。また、Ｓ０３の処理において、テナントを生成又は更新を行わない場合（Ｓ０３において、ＮＯ）、そのまま処理を終了する。
【００５８】
＜Ｓ０４：入力フィールド生成処理＞
次に、上述したＳ０４の入力フィールド生成処理の一例について、フローチャートを用いて説明する。図５は、入力フィールド生成処理の一例を示すフローチャートである。図５の例において、テナント生成手段２４は、サイト画面上に設定される入力フィールドを生成する（Ｓ１１）。Ｓ１１の処理において、生成される入力フィールドは、上述したように基本項目又は自由項目の何れかに設定される。
【００５９】
次に、テナント生成手段２４は、入力フィールドに自由項目を利用するか否かを判断する（Ｓ１２）。自由項目は、各オーナーの運用に合わせて自由に設定ができる項目である。例えば、Ｓ１２の処理において、テナント生成手段２４は、ＤＢ１５に記憶されている自由項目マスタを参照し、「利用フラグ」の項目が「利用する」に設定されているか否かにより、自由項目マスタを利用するか否かを判断することができるが、判断手法についてはこれに限定されるものではない。
【００６０】
Ｓ１２の処理において、入力フィールドに自由項目を利用する場合（Ｓ１２において、ＹＥＳ）、テナント生成手段２４は、例えば「画面表示名」等の各フィールドや入力値に関する各種設定情報を生成する（Ｓ１３）。
【００６１】
次に、テナント生成手段２４は、生成した各種設定情報に基づき、自由項目マスタを更新する（Ｓ１４）。また、Ｓ１２において、自由項目を利用しない場合（Ｓ１２において、ＮＯ）、又は、Ｓ１４の処理後、テナント生成手段２４は、基本項目及び自由項目を含む項目全体に対してＤＢ１５を更新する（Ｓ１５）。
【００６２】
Ｓ１６の処理後、処理を終了するか否かを判断し（Ｓ１６）、処理を終了しない場合（Ｓ１６において、ＮＯ）、Ｓ１１の処理に戻る。また、Ｓ１６の処理において、処理を終了する場合（Ｓ１６において、ＹＥＳ）、入力フィールド生成処理を終了する。
【００６３】
＜テナント管理処理＞
次に、テナント管理処理の一例について説明する。図６は、テナント管理処理の一例を示すフローチャートである。図６の例において、テナント管理手段２６は、ユーザ端末１３からのアクセスに対して、ユーザＩＤやパスワード等を用いたユーザ認証を行い（Ｓ２１）、認証に成功したか（認証ＯＫか）否かを判断する（Ｓ２２）。認証ＯＫである場合（Ｓ２２において、ＹＥＳ）、テナント管理手段２６は、ユーザ端末１３が指定した公開情報の閲覧、情報入力等を許可する（Ｓ２３）。
【００６４】
次に、テナント管理手段２６は、項目に対する入力を受け付けたか否かを判断し（Ｓ２４）、項目に対する入力を受け付けた場合（Ｓ２４において、ＹＥＳ）、入力チェック手段２７による入力チェックを行う（Ｓ２５）。ここで、入力チェック手段２７は、入力内容について、属性が異なっている等のエラーがないかを判断する（Ｓ２６）。エラーの内容としては、例えば、入力が必須のフィールドに何も入力されていなかったり、金額の入力フィールドに英字が入力されていたり、入力値の桁数が制限値より大きい場合であるが、これに限定されるものではない。
【００６５】
Ｓ２６の処理において、エラーがない場合（Ｓ２６において、ＹＥＳ）、更新手段２８は、入力された情報で、ＤＢ１５に対するデータ更新を行う（Ｓ２７）。また、入力内容にエラーがある場合（Ｓ２６において、ＮＯ）、入力チェック手段２７は、情報を入力したユーザ端末１３に対して、その旨を示すエラー出力を行う（Ｓ２８）。
【００６６】
また、テナント管理手段２６は、Ｓ２２の処理において、認証ＯＫでない場合（Ｓ２２において、ＮＯ）、ユーザ端末１３に対し、その旨のエラー出力を行う（Ｓ２９）。
【００６７】
Ｓ２７、Ｓ２８、又はＳ２４の処理において、項目に対する入力を受け付けていない場合（Ｓ２４の処理において、ＮＯ）、処理を終了するか否かを判断し（Ｓ３０）、処理を終了しない場合（Ｓ３０において、ＮＯ）、Ｓ２４の処理に戻る。また、Ｓ３０の処理において、処理を終了する場合（Ｓ３０において、ＹＥＳ）、又はＳ２９の処理後、処理を終了する。なお、Ｓ２９の処理後、Ｓ２１の処理に戻り、再度ユーザ認証等を行わせるようにしてもよい。
【００６８】
＜ＤＢ１５の具体例＞
次に、本実施形態におけるＤＢ１５の具体例について、図を用いて説明する。図７は、サービス提供サーバが管理するＤＢの概略構成例を示す図である。図７に示すように、サービス提供サーバ１１とデータの送受信が可能なＤＢ１５は、各オーナー端末１２が設定したテナント毎に、ＤＢ１５−１〜１５−ｎが分離して構築されている。
【００６９】
各ＤＢ１５には、自由項目マスタ５１、商品テーブル５２、会員（顧客）テーブル５３等がそれぞれ所定の項目等で関連付けられて記憶されている。なお、ＤＢ１５に記憶される情報としては、これに限定されるものではない。
【００７０】
上述したように、本実施形態におけるマルチテナントシステム１０は、それぞれのテナント毎にＤＢ１５を個別に管理することで、セキュリティを向上させることができると共に、他のデータの更新の有無に関係なく、自己のデータのカスタマイズや更新処理等を行うことができる。また、本実施形態では、ＤＢ１５に予め自由項目を定義するため、テナント利用者（各オーナー）の利便性を向上させることができる。
【００７１】
図８は、ＤＢ内の各種データの一例を示す図である。図８（Ａ）は、自由項目マスタ５１の一例を示す。図８（Ｂ）は、商品テーブル５２の一例を示す。図８（Ｃ）は、会員テーブル５３の一例を示す。
【００７２】
図８（Ａ）に示す自由項目マスタ５１の項目としては、例えば「テーブル名」、「項目名」、「表示名」、「説明」、「項目入力形式」、「選択肢」、「利用フラグ」、「入力フォームサイズ」、「文字種別」、「必須種別」、「最大文字数」等があるが、これに限定されるものではない。
【００７３】
図８（Ａ）の項目において、「テーブル名」は、例えば、商品テーブル５２や会員テーブル５３等のテーブルを識別するたための情報である。図８（Ａ）の例では、商品テーブル５２の場合には、「ＩＴＥＭ」が設定され、会員テーブル５３の場合には、「ＭＥＭＢＥＲ」が設定されている。ここで、本実施形態では、１つのテーブルに対して１又は複数の自由項目を設定することができ、設定された項目毎に自由項目マスタの値（レコード）が設定される。
【００７４】
「項目名」は、各項目を識別するための情報である。「表示名」は、画面上での表示名に関する情報である。「説明」は、オーナー端末１２から入力させる内容の説明に関する情報である。「項目入力形式」は、入力フィールドの入力形式（例えば、プルダウン、テキスト、チェックボックス等の属性）に関する情報である。「選択肢」は、項目入力形式に対応して入力可能な具体的な選択内容である。この内容についてもオーナーが自由に設定することができる。なお、選択肢のない入力フィールドについては「選択肢」の内容は、空欄となる。「利用フラグ」は、設定した自由項目を入力フィールドで利用するか否かを示す情報であり、「１」の場合には利用し、「０」の場合には、利用しないことを示す。本実施形態では、テナント（Ｗｅｂサイト）に現時点では利用しない自由項目であっても、事前に設定をしておくことでき、その場合には、利用フラグ「０」が設定される。また、その後、予め設定した自由項目を利用する場合には、利用フラグを「１」に編集する。
【００７５】
「入力フォームサイズ」は、入力フォームの大きさ制限がある場合にその値を入力する。「５０」が設定されている場合には、５０文字分が表示可能な入力フォーム（フィールド）が生成されることを意味する。「文字種別」は、半角、全角、数字等の入力フィールドに入力する文字種別に関する情報である。「必須種別」は、ユーザからの入力を必須とするか否かを判断するための情報である。「最大文字数」は、入力可能な文字の最大値である。
【００７６】
図８（Ｂ）に示す商品テーブル５２の項目としては、例えば「商品ＩＤ」、「商品名」、「価格」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）１」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）２」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）３」等があるが、これに限定されるものではない。例えば、自由項目の数については、１又は複数が設定可能である。
【００７７】
図８（Ｂ）の例において、「商品ＩＤ」は、商品を識別するための情報である。ここで、商品とは、書籍や洋服、雑貨、家電等に限定されず、チケットや音楽ファイル等のダウンロード等でもよい。「商品名」は、商品の名称である。「価格」は、商品の価格に関する情報である。「自由項目（ＦＲＥＥ＿ＩＴＥＭ）１」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）２」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）３」は、各オーナーが商品に関する追加の項目を格納する情報である。自由項目は、各オーナーがそれぞれ自由に設定できる入力フィールドである。
【００７８】
ここで、商品テーブル５２に対する自由項目の例としては、例えば、商品の発注数（例えば、０、３）、購入者（例えば、田中、佐藤）等の情報等であるが、これに限定されるものではない。
【００７９】
図８（Ｃ）に示す会員テーブル５３の項目としては、例えば「会員ＩＤ」、「氏名」、「住所」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）１」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）２」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）３」等があるが、これに限定されるものではない。
【００８０】
図８（Ｃ）の例において、「会員ＩＤ」は、会員（ユーザ）を識別するための情報であり、ユーザＩＤに相当するが、これに限定されるものではなく、パスワード等の情報を格納してもよい。「氏名」は、会員の氏名に関する情報である。「住所」は、会員の住所に関する情報である。「自由項目（ＦＲＥＥ＿ＩＴＥＭ）１」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）２」、「自由項目（ＦＲＥＥ＿ＩＴＥＭ）３」は、会員情報として、各オーナーそれぞれが自由に設定できる入力フィールドである。
【００８１】
ここで、自由項目の例としては、例えば、その会員が得意先であるか否かの「得意先フラグ」（例えば、得意先である場合には「１」をセット）等の情報等であるが、これに限定されるものではない。
【００８２】
本実施形態では、商品テーブル５２及び会員テーブル５３に示すように、自由項目を各テーブル毎に所定数（同一数でも異なる数でもよい）が設けられているため、各オーナー毎にカスタマイズする必要がなく、自由項目に自由な設定を行うことができる。したがって、システム管理者の負担を軽減できると共に、オーナーの利便性を向上することができる。
【００８３】
＜画面生成例＞
次に、本実施形態における画面生成例について、図を用いて説明する。図９は、画面生成の一例について、説明するための図である。図９の例では、オーナー端末１２が、サイト画面の顧客情報に入力する項目を顧客テーブル（ＭＥＭＢＥＲ）で管理（メンテナンス）するときの画面例を示している。この画面は、画面生成手段２９により生成され、オーナー端末１２上に表示される。
【００８４】
図９に示す「自由項目登録、照会画面６０」は、上述したように自由項目を有するテーブルを検索するための検索条件を入力する領域６０ａと、その検索結果を表示する領域６０ｂとを有する。
【００８５】
例えば、領域６０ａにおいて、自由項目をメンテナンスする対象の処理を「顧客」と選択した場合には、上述した自由項目マスタ５１の中から会員テーブル５３に対応する自由項目の設定情報が抽出され、領域６０ｂに表示される。
【００８６】
領域６０ｂには、「テーブル名」、「テーブル項目名」、「画面表示名」、「項目入力形式」、自由項目を利用するか否かを示す「利用フラグ」、変更を行うか否かを判断する「変更」が表示されている。図９の例では、項目名「ＦＲＥＥ＿ＩＴＥＭ１」、「ＦＲＥＥ＿ＩＴＥＭ２」、「ＦＲＥＥ＿ＩＴＥＭ４」の自由項目をＷｅｂ画面で利用する例が示されている。
【００８７】
本実施形態では、図９に示すように、商品テーブル５２、会員テーブル５３等の各種テーブルに対して、システム側で設定された基本項目（例えば、顧客ＩＤ、メールアドレス、姓、名等）の他に、例えば会員テーブル５３に「法人名」を追加したり、商品テーブル５２に商品画像を追加する等、オーナー毎の運用に合わせて自由に登録したり、削除する等の設定を行うことができる。
【００８８】
例えば、領域６０ｂに表示された「変更」の「編集ボタン」を押下することで、編集画面６１が表示される。この編集画面６１を用いることで、オーナーは、自由項目マスタ５１、商品テーブル５２、会員テーブル５３等を容易に更新することができる。なお、項目の設定については、例えば「利用有無」、「画面表示名」等があるが、これに限定されるものではなく、入力方法（例えば、テキストや画像、チェックボックス等）や必須条件等、詳細な設定を行うことができる。
【００８９】
図１０は、Ｗｅｂサイトにおける自由項目の利用内容の一例を示す図である。図１０の例において、設定された自由項目は、各データに関連する画面で入力や出力を行うことができる。例えば、テナント（Ｗｅｂサイト）として表示された画面７０に示すように、設定した自由項目は、各データに関連する画面上に表示され、ユーザからの入力を受け付けることができる。例えば、画面７０に示すように、会員（顧客）テーブル５３の自由項目として「法人名」を追加した場合には、画面７０において、法人名の入力枠７０ａを表示させることができる。
【００９０】
また、この法人名は、例えば図１０に示す顧客一覧画面７１により表示させることができる（７１ａ）。また、オーナーは、オーナー端末１２により、顧客一覧画面７１の「変更」の項目に示された「編集ボタン」を押下することで、編集画面７２を表示させ、表示入力項目の表示位置を編集したり、必須項目を編集することができる。
【００９１】
このように、基本項目にない項目を自由に追加することで、自由なデータを格納したり、その情報を利用することができる。そのため、オーナーに対するサイト運用の利便性を向上させることができる。
【００９２】
＜各テナントに提供する機能拡張アプリについて＞
なお、上述の自由項目の利用は、例えば、各テナントに対して１又複数のアプリケーション（機能拡張アプリ）をインストールすることで実現することができる。
【００９３】
図１１は、本実施形態における拡張機能の一例を示す図である。図１１の例では、サービス提供サーバ１１のモジュール構成として、基本システム（例えば、汎用ＯＳ等）に各テナント（図１１の例では、テナント１〜テナント３）が設定されている。
【００９４】
機能拡張に対応するアプリケーションは、テナント１〜テナント３毎に１又は複数割り当てることができる。また、アプリケーションは、サービス提供サーバ１１の内部で生成又は保持されてもよく（例えば、図１１に示す「ＡＰＰ１」）、サービス提供サーバ１１の外部（他の装置）により生成又は保持されていてもよい（例えば、図１１に示す「ＡＰＰ２」、「ＡＰＰ３」）。
【００９５】
ここで、例えば、あるテナントでは在庫管理をカスタマイズするためのアプリ（例えば、「ＡＰＰ１」）と、得意先に対して特典ポイントを付与するためのアプリ（例えば、「ＡＰＰ２」をインストールして利用していると仮定する。このとき、自由項目は、テナントごとの設定となっているため、別アプリケーション（「ＡＰＰ１」と「ＡＰＰ２」）で同じ自由項目名を異なる目的で利用しないよう調整する必要がある。
【００９６】
そこで、本実施形態では、予めアプリケーション毎に利用可能な項目名を指定しておいてもよい。例えば、「ＡＰＰ１」は、自由項目１〜１０を利用し、「ＡＰＰ２」では自由項目１１〜２０を利用する等の場合であるが、これに限定されるものではない。また、本実施形態では、上述したテナントごとでははなく、そのテナントにインストールされたアプリ毎に利用可能な自由項目の仕組みを生成してもよい。
【００９７】
この場合、上述した図８に示すデータ例において、更に自由項目値テーブルを追加する。例えば、各テーブル（例：商品テーブル５２）に自由項目用の列（例：ＦＲＥＥ＿ＩＴＥＭ１）を設定するような場合には、その自由項目の値を管理するための専用テーブルを設け、ＤＢ１５で管理させる。
【００９８】
図１２は、アプリケーションに対応させた各種データ例を示す図である。図１２（Ａ）は、自由項目マスタの一例を示し、図１２（Ｂ）は、自由項目値テーブルの一例を示している。図１２（Ａ）に示す自由項目マスタの項目としては、例えば「テーブル名」、「アプリＩＤ」、「項目名」、「表示名」、「説明」、「項目入力形式」、「選択肢」、「利用フラグ」、「入力フォームサイズ」、「文字種別」、「必須」、「最大文字数」等であるが、これに限定されるものではない。
【００９９】
また、図１２（Ｂ）に示す自由項目値テーブルの項目としては、例えば、「テーブル名」、「データＩＤ」、「アプリＩＤ」、「項目名」、「値」等であるが、これに限定されるものではない。
【０１００】
ここで、図１２のデータ例と上述した図８のデータ例とを比較すると、自由項目マスタにおいて、「アプリＩＤ」の項目（列）が追加されている。この項目には、図８と同様の自由項目として使う場合にはｎｕｌｌが設定される。また、上述したアプリケーション毎の自由項目として使う場合には、そのアプリケーションの識別情報を設定する。これにより、例えば、上述した「ＡＰＰ１」と「ＡＰＰ２」とで、それぞれ異なる自由項目を設定することができる。
【０１０１】
また、図１２（Ｂ）に示す自由項目値テーブルの項目としては、例えば「テーブル名」、「データＩＤ」、「アプリＩＤ」、「項目名」、「値」等であるが、これに限定されるものではない。自由項目値テーブルは、上述したようにアプリケーションを用いて機能拡張を行う場合に、そのアプリ用の自由項目の値を保持するためのテーブルである。
【０１０２】
図１２（Ｂ）の例において、「テーブル名」は、値を紐付ける対象のデータが格納されているテーブル名である。「データＩＤ」は、値を紐付ける対象のデータを特定するための識別情報である。例えば、テーブル名が「ＩＴＥＭ（商品テーブル）」である場合に、その「ＩＴＥＭ＿ＩＤ」を格納する。
【０１０３】
また、「アプリＩＤ」は、上述した自由項目を利用するアプリケーションを識別するための情報である。「項目名」は、自由項目の名前に関する情報である。「値」は、自由項目に入力される値に関する情報である。例えば、付与ポイント数を保持するための自由項目をアプリケーションで設定した場合、そのテーブル名、データＩＤ、アプリＩＤ、項目名に対応付けて「５００」の値が格納される。
【０１０４】
＜まとめ＞
上述したように、本発明によれば、マルチテナント提供者の負荷を軽減させると共に、オーナー等のテナント利用者の利便性を向上させることができる。
【０１０５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。また、上述した実施形態で述べたフローチャートは、矛盾の無い限り順序を入れ替えてもよい。また、上述した実施形態の全部又は一部を組み合わせることができる。
【符号の説明】
【０１０６】
１０  マルチテナントシステム
１１  サービス提供サーバ
１２  オーナー端末（第１の端末）
１３  ユーザ端末（第２の端末）
１４  通信ネットワーク
１５  データベース（ＤＢ）
２１  入力手段
２２  出力手段
２３  記憶手段
２４  テナント生成手段
２５  公開手段
２６  テナント管理手段
２７  入力チェック手段
２８  更新手段
２９  画面生成手段
３０  通信手段
３１  制御手段
４１  入力装置
４２  出力装置
４３  ドライブ装置
４４  補助記憶装置
４５  主記憶装置
４６  ＣＰＵ
４７  通信制御装置
４８  記録媒体
５１  自由項目マスタ
５２  商品テーブル
５３  会員テーブル
６０  自由項目登録、照会画面
７０  画面
【図１】
0006714355.tif 000002
【図２】
0006714355.tif 000003
【図３】
0006714355.tif 000004
【図４】
0006714355.tif 000005
【図５】
0006714355.tif 000006
【図６】
0006714355.tif 000007
【図７】
0006714355.tif 000008
【図８】
0006714355.tif 000009
【図９】
0006714355.tif 000010
【図１０】
0006714355.tif 000011
【図１１】
0006714355.tif 000012
【図１２】
0006714355.tif 000013