(58)【調査した分野】(Int.Cl.,DB名)
前記利用対象変更手段は、前記利用対象記憶手段が記憶する利用対象情報について、特定のアプリケーションソフトウェアで用いられることを示す利用対象情報を、複数のアプリケーションソフトウェアで用いられることを示す利用対象情報へと変更する
請求項2記載のデータ管理システム。
属性項目ごとに、当該属性項目の利用対象を示す利用対象情報を記憶する利用対象記憶手段と、識別情報と該識別情報に対応付けられた1以上の属性項目の属性値とを含むデータを前記利用対象情報ごとに属性項目単位で記憶する複数のデータ記憶手段とを有するデータ管理システムのコンピュータに、
アプリケーションソフトウェアにより属性値の出力をする場合に、前記利用対象情報が示す利用対象として該アプリケーションソフトウェアが含まれる属性項目を検索し、検索された属性項目に関する属性値を前記複数のデータ記憶手段から取得し、前記利用対象情報と前記識別情報に基づいて統合して出力するステップ
を実行させるプログラム。
【発明を実施するための形態】
【0021】
本発明の実施形態について図面を参照して説明する。
図1は、本発明の実施形態に係るデータ管理システム2を示す模式図である。データ管理システム2は、アプリケーションソフトウェアに基づく処理を行うサーバ4、6と、複数のアプリケーション間で共用されるデータを管理するサーバ8と、端末装置10とを有し、ネットワーク12に接続されている。サーバ4はデータベース14を、サーバ6はデータベース16を、サーバ8はデータベース18をそれぞれ備えており、それぞれデータを管理している。
【0022】
なお、本実施形態では、アプリケーションソフトウェアに基づく処理を行うサーバとして、サーバ4とサーバ6を含む構成を例に説明するが、アプリケーションソフトウェアに基づく処理を行うサーバは、1台であってもよいし、3台以上であってもよい。また、アプリケーションソフトウェアに基づく処理を行うサーバと、共用されるデータを管理するサーバとが、1台の筐体として構成されていてもよい。ただし、この場合も、データベースは、サーバごとに構築される。
【0023】
データベース14〜18は、いずれも、データを属性項目単位で記憶するよう構成されたデータベースであり、データに対する属性項目の追加、削除などの操作をデータベースのスキーマを変更せずに行なうことができるよう構成されている。
【0024】
本実施形態では、データを属性項目単位で記憶するよう、データベース14〜18は、カラム指向型NOSQLデータベースとして構成されている。カラム指向型NOSQLデータベースについては、例えば、本橋信也,河野達也,鶴見利章著,「NOSQLの基礎知識 ビッグデータを活かすデータベース技術」,リックテレコム,2012年4月,pp.61−64が参考文献として挙げられる。カラム指向型NOSQLデータベースでは、カラムファミリと呼ばれる情報が存在し、1以上の属性項目をどのようにまとめるかを定義している。
【0025】
サーバ8は、データベース18において記憶するデータを、アプリケーションソフトウェアからの要求に応じて提供するサーバである。以下、データベース18を共用DB18といい、サーバ8を共用サーバ8という。本実施形態では、共用サーバ8は、サーバ4及びサーバ6に対し、共用DB18において記憶するデータを提供する。
【0026】
サーバ4は、アプリケーションソフトウェアαに基づく処理を、データベース14で記憶するデータを用いて行うサーバである。以下、アプリケーションソフトウェアαをアプリαといい、データベース14をアプリαDB14といい、サーバ4をアプリαサーバ4という。ここで、アプリαサーバ4は、アプリαに基づく処理を行う際、共用サーバ8における共用DB18で記憶されているデータに加え、アプリαDB14で記憶するデータを用いて処理を行う。
【0027】
サーバ6は、アプリαとは異なるアプリケーションソフトウェアβに基づく処理を、データベース16で記憶するデータを用いて行うサーバである。以下、アプリケーションソフトウェアβをアプリβといい、データベース16をアプリβDB16といい、サーバ6をアプリβサーバ6という。ここで、アプリβサーバ6は、アプリβに基づく処理を行う際、共用サーバ8における共用DB18で記憶されているデータに加え、アプリβDB16で記憶するデータを用いて処理を行う。
【0028】
なお、アプリα、アプリβは、それぞれ、アプリαDB14、アプリβDB16に基づくサービスを提供するアプリケーションソフトウェアである。
【0029】
端末装置10は、アプリαサーバ4又はアプリβサーバ6に対して処理を要求するクライアント端末である。なお、端末装置10は、共用サーバ8に対しても処理を要求してもよい。
【0030】
図2は、アプリαサーバ4、アプリβサーバ6、共用サーバ8及び端末装置10のハードウェア構成の一例を示す模式図である。
【0031】
。
各装置は、
図2に示されるように、CPU20、メモリ22、ハードディスクドライブ(HDD)等の記憶部24、ネットワーク12を介して他の装置等との間でデータの送信及び受信を行う通信インタフェース(IF)26、入出力部28を有し、これらの構成要素は、制御バス30を介して互いに接続されている。
【0032】
アプリαサーバ4、アプリβサーバ6及び共用サーバ8において、アプリαDB14、アプリβDB16、共用DB18の各データベースは、それぞれ各サーバを構成する記憶部24上に構築されている。
【0033】
CPU20は、メモリ22または記憶部24に格納されたプログラムに基づいて処理を実行して、各装置の動作を制御する。
【0034】
なお、本実施形態では、CPU20は、メモリ22または記憶部24内に格納されたプログラムを読み出して実行するものとして説明したが、当該プログラムをCD−ROM等の記憶媒体に格納してCPU20に提供することも可能である。
【0035】
次に、
図3及び
図4により、アプリαサーバ4及びアプリβサーバ6による処理により出力されるデータについて具体例に基づいて説明する。なお、ここでは、アプリαが、社員の個人情報を管理するサービスを提供し、アプリβが、社員におけるスキャナ装置の利用に関する情報を管理するサービスを提供する場合を一例とするが、アプリαサーバ4及びアプリβサーバ6の提供するサービスはこれらに限定されない。
【0036】
図3は、アプリαサーバ4による出力例を示す模式図であり、
図3(a)は、ユーザIDが"tanaka"である社員の個人情報の出力例を示し、
図3(b)は、ユーザIDが"suzuki"である社員の個人情報の出力例を示している。ここでは、社員ごとに、当該社員を識別する情報であるユーザID、当該社員の所属部署、当該社員の国籍、当該社員の住所、当該社員の年齢を出力している。
【0037】
図4は、アプリβサーバ6による出力例を示す模式図であり、
図4(a)は、ユーザIDが"tanaka"である社員についての情報の出力例を示し、
図4(b)は、ユーザIDが"suzuki"である社員についての出力例を示している。ここでは、社員ごとに、当該社員を識別する情報であるユーザID、当該社員の所属部署、当該社員がスキャナ装置を利用した際の課金方式、当該社員がスキャナで読み取った読取画像データの保存先フォルダを出力している。
【0038】
ここで、アプリαサーバ4による出力は、共用サーバ8における共用DB18が管理するデータと、アプリαDB14が管理するデータとを統合した出力である。また、同様に、アプリβサーバ6による出力は、共用サーバ8における共用DB18が管理するデータと、アプリβDB16が管理するデータとを統合した出力である。以下、
図3及び
図4で示した例に基づいて、各データベースで管理されるデータについて説明する。
【0039】
図5は、各データベースで管理されるデータの一例を示す模式図であり、
図5(a)は共用DB18により管理されるデータの一例を示し、
図5(b)はアプリαDB14により管理されるデータの一例を示し、
図5(c)はアプリβDB16により管理されるデータの一例を示している。
【0040】
各データベースは、1以上の属性項目の属性値と、この1以上の属性項目の属性値の集合を識別する識別情報(キー)とを対応付けて記憶する。
図5で示した例では、「内部ID」が識別情報となっている。共用DB18では、属性項目「ユーザID」及び「所属」が、識別情報と対応付けて記憶されている。アプリαDB14では、属性項目「国籍」、「住所」及び「年齢」が、識別情報と対応付けて記憶されている。アプリβDB16では、属性項目「課金方式」及び「フォルダ」が、識別情報と対応付けて記憶されている。
【0041】
なお、共用DB18はネットワーク上の位置として位置情報aaaで表される位置に存在し、アプリαDB14はネットワーク上の位置として位置情報bbbで表される位置に存在し、アプリβDB16はネットワーク上の位置として位置情報cccで表される位置に存在する。
【0042】
このように、データ管理システム2において、各サーバのデータベースで管理されるデータは、識別情報である内部IDと対応付けられて記憶されており、アプリα(アプリβ)がアプリαDB14(アプリβDB16)で管理されているデータと、共用DB18で管理されているデータとを統合して出力する際には、内部IDが同じであるデータについて、統合して出力する(
図6参照)。
【0043】
次に、新規データの生成について説明する。新規にユーザレコードを登録する場合、ユーザIDは、例えば、ユーザ登録手続きの際に指定される一意の情報(例えば、メールアドレス)が用いられ、内部IDは、例えば、ユーザIDのハッシュ値が用いられる。具体例を挙げると、"tanaka@xxxxxxxxx.co.jp"のハッシュ値(ここでは、1234であるとする)が、このユーザに関するレコードの内部IDとなる。なお、内部IDが定まった後に、メールアドレス等の変更によりユーザIDが変更された場合でも、内部IDは変更されない。
【0044】
新規のユーザレコードの登録は、共用サーバ8で行われもよいし、アプリαサーバ4で行われもよいし、アプリβサーバ6で行われもよい。
図7に示すように、アプリαサーバ4や、アプリβサーバ6で新規のユーザレコードの登録が行われた場合、共用DB18においても内部IDと対応付けられてデータが生成される。
図7では、アプリαで、ユーザIDが"suzuki"であるユーザレコードを登録する場合を例示しており、アプリαを介して登録された属性値のうち、属性項目「ユーザID」、「所属」については共用DB18が管理するデータとして記憶され、属性項目「国籍」、「住所」、「年齢」についてはアプリαDB14が管理するデータとして記憶されている。
【0045】
次に、新規にアプリケーションソフトウェアが導入される場合について説明する。ここでは、共用サーバ8及びアプリαサーバ4が既存のサーバであり、新たにアプリβサーバ6が導入される場合を例に説明する。なお、ここでは、導入の際、アプリβDB16にはデータがまだ登録されていないものとする。新規にアプリβサーバ6を導入すると、アプリβの出力では、共用DB18のデータを利用するため共用DB18が管理する属性項目のデータを出力することはできるが、アプリβDB16にデータが存在しないので、アプリβDB16が管理する属性項目については表示対象がない。ここで、
図8に示すように、アプリβを介して、アプリβDB16が管理する属性項目についてのデータを追加すると(
図8に示した例では、ユーザIDが"tanaka"のユーザに対し属性項目「課金方式」の属性値を追加し、ユーザIDが"suzuki"のユーザに対し属性項目「フォルダ」の属性値を追加している)、内部IDと対応付けられて、アプリβDB16に、追加されたデータが記憶される。
【0046】
次に、データの統合出力の詳細について説明する。上述のように、アプリα(アプリβ)では、アプリαDB14(アプリβDB16)で管理されているデータと、共用DB18で管理されているデータとを統合して出力する。ここで、データの統合は、利用対象情報(カラムファミリ)を用いて行われる。
【0047】
図9は、本実施形態に係るデータ管理システム2が記憶する属性項目管理情報の一例を示す表である。
図9に示されるように、データ管理システム2は、データ管理システム2の各データベースが管理する属性項目ごとに、当該属性項目の利用対象を示す利用対象情報と当該属性項目の属性値の記憶先とを記憶する。なお、属性項目管理情報は、いずれかのデータベースに記憶されていてもよいし、データベースとは異なる記憶形態により記憶されていてもよい。また、物理的な記憶位置も問わず、記憶位置が端末装置10の記憶部24であっても、各サーバの記憶部24のいずれかであってもよい。
【0048】
利用対象情報は、当該属性項目がどのように利用されるかを示す利用対象を定義する情報であり、本実施形態で示した例では、“共用”、“アプリα”、“アプリβ”の3種類のいずれかが付与されている。具体的には、ここでは、共用DB18が管理する属性項目について利用対象情報として“共用”が付与されており、アプリαDB14が管理する属性項目について利用対象情報として“アプリα”が付与されており、アプリβDB16が管理する属性項目について利用対象情報として“アプリβ”が付与されている。なお、後述するように、属性項目に対して付与されている利用対象情報は変更可能である。
【0049】
データ管理システム2において、アプリα(アプリβ)は、利用対象情報が“共用”又は“アプリα”(“アプリβ”)である属性項目の属性値について、内部IDが同じであるものをデータ管理システム2の各データベースから取得し、統合して出力する。具体的には、アプリα(アプリβ)は、属性項目管理情報を参照し、利用対象情報が“共用”又は“アプリα”(“アプリβ”)である属性項目を検索し、検索された属性項目について属性項目管理情報を参照して記憶先を確認し、この確認した記憶先から属性値を取得する。
【0050】
図10は、利用対象情報に基づいて統合されたデータの一例を示す模式図であり、
図10(a)は、アプリαにより表示出力されるデータの一例を示し、
図10(b)は、アプリβにより表示出力されるデータの一例を示している。
【0051】
以上説明した出力例では、アプリαDB14(アプリβDB16)が管理しているデータについては、専らアプリα(アプリβ)における出力に用いられる場合について説明した。次に、アプリαDB14(アプリβDB16)が管理しているデータについて、共用DB18に管理されているデータのように、他のアプリケーションソフトウェアに提供するようデータ構成を変更することについて説明する。
【0052】
データ管理システム2は、記憶された利用対象情報を変更する利用対象変更手段を備えており、利用対象情報を任意に変更できるよう構成されている。例えば、データ管理システム2は、システム管理者などのユーザの操作による指示に従って、利用対象情報を変更する。
【0053】
ここでは、アプリαDB14が管理する属性項目「年齢」について、アプリα以外の他のアプリケーションソフトウェアでも利用可能にする場合を想定して説明する。
【0054】
この場合、属性項目「年齢」について、利用対象情報を“アプリα”から“共用”に変更されることにより(
図11参照)、属性項目「年齢」が、アプリαに限らず、アプリβにおいても出力されるよう変更される(
図12参照)。この結果、
図13に示されるように、アプリβによる出力において、属性項目「年齢」の属性値が出力される。なお、
図13において、(a)は、ユーザIDが"tanaka"である社員についての情報の出力例を示し、(b)は、ユーザIDが"suzuki"である社員についての出力例を示している。
【0055】
このように、利用対象変更手段は、例えば、特定のアプリケーションソフトウェアで用いられることを示す利用対象情報を、複数のアプリケーションソフトウェアで用いられることを示す利用対象情報へと変更する。なお、利用対象変更手段は、複数のアプリケーションソフトウェアで用いられることを示す利用対象情報を特定のアプリケーションソフトウェアで用いられることを示す利用対象情報へと変更してもよい。
【0056】
次に、データ管理システム2の動作について説明する。
図14は、データ管理システム2において、アプリα又はアプリβによりデータが統合出力される際の動作の一例を示すフローチャートである。
【0057】
ステップ100(S100)において、アプリα(アプリβ)は、属性項目管理情報を参照し、利用対象情報が“共用”である属性項目を検索する。
【0058】
ステップ102(S102)において、アプリα(アプリβ)は、アプリα(アプリβ)は、属性項目管理情報を参照し、利用対象情報が“アプリα”(“アプリβ”)である属性項目を検索する。
【0059】
ステップ104(S104)において、ステップ100及びステップ102で検索された属性項目の属性値を取得する。具体的には、属性項目管理情報を参照して属性値の記憶先を確認し、この確認した記憶先から属性値を取得する。なお、属性値の取得は、全ての内部IDを対象としてもよいし、任意の方法により指定された範囲の内部IDに対応する属性値に限ってもよい。
【0060】
ステップ106(S106)において、アプリα(アプリβ)は、内部IDごとにデータを統合し、出力する。
【0061】
図15は、データ管理システム2において、属性項目の利用対象を変更する際の動作の一例を示すフローチャートである。
【0062】
ステップ200(S200)において、データ管理システム2は、利用対象を変更する属性項目を指定する指示を受付ける。例えば、ユーザが利用対象を変更する属性項目を指定する操作を行うことにより指示が入力される。
【0063】
ステップ202(S202)において、データ管理システム2は、利用対象情報の変更指示を受付ける。例えば、ユーザが変更後の利用対象情報を入力する操作を行うことにより指示が入力される。
【0064】
ステップ204(S204)において、データ管理システム2は、ステップ200及びステップ202の指示に従って、記憶している属性項目管理情報のうち利用対象情報について書き換えを行う。
【0065】
このように利用対象情報が変更された後、変更された利用対象情報に基づいて
図14に示した一連の処理が行われることにより、変更が反映された出力がなされることとなる。
【0066】
以下、上記実施形態の変形例について説明する。
変形例では、異なる複数の属性項目を関連付ける属性項目関連付け手段と、関連付けられた属性項目のいずれかの属性値を関連付けられた他の属性値に反映させる属性値反映手段とを有する点で、上記実施形態と異なる。変形例では、データ管理システム2は、例えば、システム管理者などのユーザの操作による指示に従って、異なる複数の属性項目の関連付けを行う。
【0067】
異なる属性項目であっても一体的に取り扱いたい場合が考えられる。例えば、異なるデータベースにそれぞれ管理される異なる属性項目について属性値が同じである場合、形式的には異なる属性項目であっても実体的には同じ属性項目を意味しており一体的に取り扱うことが好ましい。また、属性値が同じでなくても一方の属性値が他方の属性値の一部と同じである場合(例えば、ユーザの生活の本拠である場所を表す属性項目「住所」及び「所在地」について、一方の属性値が“神奈川県横浜市”であり、他方の属性値が“神奈川県”である場合)などのように相関関係がある場合についても、異なる属性項目を一体的に取り扱うことが好ましい。
【0068】
ここで、一体的に取り扱うとは、一体的に取り扱われる属性項目のうちいずれかの属性項目の属性値を、一体的に取り扱われる他の属性項目の属性値に反映させることをいい、例えば、属性値を出力する際に当該属性項目と一体的に取り扱われる他の属性項目の属性値を参照して出力したり、属性値を変更した場合に当該属性項目と一体的に取り扱われる他の属性項目の属性値も同様に変更したりすることが該当する。
【0069】
以下、変形例の特徴について、
図16及び
図17により具体例を交えて説明する。
図16は、変形例に係るデータ管理システム2における各データベースで管理されるデータの一例を示す模式図であり、
図16(a)は共用DB18により管理されるデータの一例を示し、
図16(b)はアプリαDB14により管理されるデータの一例を示し、
図16(c)はアプリβDB16により管理されるデータの一例を示している。
図16に示した例では、アプリβDB16により管理されるデータとして、属性項目「所在地」が追加されている点で、
図5に示した一例と異なる。
【0070】
なお、アプリαDB14により管理される属性項目「住所」と、アプリβDB16により管理される属性項目「所在地」は、いずれもユーザの生活の本拠である場所を表す属性項目であるものとする。
【0071】
ここで、アプリαDB14により管理される属性項目「住所」と、アプリβDB16により管理される属性項目「所在地」とを関連付ける場合を想定する。データ管理システム2は、例えばシステム管理者などのユーザの指示に従って、属性項目「住所」と属性項目「所在地」とを関連付ける。
【0072】
なお、一体的に取り扱うべき属性項目群をユーザが見つけるのを補助するために、データ管理システム2は、各データベースが管理する属性項目及びその属性値を一覧表示するよう構成してもよい。この場合、例えば、ユーザは、表示された一覧を見て、属性項目の名称と、その属性値とから、一体的に取り扱うべき属性項目群を見つける。
【0073】
一体的に取り扱うべき属性項目群の発見は、データ管理システム2が自動的に行ってもよい。例えば、各データベースが管理する属性項目の名称及びその属性値を参照し、一致又は類似する属性項目群を一体的に取り扱うべき属性項目群として抽出するよう構成してもよい。
【0074】
データ管理システム2は、例えば、関連付けられたことを示す情報を記憶することにより、属性項目の関連付けを実現する。本変形例では、属性項目管理情報として記憶することにより属性項目の関連付けを実現する。
【0075】
図17は、変形例に係るデータ管理システム2が記憶する属性項目管理情報の一例を示す表である。
図17に示した例では、属性項目「住所」に対し、対応する属性として「所在地」が存在する旨の情報が記憶され、属性項目「所在地」に対し、対応する属性として「住所」が存在する旨の情報が記憶されている。
【0076】
なお、
図17に示した例では、2つの属性項目について互いに関連するものとして関連付けを行っているが、3つ以上の属性項目について相互に関連するものとして関連付けを行ってもよい。
【0077】
データ管理システム2は、このように関連付けについての情報を含む属性項目管理情報を参照し、一体的に取り扱われる属性項目のうちいずれかの属性項目の属性値を、一体的に取り扱われる他の属性項目の属性値に反映させる。
【0078】
以下、
図18及び
図19により、変形例に係るデータ管理システム2の動作について説明する。
【0079】
図18は、変形例に係るデータ管理システム2において、異なる複数の属性項目を関連付ける動作の一例を示すフローチャートである。
【0080】
ステップ300(S300)において、データ管理システム2は、一体的に取り扱う属性項目群の指定を受付ける。例えば、ユーザが一体的に取り扱う属性項目群を指定する操作を行うことにより、データ管理システム2は一体的に取り扱う属性項目群の指定の指示を受付ける。
【0081】
ステップ302(S302)において、ステップ300で指定された複数の属性項目について、相互に対応する属性項目である旨を属性項目管理情報として記憶する。
【0082】
図19は、変形例に係るデータ管理システム2において、関連付けられた属性項目の属性値を関連付けられた他の属性値に反映させる動作の一例を示すフローチャートであり、
図19(a)は属性値を出力する際の動作の一例を示し、
図19(b)は属性値を編集する際の動作の一例を示している。
【0083】
まず、
図19(a)に基づいて属性値を出力する際の動作について説明する。
ステップ400(S400)において、出力対象の属性項目の属性値がデータベース上に格納されているか否かを確認し、属性値が格納されている場合には、ステップ402(S402)で、格納されている属性値を出力する。一方、属性値が格納されていない場合には、ステップ404(S404)へ移行する。
【0084】
ステップ404(S404)において、出力対象の属性項目に関連付けられた属性項目が存在するか否かを確認する。具体的には、属性項目管理情報を参照し、出力対象の属性項目に関連付けられた属性項目があるかを確認する。関連付けられた属性項目がある場合には、ステップ406へ移行し、関連付けられた属性項目がない場合には、ステップ408へ移行する。
【0085】
ステップ406(S406)では、出力対象の属性項目に関連付けられている属性項目の属性値を、出力対象の属性項目の属性値として出力する。一方、ステップ408(S408)では、出力すべき属性値がないため出力をしない。なお、ステップ406において、出力対象の属性項目に関連付けられている属性項目に属性値がない場合にも、ステップ408と同様、出力をしない。
【0086】
次に、
図19(b)に基づいて属性値を編集する際の動作について説明する。
ステップ500(S500)において、属性値の編集指示を受付ける。
【0087】
ステップ502(S502)において、ステップ500で指示された編集内容に従って属性値を変更する。
【0088】
ステップ504(S504)において、属性値が編集された属性項目に関連付けられている属性項目が存在するか否かを確認する。関連付けられた属性項目がある場合には、ステップ506へ移行し、関連付けられた属性項目がない場合には、終了する。
【0089】
ステップ506(S506)において、ステップ500で指示された編集内容に従って、関連付けられた属性項目の属性値も変更する。
【0090】
以上、関連付けられた属性項目の属性値を関連付けられた他の属性項目の属性値に無条件で反映させる構成について説明したが、関連付けられた属性項目間における属性値の使用権限(アクセス権)を設定し、設定されたアクセス権に基づいて属性項目間の反映が許可された場合に属性値を反映させるよう構成してもよい。
【0091】
例えば、属性項目ごとに、n段階(nは2以上の整数)のアクセス権のいずれかを付与し、属性項目間における属性値の反映の際に、両属性項目のアクセス権が予め定められた条件を満たす場合に、反映を許可するよう構成してもよい。なお、属性項目ごとに付与されたアクセス権を示す情報は、例えば、属性項目管理情報として管理される。
【0092】
アクセス権による反映の拒否について、Bell-LaPadulaモデルを用いてデータの機密性を確保してもよいし、Biba Integrityモデルを用いてデータの完全性を確保してのよい。
【0093】
例えば、反映元の属性項目のアクセス権と反映先の属性項目のアクセス権とを比較した際、反映元の属性項目のアクセス権が反映先の属性項目のアクセス権よりも上位段階のアクセス権である場合に、反映先の属性項目の属性値を反映元の属性項目の属性値で書き換えることを禁止するよう構成することにより、データの機密性の確保に資する。
【0094】
また、例えば、反映元の属性項目のアクセス権と反映先の属性項目のアクセス権とを比較した際、反映元の属性項目のアクセス権が反映先の属性項目のアクセス権よりも下位段階のアクセス権である場合に、反映先の属性項目の属性値を反映元の属性項目の属性値で書き換えることを禁止するよう構成することにより、データの完全性の確保に資する。
【0095】
図20は、
図19で示した動作例について、上述のようにアクセス権による反映の許否を設けるよう修正したフローチャートである。
【0096】
まず、
図20(a)に基づいて属性値を出力する際の動作について説明する。
図20(a)にあるように、ステップ405(S405)が追加されている点で
図19(a)に示したフローチャートと異なる。ステップ404において、関連付けられた属性項目があると判定された場合、ステップ405へ移行する。
【0097】
ステップ405では、反映元の属性項目のアクセス権と反映先の属性項目のアクセス権とを比較し、両属性項目のアクセス権が、属性値の参照についての予め定められた条件を満たすか否かを判定し、条件を満たす場合にステップ406へ移行し、条件を満たさない場合にステップ408へ移行する。
【0098】
次に、
図20(b)に基づいて属性値を編集する際の動作について説明する。
図20(b)にあるように、ステップ505(S505)が追加されている点で
図19(b)に示したフローチャートと異なる。ステップ504において、関連付けられた属性項目があると判定された場合、ステップ505へ移行する。
【0099】
ステップ505では、反映元の属性項目のアクセス権と反映先の属性項目のアクセス権とを比較し、両属性項目のアクセス権が、属性値の変更の反映についての予め定められた条件を満たすか否かを判定し、条件を満たす場合にステップ506へ移行し、条件を満たさない場合には終了する。
【0100】
以上、本発明の実施形態と変形例について説明したが、アプリα(アプリβ)は、必ずしも複数のデータベースのデータを統合して出力しなくてもよく、アプリαDB14(アプリβDB16)が管理するデータだけを出力対象としてもよいし、共用DB18が管理するデータだけを出力対象としてもよい。
【0101】
また、本発明の実施形態及びその変形例において、利用対象情報の一例として、“共用”、“アプリα”、“アプリβ”の3種類のいずれかが付与されている例について説明したが、利用対象情報としては、これに限られない。例えば、“アプリα”、“アプリβ”など特定の1つのアプリケーションソフトウェアに限定するのではなく、“アプリα及びアプリβ”、“アプリβ及びアプリγ”などのように特定の複数のアプリケーションソフトウェアに限定する利用対象情報であってもよい。具体的には例えば、属性項目「ユーザID」についての利用対象情報を“アプリα及びアプリβ”とし、属性項目「所属」の利用対象情報“アプリβ及びアプリγ”としてもよい。この場合、属性項目「ユーザID」は、アプリαでも利用され、アプリβでも利用されることを示し、属性項目「所属」は、アプリβでも利用され、アプリγでも利用されることを示す。