JP6714355B2 - マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラム - Google Patents

マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラム Download PDF

Info

Publication number
JP6714355B2
JP6714355B2 JP2015238892A JP2015238892A JP6714355B2 JP 6714355 B2 JP6714355 B2 JP 6714355B2 JP 2015238892 A JP2015238892 A JP 2015238892A JP 2015238892 A JP2015238892 A JP 2015238892A JP 6714355 B2 JP6714355 B2 JP 6714355B2
Authority
JP
Japan
Prior art keywords
tenant
free
input
items
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015238892A
Other languages
English (en)
Other versions
JP2017107298A (ja
Inventor
登 蕪木
登 蕪木
Original Assignee
株式会社インターファクトリー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社インターファクトリー filed Critical 株式会社インターファクトリー
Priority to JP2015238892A priority Critical patent/JP6714355B2/ja
Publication of JP2017107298A publication Critical patent/JP2017107298A/ja
Application granted granted Critical
Publication of JP6714355B2 publication Critical patent/JP6714355B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラムに関する。
従来では、インターネット等の通信ネットワークを利用して、ユーザ端末からオンラインショッピング等を提供するWebサイトにアクセスし、所望する商品等をネット購入するサービスが存在している。このようなWebサイト(EC(Electronic Commerce)サイト)を運営するオーナー(例えば、複数の企業や組織等)は、各自で専用のサーバ等を設置し、自己の管理・運用によってWebサイトに表示される商品等の更新や在庫管理、課金等の処理を行っていた。
しかしながら、オーナー毎に専用のサーバを用意する場合には、各オーナーに負担が掛かると共に、運用コストも大きくなる。そのため、近年では、各オーナーが共有のサーバを利用し、同一のWebアプリケーションを各オーナーに提供するマルチテナントシステムが知られている(例えば、特許文献1参照)。
特開2013−33449号公報
ところで、マルチテナント環境においては、テナントによってデータベースに登録されるデータの内容が異なる場合がある。例えば、あるテナントでは、顧客テーブルの標準的な属性(氏名、住所、生年月日)に加えて「得意先フラグ」という項目で「0」又は「1」の値を登録し、また別のテナントでは、上記の標準的な属性に加えて「最終購入日」という項目で日付の値を登録するような場合である。
この場合、マルチテナントシステムの提供者は、テナント毎にデータベースの項目をカスタマイズする必要が生じる。そのため、データベースの構築に時間が掛かると共に、その運用(メンテナンス)もテナント毎に実行しなければならず負担が大きくなってしまう。
また、別の考え方としてマルチテナントシステムを利用する各テナントに対して同一のフォーマットでのみデータベースを提供した場合には、マルチテナント提供者の負荷は軽減できるが、テナント利用者の利便性が悪くなってしまう。
本発明は、上述した課題に鑑みてなされたものであって、マルチテナント提供者の負荷を軽減させると共に、テナント利用者の利便性を向上させるためのマルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラムを提供することを目的とする。
本発明の一つの態様としてのマルチテナントシステムは、通信ネットワークを介してマルチテナントサービスを提供するサービス提供サーバと、該サービス提供サーバに対して第1テナントの生成を行う1又は複数の第1の端末と、前記第1テナントによるサービスを利用する1又は複数の第2の端末とを有するマルチテナントシステムにおいて、前記サービス提供サーバは、前記第1の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するWebサイトを生成するテナント生成手段と、前記テナント生成手段により生成されたWebサイトを前記通信ネットワーク上に公開する公開手段と、前記第2の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェック手段と、前記入力チェック手段によるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新手段と、を有し、前記第1テナント用のデータベースにおいて、前記複数の自由項目に含まれる第1自由項目を、前記第1テナントで利用される第1アプリケーションの識別情報と対応付けて管理して、前記第1アプリケーションのみで利用可能し、前記複数の自由項目に含まれる第2自由項目を、前記第1テナントで利用される第2アプリケーションの識別情報と対応付けて管理して、前記第2アプリケーションのみで利用可能する。




本発明によれば、マルチテナント提供者の負荷を軽減させると共に、テナント利用者の利便性を向上させることができる。
マルチテナントシステムの概略構成の一例を示す図である。 サービス提供サーバの機能構成の一例を示す図である。 サービス提供サーバのハードウェア構成の一例を示す図である。 テナント生成処理の一例を示すフローチャートである。 入力フィールド生成処理の一例を示すフローチャートである。 テナント管理処理の一例を示すフローチャートである。 サービス提供サーバが管理するDBの概略構成例を示す図である。 DB内の各種データの一例を示す図である。 画面生成の一例について、説明するための図である。 Webサイトにおける自由項目の利用内容の一例を示す図である。 本実施形態における拡張機能の一例を示す図である。 アプリケーションに対応させた各種データ例を示す図である。
以下、図面に基づいて実施形態を説明する。
<マルチテナントシステムの概略構成例>
図1は、マルチテナントシステムの概略構成の一例を示す図である。図1の例に示すマルチテナントシステム10は、サービス提供サーバ11と、1又は複数のオーナー端末(第1の端末)12−1〜12−n(以下、必要に応じて「オーナー端末12」という)と、1又は複数のユーザ端末(第2の端末)13−1〜13−n(以下、必要に応じて「ユーザ端末13」という)とを有する。サービス提供サーバ11と、オーナー端末12と、ユーザ端末13とは、例えばインターネットやLAN(Local Area Network)等に代表される通信ネットワーク14を介してデータの送受信が可能な状態で接続されている。
サービス提供サーバ11は、マルチテナント環境(マルチテナントサービス)をオーナー端末12等に提供する。サービス提供サーバ11は、各オーナー端末12に対してWebサイト等のテナントを立ち上げるため共有のシステム(ソフトウェアやアプリケーション等)を提供する。例えば、サービス提供サーバ11は、各オーナーが個別にカスタマイズ可能なSaaS(Software as a Service)型のサービスを提供する。マルチテナント環境では、複数のオーナー(例えば、顧客企業等)が一つのシステムを共有するため、シングルテナントサービスに比べ、低コストでテナントサービスを提供することができる。
また、サービス提供サーバ11は、各オーナー端末12により設定された内容でECサイト等を公開し、ユーザ端末13からの閲覧等を可能にする。なお、本実施形態において、サービス提供サーバ11は、複数の商店のページ(電子商店)を一つのサイトにまとめて公開するオンラインモール(電子商店街)ではなく、各オーナーがそれぞれ別のサイトとして管理する環境を提供するものである。なお、個々のオーナーのそれぞれが、上述したオンラインモールとしてのテナントを設けてもよい。
また、サービス提供サーバ11は、各オーナー端末12が設定したテナントに関する各種データをデータベース15(以下、必要に応じて「DB15」という)に格納して管理する。DB15は、各テナントに対する各種データをそれぞれ個別のDB15−1〜15−nとして管理する。これにより、各オーナーは、他のテナントのデータの内容や更新状況等に依存することなく、自己のDB15に対して項目の追加、更新等を行うことができる。
各DB15−1〜15−nは、各種データテーブルに予め標準的なデータを格納する基本フィールド(基本項目)と、追加用フィールド(自由項目)とが設定されている。基本フィールドは、例えば顧客の標準的な属性(氏名、住所、生年月日)等の必須の情報が格納される。また、追加用フィールドは、テナント毎に自由に使用できる項目であり、各オーナーそれぞれが自由に格納する内容を設定できる項目である。追加用フィールドは、文字列、数値、日付等の各項目の属性についても設定することができる。サービス提供サーバ11は、各DB15が有するテーブルの各基本項目、各自由項目に対して、各テナントがどのような名前で、どのような型のデータを保存するかを管理し、その内容に応じてプログラムの処理内容(挙動)を変更する。なお、DB15は、サービス提供サーバ11が管理するが、サービス提供サーバ11に直接接続されていなくてもよく、例えば通信ネットワーク14を介して接続されていてもよい。
サービス提供サーバ11は、例えば汎用のPC(Personal Computer)やサーバ等の情報処理装置である。また、サービス提供サーバ11は、例えば1又は複数の情報処理装置からなるクラウドコンピューティングにより構成されるクラウドサーバ等でもよい。
オーナー端末12は、通信ネットワーク14を介してサービス提供サーバ11にアクセスし、サービス提供サーバ11が提供するマルチテナント環境(マルチテナントサービス)を利用してテナントを運用するための端末である。オーナー端末12は、テナントのオーナーとなる1又は複数の企業や個人が使用する。
例えば、オーナー端末12は、サービス提供サーバ11から提供される同一のシステム(アプリケーション等を含む)を用いて、自己のテナントに対するカスタマイズ(例えば、各種設定、画面更新)等を行う。ここで、テナントとして提供されるサービス例としては、例えばオンラインショッピングや、ネットバンキング、音楽配信サービス、書籍ダウンロードサービス、旅行サイト等の各種商品の販売等を行うECサイトであるが、これに限定されるものではない。
ユーザ端末13は、通信ネットワーク14を介してサービス提供サーバ11にアクセスし、サービス提供サーバ11が提供するテナント(Webサイト)を閲覧したり、対象商品等の検索や購入等を行う。
ここで、本実施形態におけるマルチテナントシステム10において、1つのオーナー端末12は、サービス提供サーバ11に対して1又は複数のテナントを作成して提供することができる。また、ユーザ端末13は、1又は複数のテナントにアクセスすることができる。オーナー端末12及びユーザ端末13は、例えばPCやサーバ、タブレット端末、スマートフォン等の情報処理装置であるが、これに限定されるものではない。また、オーナー端末12がユーザ端末13としての機能を有していてもよく、ユーザ端末13がオーナー端末12としての機能を有していてもよい。
<サービス提供サーバ11の機能構成例>
次に、サービス提供サーバ11の機能構成例について図を用いて説明する。図2は、サービス提供サーバの機能構成の一例を示す図である。図2に示すサービス提供サーバ11は、入力手段21と、出力手段22と、記憶手段23と、テナント生成手段24と、公開手段25と、テナント管理手段26と、入力チェック手段27と、更新手段28と、画面生成手段29と、通信手段30と、制御手段31とを有する。
入力手段21は、サービス提供サーバ11を使用する管理者等から各種指示の入力を受け付ける。入力手段21は、例えばキーボードや、マウス等のポインティングデバイス等からなる。
出力手段22は、入力手段21により入力された内容や、その入力内容に基づいて実行された内容等の表示や出力を行う。出力手段22は、ディスプレイやスピーカ等からなる。なお、入力手段21と出力手段22とは、例えばタッチパネル等のように一体型の入出力手段であってもよい。この場合には、ユーザの指やタッチペン等を用いて画面上の所定の位置をタッチして入力を行うことができる。
記憶手段23は、本実施形態におけるマルチテナント環境を提供するための各種処理に必要な各種データを記憶する。例えば、記憶手段23は、各オーナー端末12や各ユーザ端末13を識別すると共に、アクセスを許可するための情報(例えば、端末ID、IPアドレス、ユーザID、パスワード等)を記憶したり、DB15に蓄積されている情報、アクセス履歴情報、テナント管理情報等を記憶する。また、記憶手段23は、必要に応じて記憶された各種データを読み出したり、各種データを書き込んだりすることができる。なお、本実施形態では、DB15をサービス提供サーバ11の外部装置として設けているが、これに限定されるものではなく、上述した記憶手段23にDB15を構築してもよい。
テナント生成手段24は、オーナー端末12に対応させてマルチテナント環境を生成する。テナント生成手段24は、オーナー端末12からのテナント生成要求に応じて所定の基本項目及びオーナー端末12毎に設定可能な自由項目のうち、少なくとも1つを有するWebサイトを生成する。
ここで、本実施形態におけるマルチテナントとは、テナントサービスの内容によって各テナント間で共有するレベル(内容)を複数の段階に分けて設定してもよい。このような場合に、テナント生成手段24は、例えばハードウェアのみを共有して仮想マシン上でオーナー(顧客)毎に異なるソフトウェアを提供してもよく、アプリケーションやデータベース設計(スキーマ)レベルまで共有し、設定情報やデータベースの内容のみ顧客毎に異なるようにしてもよい。これらの設定は、テナント生成手段24で管理される。
テナント生成手段24は、入力フィールド生成手段24−1と、項目生成手段24−2とを有する。入力フィールド生成手段24−1は、テナントが公開するWebサイト(例えば、オンラインショップ)等に対し、Web画面で表示する入力フィールドを生成する。例えば、入力フィールド生成手段24−1は、公開するWebサイトに対する基本情報(サイト名、決済方法、送料、メールフォーマット)等を設定したり、商品情報(商品名、価格、在庫等)を設定したり、注文管理、販売促進情報の設定、メールマガジン等の生成等を行ってもよい。
項目生成手段24−2は、入力フィールド生成手段24−1において、生成される各フィールドの項目それぞれに対して、その項目が基本項目として利用するか、自由項目として利用するか否か設定する。基本項目として設定した場合、項目生成手段24−2は、予め設定されたフィールド情報(属性)を利用する。また、自由項目として設定した場合、項目生成手段24−2は、その項目に対するフィールド情報(属性)の設定を行う。こららの設定情報は、テナント(オーナー端末12)毎に設けられるDB15に格納される。
項目生成手段24−2は、DB15内の自由項目マスタを参照し、自由項目を設定した入力フィールドが存在する場合に、対象の入力フィールドに対するフィールド情報を生成する。例えば、DB15に格納された自由項目マスタの「利用フラグ」の項目が「利用する」に設定されていた場合に、入力フィールドの一例である「画面表示名」のフィールドや、「入力値」のフィールドに関して、各種設定情報(フィールド情報)(例えば、1行テキスト、プルダウン、ラジオボックス等)を生成する。上述した自由項目マスタ等の具体例については、後述する。
公開手段25は、テナント生成手段24により生成されたテナント(Webサイト)を通信ネットワーク14上に公開する。例えば、公開手段25は、テナント生成手段24により生成されたテナント毎にURL(Uniform Resource Locator)等のアドレス情報を設定する。ユーザ端末13は、そのアドレス情報を用いてサイトにアクセスすることができ、公開されているオンラインショップ等の情報を閲覧したり、商品を検索したり、検索の結果から欲しい商品が見つかった場合に、その商品を購入することができる。
公開手段25により公開されている情報は、例えばオーナー端末12及びユーザ端末13にインストールされているWebブラウザ等の汎用ソフトウェアを用いて画面に表示させることができる。そのため、ユーザは、表示された情報をWebブラウザ等を介して閲覧することができる。
テナント管理手段26は、テナント生成手段24により生成されたテナント、公開手段25により公開されているテナントを管理する。例えば、テナント管理手段26は、テナント毎に、Web上に公開されたサイト数や顧客数の管理やアクセス状況の管理、商品の管理、課金管理、メールマガジン等による情報配信管理等を処理を行ってもよい。また、テナント管理手段26は、ユーザ端末13からアクセス時に認証処理等を行ってもよい。これらの管理情報は、記憶手段23に管理してもよく、テナント毎にDB15に管理してもよい。
入力チェック手段27は、テナント生成手段24により生成されたWebサイト上に表示される入力フィールドに対してユーザ端末13から何らかの情報が入力された場合に、その入力チェックを行う。例えば、入力チェック手段27は、自由項目マスタを参照し、入力値が、項目生成手段24−2に設定した内容に合致するかをチェックする。また、入力チェック手段27は、チェックの結果、合致していなかった場合には、画面生成手段29によりその旨を示す適切なエラーメッセージを生成させ、出力手段22により画面に表示させる。
更新手段28は、入力チェック手段27によるチェック結果等に基づいて、DB15に対して、各種データの取得や更新等を行う。例えば、更新手段28は、DB15内の自由項目マスタを参照し、もし利用フラグが「利用する」に設定されていた場合に、該当するフィールドの値を取得又は更新するためのSQL(Structured Query Language)を生成する。また、更新手段28は、生成したSQLの実行により、入力値に関する各種設定情報の値に応じて、データ型の変換を行う。
画面生成手段29は、自己のテナント(オンラインショップ等)の画面レイアウト等を生成する。つまり、本実施形態におけるマルチテナント環境では、画面レイアウトをオーナー端末12から設定することができる。
例えば、画面生成手段29は、オーナー端末12が自由項目の入力フィールドを含むWebサイトを生成する画面、及び、ユーザ端末13にオーナー端末12が生成したWebサイトを閲覧させたり、情報を入力される画面を生成する。例えば、画面生成手段29は、「会員変更・削除画面」、「新規登録画面」等を生成することもでき、更に「自由項目一覧画面」、「自由項目詳細設定画面」等の画面を生成することもできるが、生成する画面の内容については、これに限定されるものではない。
通信手段30は、通信ネットワーク14を介してオーナー端末12やユーザ端末13等とデータの送受信を行う。通信手段30は、例えば有線でも無線でもよく、その他の組み合わせでもよい。また、通信手段30は、DB15との間でデータの送受信を行う。
制御手段31は、サービス提供サーバ11の各構成全体を制御する。制御手段31は、例えば、入力手段21によるデータ入力、出力手段22によるデータ出力、テナント生成手段24によるテナント(Webサイト)等の生成、公開手段25によるWebサイトの公開、入力チェック手段27による項目チェック、更新手段28による更新、画面生成手段29による画面生成、通信手段30によるデータ通信等を制御するが、制御内容については、これに限定されるものではない。
例えば、制御手段31は、オーナー端末12やユーザ端末13に対してアクセス可能なユーザ(又はオーナー)であるかを判断するための認証処理を行い、認証が成功した場合に、アクセスを許可する等の制御を行ってもよい。また、制御手段31は、サービス提供処理の実行の開始や終了を制御したり、エラー発生時の処理等を制御してもよい。
<サービス提供サーバ11のハードウェア構成例>
次に、サービス提供サーバ11のハードウェア構成例について、図を用いて説明する。図3は、サービス提供サーバのハードウェア構成の一例を示す図である。図3の例において、サービス提供サーバ(コンピュータ)11は、入力装置41と、出力装置42と、ドライブ装置43と、補助記憶装置44と、主記憶装置45と、CPU46と、通信制御装置47とを有し、これらはシステムバスBで相互に接続されている。
入力装置41は、ユーザ等が操作するキーボード及びマウス等のポインティングデバイスや、マイクロフォン等の音声入力デバイスを有しており、ユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。
出力装置42は、本実施形態における処理を行うためのコンピュータ本体(サービス提供サーバ11)を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイ等を有する。出力装置42は、CPU46が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。
ここで、本実施形態において、例えばコンピュータ本体にインストールされる実行プログラムは、記録媒体48等により提供される。記録媒体48は、ドライブ装置43にセット可能である。CPU46からの制御信号に基づき、記録媒体48に格納された実行プログラムが、記録媒体48からドライブ装置43を介して補助記憶装置44にインストールされる。
補助記憶装置44は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等のストレージ手段等である。補助記憶装置44は、CPU46からの制御信号に基づき、本実施形態における実行プログラム(サービス提供プログラム)や、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置44は、CPU46からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
主記憶装置45は、CPU46により補助記憶装置44から読み出された実行プログラム等を格納する。主記憶装置45は、ROM(Read Only Memory)やRAM(Random Access Memory)等である。
CPU46は、OS(Operating System)等の制御プログラム、及び主記憶装置45に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現する。プログラムの実行中に必要な各種情報等は、補助記憶装置44から取得することができ、また実行結果等を格納することもできる。
具体的には、CPU46は、例えば入力装置41から得られるプログラムの実行指示等に基づき、補助記憶装置44にインストールされたプログラムを実行させることにより、主記憶装置45上でプログラムに対応する処理を行う。例えば、CPU46は、サービス提供プログラムを実行させることで、テナント生成手段24によるテナント生成、公開手段25によるWebサイトの公開、入力チェック手段27による項目チェック、更新手段28による更新、画面生成手段29による画面生成、通信手段30によるデータ通信等の処理を行う。CPU46における処理内容は、これに限定されるものではない。CPU46により実行された内容は、必要に応じて補助記憶装置44等に記憶される。
通信制御装置47は、上述した通信ネットワーク14を介して、他の装置(外部装置)との通信を行う。通信制御装置47は、CPU46からの制御信号に基づき、通信ネットワーク14等と接続することにより、実行プログラムやソフトウェア、各種設定情報等を他の装置等から取得する。また、通信制御装置47は、プログラムを実行することで得られた実行結果を他の外部装置等に提供したり、本実施形態における実行プログラム自体を他の装置等に提供してもよい。
記録媒体48は、上述したように実行プログラム等が格納されたコンピュータで読み取り可能な記録媒体である。記録媒体48は、例えばフラッシュメモリ等の半導体メモリやCD−ROM、DVD等の可搬型の記録媒体であるが、これに限定されるものではない。
図3に示すハードウェア構成に実行プログラム(例えば、サービス提供プログラム等)をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態におけるサービス提供処理等を実現することができる。
なお、上述したオーナー端末12及びユーザ端末13においても同様のハードウェア構成を適用できるため、ここでの具体的な説明は省略する。
<サービス提供処理>
次に、本実施形態におけるサービス提供処理について、フローチャートを用いて説明する。なお、本実施形態におけるサービス提供処理は、テナント(例えば、ECサイト等)生成処理と、テナント管理処理とに大別される。したがって、それぞれの処理を分けて説明する。
<テナント生成処理>
図4は、テナント生成処理の一例を示すフローチャートである。図4の例に示すテナント生成処理において、サービス提供サーバ11は、オーナー端末12からのアクセスに対して、ユーザIDやパスワード等を用いたユーザ認証を行い(S01)、認証の結果からオーナー権限者か否かを判断する(S02)。サービス提供サーバ11は、アクセスしてきたオーナー端末12がオーナー権限者である場合(S02において、YES)、テナントを生成又は更新するか否かを判断する(S03)。
テナントを生成又は更新する場合(S03において、YES)、サービス提供サーバ11のテナント生成手段24は、テナントとして公開されるWebサイト内の入力フィールドの生成処理を行う(S04)。なお、S04の入力フィールド生成処理の詳細については、後述する。S04の処理後、サービス提供サーバ11の公開手段25は、生成したテナント(ECサイト)を公開する(S05)。
また、S02の処理において、アクセスしてきたオーナー端末12がオーナー権限者でない場合(S02において、NO)、サービス提供サーバ11は、テナントを生成できない旨のエラー出力をオーナー端末12に対して行い(S06)、処理を終了する。なお、S06の処理では、ログ情報としてサービス提供サーバ11の記憶手段23に記憶させてもよい。また、S03の処理において、テナントを生成又は更新を行わない場合(S03において、NO)、そのまま処理を終了する。
<S04:入力フィールド生成処理>
次に、上述したS04の入力フィールド生成処理の一例について、フローチャートを用いて説明する。図5は、入力フィールド生成処理の一例を示すフローチャートである。図5の例において、テナント生成手段24は、サイト画面上に設定される入力フィールドを生成する(S11)。S11の処理において、生成される入力フィールドは、上述したように基本項目又は自由項目の何れかに設定される。
次に、テナント生成手段24は、入力フィールドに自由項目を利用するか否かを判断する(S12)。自由項目は、各オーナーの運用に合わせて自由に設定ができる項目である。例えば、S12の処理において、テナント生成手段24は、DB15に記憶されている自由項目マスタを参照し、「利用フラグ」の項目が「利用する」に設定されているか否かにより、自由項目マスタを利用するか否かを判断することができるが、判断手法についてはこれに限定されるものではない。
S12の処理において、入力フィールドに自由項目を利用する場合(S12において、YES)、テナント生成手段24は、例えば「画面表示名」等の各フィールドや入力値に関する各種設定情報を生成する(S13)。
次に、テナント生成手段24は、生成した各種設定情報に基づき、自由項目マスタを更新する(S14)。また、S12において、自由項目を利用しない場合(S12において、NO)、又は、S14の処理後、テナント生成手段24は、基本項目及び自由項目を含む項目全体に対してDB15を更新する(S15)。
S16の処理後、処理を終了するか否かを判断し(S16)、処理を終了しない場合(S16において、NO)、S11の処理に戻る。また、S16の処理において、処理を終了する場合(S16において、YES)、入力フィールド生成処理を終了する。
<テナント管理処理>
次に、テナント管理処理の一例について説明する。図6は、テナント管理処理の一例を示すフローチャートである。図6の例において、テナント管理手段26は、ユーザ端末13からのアクセスに対して、ユーザIDやパスワード等を用いたユーザ認証を行い(S21)、認証に成功したか(認証OKか)否かを判断する(S22)。認証OKである場合(S22において、YES)、テナント管理手段26は、ユーザ端末13が指定した公開情報の閲覧、情報入力等を許可する(S23)。
次に、テナント管理手段26は、項目に対する入力を受け付けたか否かを判断し(S24)、項目に対する入力を受け付けた場合(S24において、YES)、入力チェック手段27による入力チェックを行う(S25)。ここで、入力チェック手段27は、入力内容について、属性が異なっている等のエラーがないかを判断する(S26)。エラーの内容としては、例えば、入力が必須のフィールドに何も入力されていなかったり、金額の入力フィールドに英字が入力されていたり、入力値の桁数が制限値より大きい場合であるが、これに限定されるものではない。
S26の処理において、エラーがない場合(S26において、YES)、更新手段28は、入力された情報で、DB15に対するデータ更新を行う(S27)。また、入力内容にエラーがある場合(S26において、NO)、入力チェック手段27は、情報を入力したユーザ端末13に対して、その旨を示すエラー出力を行う(S28)。
また、テナント管理手段26は、S22の処理において、認証OKでない場合(S22において、NO)、ユーザ端末13に対し、その旨のエラー出力を行う(S29)。
S27、S28、又はS24の処理において、項目に対する入力を受け付けていない場合(S24の処理において、NO)、処理を終了するか否かを判断し(S30)、処理を終了しない場合(S30において、NO)、S24の処理に戻る。また、S30の処理において、処理を終了する場合(S30において、YES)、又はS29の処理後、処理を終了する。なお、S29の処理後、S21の処理に戻り、再度ユーザ認証等を行わせるようにしてもよい。
<DB15の具体例>
次に、本実施形態におけるDB15の具体例について、図を用いて説明する。図7は、サービス提供サーバが管理するDBの概略構成例を示す図である。図7に示すように、サービス提供サーバ11とデータの送受信が可能なDB15は、各オーナー端末12が設定したテナント毎に、DB15−1〜15−nが分離して構築されている。
各DB15には、自由項目マスタ51、商品テーブル52、会員(顧客)テーブル53等がそれぞれ所定の項目等で関連付けられて記憶されている。なお、DB15に記憶される情報としては、これに限定されるものではない。
上述したように、本実施形態におけるマルチテナントシステム10は、それぞれのテナント毎にDB15を個別に管理することで、セキュリティを向上させることができると共に、他のデータの更新の有無に関係なく、自己のデータのカスタマイズや更新処理等を行うことができる。また、本実施形態では、DB15に予め自由項目を定義するため、テナント利用者(各オーナー)の利便性を向上させることができる。
図8は、DB内の各種データの一例を示す図である。図8(A)は、自由項目マスタ51の一例を示す。図8(B)は、商品テーブル52の一例を示す。図8(C)は、会員テーブル53の一例を示す。
図8(A)に示す自由項目マスタ51の項目としては、例えば「テーブル名」、「項目名」、「表示名」、「説明」、「項目入力形式」、「選択肢」、「利用フラグ」、「入力フォームサイズ」、「文字種別」、「必須種別」、「最大文字数」等があるが、これに限定されるものではない。
図8(A)の項目において、「テーブル名」は、例えば、商品テーブル52や会員テーブル53等のテーブルを識別するたための情報である。図8(A)の例では、商品テーブル52の場合には、「ITEM」が設定され、会員テーブル53の場合には、「MEMBER」が設定されている。ここで、本実施形態では、1つのテーブルに対して1又は複数の自由項目を設定することができ、設定された項目毎に自由項目マスタの値(レコード)が設定される。
「項目名」は、各項目を識別するための情報である。「表示名」は、画面上での表示名に関する情報である。「説明」は、オーナー端末12から入力させる内容の説明に関する情報である。「項目入力形式」は、入力フィールドの入力形式(例えば、プルダウン、テキスト、チェックボックス等の属性)に関する情報である。「選択肢」は、項目入力形式に対応して入力可能な具体的な選択内容である。この内容についてもオーナーが自由に設定することができる。なお、選択肢のない入力フィールドについては「選択肢」の内容は、空欄となる。「利用フラグ」は、設定した自由項目を入力フィールドで利用するか否かを示す情報であり、「1」の場合には利用し、「0」の場合には、利用しないことを示す。本実施形態では、テナント(Webサイト)に現時点では利用しない自由項目であっても、事前に設定をしておくことでき、その場合には、利用フラグ「0」が設定される。また、その後、予め設定した自由項目を利用する場合には、利用フラグを「1」に編集する。
「入力フォームサイズ」は、入力フォームの大きさ制限がある場合にその値を入力する。「50」が設定されている場合には、50文字分が表示可能な入力フォーム(フィールド)が生成されることを意味する。「文字種別」は、半角、全角、数字等の入力フィールドに入力する文字種別に関する情報である。「必須種別」は、ユーザからの入力を必須とするか否かを判断するための情報である。「最大文字数」は、入力可能な文字の最大値である。
図8(B)に示す商品テーブル52の項目としては、例えば「商品ID」、「商品名」、「価格」、「自由項目(FREE_ITEM)1」、「自由項目(FREE_ITEM)2」、「自由項目(FREE_ITEM)3」等があるが、これに限定されるものではない。例えば、自由項目の数については、1又は複数が設定可能である。
図8(B)の例において、「商品ID」は、商品を識別するための情報である。ここで、商品とは、書籍や洋服、雑貨、家電等に限定されず、チケットや音楽ファイル等のダウンロード等でもよい。「商品名」は、商品の名称である。「価格」は、商品の価格に関する情報である。「自由項目(FREE_ITEM)1」、「自由項目(FREE_ITEM)2」、「自由項目(FREE_ITEM)3」は、各オーナーが商品に関する追加の項目を格納する情報である。自由項目は、各オーナーがそれぞれ自由に設定できる入力フィールドである。
ここで、商品テーブル52に対する自由項目の例としては、例えば、商品の発注数(例えば、0、3)、購入者(例えば、田中、佐藤)等の情報等であるが、これに限定されるものではない。
図8(C)に示す会員テーブル53の項目としては、例えば「会員ID」、「氏名」、「住所」、「自由項目(FREE_ITEM)1」、「自由項目(FREE_ITEM)2」、「自由項目(FREE_ITEM)3」等があるが、これに限定されるものではない。
図8(C)の例において、「会員ID」は、会員(ユーザ)を識別するための情報であり、ユーザIDに相当するが、これに限定されるものではなく、パスワード等の情報を格納してもよい。「氏名」は、会員の氏名に関する情報である。「住所」は、会員の住所に関する情報である。「自由項目(FREE_ITEM)1」、「自由項目(FREE_ITEM)2」、「自由項目(FREE_ITEM)3」は、会員情報として、各オーナーそれぞれが自由に設定できる入力フィールドである。
ここで、自由項目の例としては、例えば、その会員が得意先であるか否かの「得意先フラグ」(例えば、得意先である場合には「1」をセット)等の情報等であるが、これに限定されるものではない。
本実施形態では、商品テーブル52及び会員テーブル53に示すように、自由項目を各テーブル毎に所定数(同一数でも異なる数でもよい)が設けられているため、各オーナー毎にカスタマイズする必要がなく、自由項目に自由な設定を行うことができる。したがって、システム管理者の負担を軽減できると共に、オーナーの利便性を向上することができる。
<画面生成例>
次に、本実施形態における画面生成例について、図を用いて説明する。図9は、画面生成の一例について、説明するための図である。図9の例では、オーナー端末12が、サイト画面の顧客情報に入力する項目を顧客テーブル(MEMBER)で管理(メンテナンス)するときの画面例を示している。この画面は、画面生成手段29により生成され、オーナー端末12上に表示される。
図9に示す「自由項目登録、照会画面60」は、上述したように自由項目を有するテーブルを検索するための検索条件を入力する領域60aと、その検索結果を表示する領域60bとを有する。
例えば、領域60aにおいて、自由項目をメンテナンスする対象の処理を「顧客」と選択した場合には、上述した自由項目マスタ51の中から会員テーブル53に対応する自由項目の設定情報が抽出され、領域60bに表示される。
領域60bには、「テーブル名」、「テーブル項目名」、「画面表示名」、「項目入力形式」、自由項目を利用するか否かを示す「利用フラグ」、変更を行うか否かを判断する「変更」が表示されている。図9の例では、項目名「FREE_ITEM1」、「FREE_ITEM2」、「FREE_ITEM4」の自由項目をWeb画面で利用する例が示されている。
本実施形態では、図9に示すように、商品テーブル52、会員テーブル53等の各種テーブルに対して、システム側で設定された基本項目(例えば、顧客ID、メールアドレス、姓、名等)の他に、例えば会員テーブル53に「法人名」を追加したり、商品テーブル52に商品画像を追加する等、オーナー毎の運用に合わせて自由に登録したり、削除する等の設定を行うことができる。
例えば、領域60bに表示された「変更」の「編集ボタン」を押下することで、編集画面61が表示される。この編集画面61を用いることで、オーナーは、自由項目マスタ51、商品テーブル52、会員テーブル53等を容易に更新することができる。なお、項目の設定については、例えば「利用有無」、「画面表示名」等があるが、これに限定されるものではなく、入力方法(例えば、テキストや画像、チェックボックス等)や必須条件等、詳細な設定を行うことができる。
図10は、Webサイトにおける自由項目の利用内容の一例を示す図である。図10の例において、設定された自由項目は、各データに関連する画面で入力や出力を行うことができる。例えば、テナント(Webサイト)として表示された画面70に示すように、設定した自由項目は、各データに関連する画面上に表示され、ユーザからの入力を受け付けることができる。例えば、画面70に示すように、会員(顧客)テーブル53の自由項目として「法人名」を追加した場合には、画面70において、法人名の入力枠70aを表示させることができる。
また、この法人名は、例えば図10に示す顧客一覧画面71により表示させることができる(71a)。また、オーナーは、オーナー端末12により、顧客一覧画面71の「変更」の項目に示された「編集ボタン」を押下することで、編集画面72を表示させ、表示入力項目の表示位置を編集したり、必須項目を編集することができる。
このように、基本項目にない項目を自由に追加することで、自由なデータを格納したり、その情報を利用することができる。そのため、オーナーに対するサイト運用の利便性を向上させることができる。
<各テナントに提供する機能拡張アプリについて>
なお、上述の自由項目の利用は、例えば、各テナントに対して1又複数のアプリケーション(機能拡張アプリ)をインストールすることで実現することができる。
図11は、本実施形態における拡張機能の一例を示す図である。図11の例では、サービス提供サーバ11のモジュール構成として、基本システム(例えば、汎用OS等)に各テナント(図11の例では、テナント1〜テナント3)が設定されている。
機能拡張に対応するアプリケーションは、テナント1〜テナント3毎に1又は複数割り当てることができる。また、アプリケーションは、サービス提供サーバ11の内部で生成又は保持されてもよく(例えば、図11に示す「APP1」)、サービス提供サーバ11の外部(他の装置)により生成又は保持されていてもよい(例えば、図11に示す「APP2」、「APP3」)。
ここで、例えば、あるテナントでは在庫管理をカスタマイズするためのアプリ(例えば、「APP1」)と、得意先に対して特典ポイントを付与するためのアプリ(例えば、「APP2」をインストールして利用していると仮定する。このとき、自由項目は、テナントごとの設定となっているため、別アプリケーション(「APP1」と「APP2」)で同じ自由項目名を異なる目的で利用しないよう調整する必要がある。
そこで、本実施形態では、予めアプリケーション毎に利用可能な項目名を指定しておいてもよい。例えば、「APP1」は、自由項目1〜10を利用し、「APP2」では自由項目11〜20を利用する等の場合であるが、これに限定されるものではない。また、本実施形態では、上述したテナントごとでははなく、そのテナントにインストールされたアプリ毎に利用可能な自由項目の仕組みを生成してもよい。
この場合、上述した図8に示すデータ例において、更に自由項目値テーブルを追加する。例えば、各テーブル(例:商品テーブル52)に自由項目用の列(例:FREE_ITEM1)を設定するような場合には、その自由項目の値を管理するための専用テーブルを設け、DB15で管理させる。
図12は、アプリケーションに対応させた各種データ例を示す図である。図12(A)は、自由項目マスタの一例を示し、図12(B)は、自由項目値テーブルの一例を示している。図12(A)に示す自由項目マスタの項目としては、例えば「テーブル名」、「アプリID」、「項目名」、「表示名」、「説明」、「項目入力形式」、「選択肢」、「利用フラグ」、「入力フォームサイズ」、「文字種別」、「必須」、「最大文字数」等であるが、これに限定されるものではない。
また、図12(B)に示す自由項目値テーブルの項目としては、例えば、「テーブル名」、「データID」、「アプリID」、「項目名」、「値」等であるが、これに限定されるものではない。
ここで、図12のデータ例と上述した図8のデータ例とを比較すると、自由項目マスタにおいて、「アプリID」の項目(列)が追加されている。この項目には、図8と同様の自由項目として使う場合にはnullが設定される。また、上述したアプリケーション毎の自由項目として使う場合には、そのアプリケーションの識別情報を設定する。これにより、例えば、上述した「APP1」と「APP2」とで、それぞれ異なる自由項目を設定することができる。
また、図12(B)に示す自由項目値テーブルの項目としては、例えば「テーブル名」、「データID」、「アプリID」、「項目名」、「値」等であるが、これに限定されるものではない。自由項目値テーブルは、上述したようにアプリケーションを用いて機能拡張を行う場合に、そのアプリ用の自由項目の値を保持するためのテーブルである。
図12(B)の例において、「テーブル名」は、値を紐付ける対象のデータが格納されているテーブル名である。「データID」は、値を紐付ける対象のデータを特定するための識別情報である。例えば、テーブル名が「ITEM(商品テーブル)」である場合に、その「ITEM_ID」を格納する。
また、「アプリID」は、上述した自由項目を利用するアプリケーションを識別するための情報である。「項目名」は、自由項目の名前に関する情報である。「値」は、自由項目に入力される値に関する情報である。例えば、付与ポイント数を保持するための自由項目をアプリケーションで設定した場合、そのテーブル名、データID、アプリID、項目名に対応付けて「500」の値が格納される。
<まとめ>
上述したように、本発明によれば、マルチテナント提供者の負荷を軽減させると共に、オーナー等のテナント利用者の利便性を向上させることができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。また、上述した実施形態で述べたフローチャートは、矛盾の無い限り順序を入れ替えてもよい。また、上述した実施形態の全部又は一部を組み合わせることができる。
10 マルチテナントシステム
11 サービス提供サーバ
12 オーナー端末(第1の端末)
13 ユーザ端末(第2の端末)
14 通信ネットワーク
15 データベース(DB)
21 入力手段
22 出力手段
23 記憶手段
24 テナント生成手段
25 公開手段
26 テナント管理手段
27 入力チェック手段
28 更新手段
29 画面生成手段
30 通信手段
31 制御手段
41 入力装置
42 出力装置
43 ドライブ装置
44 補助記憶装置
45 主記憶装置
46 CPU
47 通信制御装置
48 記録媒体
51 自由項目マスタ
52 商品テーブル
53 会員テーブル
60 自由項目登録、照会画面
70 画面

Claims (8)

  1. 通信ネットワークを介してマルチテナントサービスを提供するサービス提供サーバと、該サービス提供サーバに対して第1テナントの生成を行う1又は複数の第1の端末と、前記第1テナントによるサービスを利用する1又は複数の第2の端末とを有するマルチテナントシステムにおいて、
    前記サービス提供サーバは、
    前記第1の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するWebサイトを生成するテナント生成手段と、
    前記テナント生成手段により生成されたWebサイトを前記通信ネットワーク上に公開する公開手段と、
    前記第2の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェック手段と、
    前記入力チェック手段によるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新手段と、を有し、
    前記第1テナント用のデータベースにおいて、前記複数の自由項目に含まれる第1自由項目を、前記第1テナントで利用される第1アプリケーションの識別情報と対応付けて管理して、前記第1アプリケーションのみで利用可能し、前記複数の自由項目に含まれる第2自由項目を、前記第1テナントで利用される第2アプリケーションの識別情報と対応付けて管理して、前記第2アプリケーションのみで利用可能する、ことを特徴とするマルチテナントシステム。
  2. 前記テナント生成手段は、
    前記Webサイトの画面上の各項目のフィールドを生成する入力フィールド生成手段と、
    前記各項目のうち、少なくとも1つに前記自由項目を利用する場合に、追加フィールド用の設定情報を生成する項目生成手段とを有することを特徴とする請求項1に記載のマルチテナントシステム。
  3. 前記項目生成手段は、
    前記データベースに含まれる自由項目マスタを参照し、該自由項目マスタ内の利用フラグに応じて、各フィールドに関する各種設定情報を生成することを特徴とする請求項2に記載のマルチテナントシステム。
  4. 1又は複数のアプリケーションをインストールして、前記自由項目に関する機能拡張をする場合に、前記データベースに前記アプリケーションの情報を格納し、格納した情報に対応付けて前記自由項目を管理することを特徴とする請求項1乃至3の何れか1項に記載のマルチテナントシステム。
  5. 前記第1の端末が前記自由項目の入力フィールドを含むWebサイトを生成する画面、及び、前記第2の端末に前記第1の端末が生成したWebサイトを閲覧させる画面を生成する画面生成手段を有することを特徴とする請求項1乃至4の何れか1項に記載のマルチテナントシステム。
  6. 第1の端末により生成された第1テナントを管理し、通信ネットワークを介して第2の端末にマルチテナントサービスを提供するサービス提供サーバにおいて、
    前記第1の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するWebサイトを生成するテナント生成手段と、
    前記テナント生成手段により生成されたWebサイトを前記通信ネットワーク上に公開する公開手段と、
    前記第2の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェック手段と、
    前記入力チェック手段によるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新手段と、を有し、
    前記第1テナント用のデータベースにおいて、前記複数の自由項目に含まれる第1自由項目を、前記第1テナントで利用される第1アプリケーションの識別情報と対応付けて管理して、前記第1アプリケーションのみで利用可能し、前記複数の自由項目に含まれる第2自由項目を、前記第1テナントで利用される第2アプリケーションの識別情報と対応付けて管理して、前記第2アプリケーションのみで利用可能する、サービス提供サーバ。
  7. 第1の端末により生成された第1テナントを管理し、通信ネットワークを介して第2の端末にマルチテナントサービスを提供するサービス提供サーバにおけるサービス提供方法において、
    前記第1の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するWebサイトを生成するテナント生成ステップと、
    前記テナント生成ステップにより生成されたWebサイトを前記通信ネットワーク上に公開する公開ステップと、
    前記第2の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェックステップと、
    前記入力チェックステップによるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新ステップと、を有し、
    前記第1テナント用のデータベースにおいて、前記複数の自由項目に含まれる第1自由項目を、前記第1テナントで利用される第1アプリケーションの識別情報と対応付けて管理して、前記第1アプリケーションのみで利用可能し、前記複数の自由項目に含まれる第2自由項目を、前記第1テナントで利用される第2アプリケーションの識別情報と対応付けて管理して、前記第2アプリケーションのみで利用可能する、ことを特徴とするサービス提供方法。
  8. 第1の端末により生成された第1テナントを管理し、通信ネットワークを介して第2の端末にマルチテナントサービスを提供するサービス提供プログラムにおいて、
    コンピュータを、
    前記第1の端末からのテナント生成要求に応じて所定の基本項目及びテナント毎に設定可能な複数の自由項目を有するWebサイトを生成するテナント生成手段、
    前記テナント生成手段により生成されたWebサイトを前記通信ネットワーク上に公開する公開手段、
    前記第2の端末から、前記複数の自由項目に対する値の入力を受けた場合に、受け付けた入力内容のチェックを行う入力チェック手段、
    前記入力チェック手段によるチェック結果に応じて前記複数の自由項目に入力された値を、テナント毎に分離して構築されたデータベースに格納する更新手段として機能させ
    前記第1テナント用のデータベースにおいて、前記複数の自由項目に含まれる第1自由項目を、前記第1テナントで利用される第1アプリケーションの識別情報と対応付けて管理して、前記第1アプリケーションのみで利用可能し、前記複数の自由項目に含まれる第2自由項目を、前記第1テナントで利用される第2アプリケーションの識別情報と対応付けて管理して、前記第2アプリケーションのみで利用可能するサービス提供プログラム。
JP2015238892A 2015-12-07 2015-12-07 マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラム Active JP6714355B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015238892A JP6714355B2 (ja) 2015-12-07 2015-12-07 マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015238892A JP6714355B2 (ja) 2015-12-07 2015-12-07 マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラム

Publications (2)

Publication Number Publication Date
JP2017107298A JP2017107298A (ja) 2017-06-15
JP6714355B2 true JP6714355B2 (ja) 2020-06-24

Family

ID=59060758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015238892A Active JP6714355B2 (ja) 2015-12-07 2015-12-07 マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラム

Country Status (1)

Country Link
JP (1) JP6714355B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019087176A (ja) * 2017-11-10 2019-06-06 株式会社明電舎 監視システム、監視方法、監視システム用プログラム
JP7433767B2 (ja) * 2019-01-31 2024-02-20 潔 佐賀 マルチテナント管理装置、マルチテナント管理方法、及びプログラム
JP7197230B1 (ja) 2022-04-19 2022-12-27 株式会社イデア・レコード 情報処理装置、情報処理プログラム、及び情報処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3700733B2 (ja) * 1995-06-12 2005-09-28 富士ゼロックス株式会社 文書管理装置及び文書管理方法
JP4495782B2 (ja) * 2004-02-25 2010-07-07 株式会社野村総合研究所 データ統合管理システム及びデータ統合管理プログラム
WO2007030796A2 (en) * 2005-09-09 2007-03-15 Salesforce.Com, Inc. Systems and methods for exporting, publishing, browsing and installing on-demand applications in a multi-tenant database environment
US20140280134A1 (en) * 2013-03-15 2014-09-18 Salesforce.Com, Inc. Systems and methods for cross-referencing feed items
JP6229997B2 (ja) * 2013-11-14 2017-11-15 富士ゼロックス株式会社 データ管理システム及びプログラム

Also Published As

Publication number Publication date
JP2017107298A (ja) 2017-06-15

Similar Documents

Publication Publication Date Title
US10416851B2 (en) Electronic publishing mechanisms
US11276097B1 (en) Canonical order management system
JP2004227334A (ja) ソフトウエア関連情報提供装置、ソフトウエア関連情報提供方法およびソフトウエア関連情報提供プログラム
JP6714355B2 (ja) マルチテナントシステム、サービス提供サーバ、サービス提供方法、及びサービス提供プログラム
JP6372135B2 (ja) 電子チラシ情報処理システム及び電子チラシ情報処理方法
JP2013008208A (ja) 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体
JP5788240B2 (ja) 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体
JP2009187114A (ja) 情報提供システム、情報提供装置、情報提供方法及び情報提供プログラム
JP6253414B2 (ja) 発注管理システムおよび発注管理用プログラム
JP6494170B2 (ja) 流通管理システム
JP2007148931A (ja) 電子商取引システム及び電子商取引方法
JP4340948B2 (ja) ソフトウェア提供システム、ソフトウェア提供サーバ、ソフトウェア提供方法、及びソフトウェア提供プログラム
US20160110387A1 (en) Product lifecycle management system
JP5489618B2 (ja) 情報提供システム
JP2011186769A (ja) コンテンツ管理システム、コンテンツ管理装置、及びアクセス制御方法
JP4570476B2 (ja) ドキュメント作成支援システム、サーバ、プログラム、及び、記録媒体
JP6973132B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2014059666A (ja) 業務入力画面カスタマイズシステム
JP7402260B2 (ja) 情報提供装置、情報提供方法、および情報提供プログラム
JP6673405B2 (ja) 電子チラシ情報処理システム、端末装置、及びプログラム
JP6795551B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
JP5247543B2 (ja) 情報提供装置、情報提供方法、およびプログラム
US20100169978A1 (en) Content usage managing apparatus, content usage managing method and program
JP6060322B1 (ja) サーバ、電子メール送信装置及びそれらの制御方法、コンピュータプログラム並びに記憶媒体
JP2021071779A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191018

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200317

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200605

R150 Certificate of patent or registration of utility model

Ref document number: 6714355

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250