以下に添付図面を参照して、この発明にかかる情報提供プログラム、情報提供方法および情報提供装置の実施の形態を詳細に説明する。
(実施の形態1)
図1は、実施の形態1にかかる情報提供方法の一実施例を示す説明図である。図1において、情報提供装置101は、複数の部署により階層構造化された組織構造のうちのいずれかの部署に所属する利用者が利用可能なサービスに関する情報を提供するコンピュータである。
ここで、組織とは、共通目標を達成するために、成員間の役割や機能が分化・統合された集団である。組織としては、例えば、企業、地方公共団体、学校、各種法人などがある。また、部署とは、組織において、担当する役割、役目、任務等に応じて設けられる区分である。部署としては、例えば、企業の部、課、班、係などや、学校の学部、学科、研究室、グループなどがある。
また、組織の組織構造は、複数の部署により階層構造化されている。具体的には、例えば、組織の組織構造は、複数の部署の各々の部署をノードとして階層構造化された木構造である。図1の例では、部署P1〜P7の各々の部署をノードとして階層構造化された組織構造110が示されている。
また、部署には、部署に所属する所属者が利用可能なサービスが定義されている。サービスとは、例えば、コンピュータに提供される情報処理である。サービスとしては、例えば、部署の所属者の電話番号、メールアドレス、スケジュール等を提示するサービス、部署の目標や任務を提示するサービス、部署の所属者が利用可能な施設を予約するサービスなどがある。
なお、部署には、利用可能なサービスとして他部署と同一のサービスが定義されていてもよい。また、利用可能なサービスが定義されていない部署があってもよい。
利用者は、所属部署に定義されているサービスを利用することができる。また、利用者は、所属部署の階層よりも上位階層の部署に定義されているサービスを利用できる場合がある。また、利用者は、所属部署の階層よりも下位階層の部署に定義されているサービスを利用できる場合がある。
ここで、部署P1にサービスS1が定義され、部署P2にサービスS2が定義され、部署P4にサービスS4が定義されているとする。この場合、例えば、部署P4の所属者は、部署P4に定義されているサービスS4だけでなく、部署P4の階層よりも上位階層の部署P1〜P3のうち、部署P4に関連する部署P1,P2に定義されているサービスS1,S2を利用することができる。
一方、組織の組織構造は変更される場合がある。組織の組織構造が変更されると、利用者が利用可能なサービスが変わる。この際、例えば、利用者の所属部署から最上位部署までを一つのロールとしてみなして、該ロールで利用可能なサービスを管理していると、組織構造の変更時に、利用者が利用可能なサービスを特定するための情報の変更作業に手間がかかる。なお、ロールとは、例えば、利用者の所属先を表すものである。
例えば、組織構造110において、部署P2の下位組織である部署P4が、部署P3の下位組織に移動する場合を想定する。この場合、部署P4に所属しているすべての利用者について、利用者のロールを特定する情報を「部署P1 部署P2 部署P4」から「部署P1 部署P3 部署P4」に変更することになり、管理者等の変更作業にかかる作業負荷が増大してしまう。
そこで、本実施の形態では、情報提供装置101は、利用者の所属部署のみを利用者のロールとしてみなすことにより、組織構造の変更時における利用者のロールを特定する情報(後述する「利用者情報」)の変更作業にかかる作業負荷を軽減させる。また、情報提供装置101は、異なる階層の部署間の関連を辿るための情報(後述する「ロール情報」)を保持することにより、所属部署のサービスだけでなく、関連する他部署のサービスを特定可能にする。
以下、情報提供装置101の情報提供処理の処理例について説明する。ここでは、組織構造110に含まれる部署P1〜P7のうちの任意の部署を「部署P」と表記する場合がある。また、部署Pに所属する所属者が利用可能なサービスを「サービスS」と表記する場合がある。
(1)情報提供装置101は、利用者の利用者情報を取得する。ここで、利用者情報は、例えば、組織構造110のうち利用者が所属する所属部署を表す情報である。図1の例では、利用者「太郎」が所属する部署P4の部署名「P4」をロールとして表す利用者情報120が取得されている。
(2)情報提供装置101は、記憶部130の記憶内容を参照して、取得した利用者情報が表す所属部署の所属者が利用可能なサービスを特定する。ここで、記憶部130は、ロール情報を記憶する記憶装置である。ロール情報は、部署Pの所属者が利用可能なサービスSの情報と、部署Pの階層に隣接する隣接階層の他部署の情報とを対応付けて表す部署Pごとの部署情報である。隣接階層の他部署とは、部署Pの階層の直上階層または直下階層の部署であって、部署Pに関連する部署である。サービスSの情報は、例えば、サービスSの識別情報である。
図1の例では、部署Pの所属者が利用可能なサービスSの情報と、部署Pの親ロールを表す他部署の情報とを対応付けて表すロール情報130−1〜130−3が記憶されている。親ロールは、部署Pの階層の直上階層の部署であって、部署Pに関連する部署である。ここでは、情報提供装置101は、部署P4のロール情報130−1を参照して、利用者情報120が表す部署P4の所属者が利用可能なサービスS4を特定する。
(3)情報提供装置101は、記憶部130の記憶内容を参照して、取得した利用者情報が表す所属部署の階層に隣接する隣接階層の他部署の所属者が利用可能なサービスを特定する。図1の例では、まず、情報提供装置101は、部署P4のロール情報130−1を参照して、利用者情報120が表す部署P4の親ロールを表す部署P2を特定する。そして、情報提供装置101は、部署P2のロール情報130−2を参照して、部署P2の所属者が利用可能なサービスS2を特定する。
(4)情報提供装置101は、さらに他部署の階層に隣接する隣接階層の他部署が存在する場合、記憶部130の記憶内容を参照して、当該他部署の所属者が利用可能なサービスを特定する。図1の例では、まず、情報提供装置101は、部署P2のロール情報130−2を参照して、部署P2の親ロールを表す部署P1を特定する。そして、情報提供装置101は、部署P1のロール情報130−3を参照して、部署P1の所属者が利用可能なサービスS1を特定する。
なお、上記(4)において、情報提供装置101は、部署P1の親ロールを表す他部署が存在する場合は、記憶部130の記憶内容を参照して、当該他部署の所属者が利用可能なサービスを特定する。図1の例では、部署P1が最上位階層の部署のため、部署P1の親ロールを表す他部署は存在しない。
(5)情報提供装置101は、特定したサービスの情報を出力する。図1の例では、情報提供装置101は、特定したサービスS4の情報と、サービスS2の情報と、サービスS1の情報とを関連付けて出力する。
このように、実施の形態1にかかる情報提供装置101によれば、企業等の組織変更時における利用者に提供するサービスを特定するためにかかる作業負荷を軽減させることができる。具体的には、情報提供装置101によれば、所属部署のみを利用者のロールとして利用者情報を管理することにより、組織構造の変更時における利用者情報の変更作業にかかる作業負荷を軽減することができる。
例えば、組織構造110において、部署P2の下位組織である部署P4が、部署P3の下位組織に移動する場合、管理者は、ロール情報130−1の親ロールを「部署P2」から「部署P3」に変更するだけでよい。すなわち、管理者は、部署P2に所属している利用者の利用者情報を変更しなくてもよい。このため、例えば、利用者の所属部署から最上位部署までを一つのロールとしてみなす場合に比べて、組織構造の変更時における管理者の作業負荷を軽減することができる。
また、情報提供装置101によれば、異なる階層の部署間の関連を辿るためのロール情報を保持することにより、所属部署のサービスだけでなく、関連する他部署のサービスを特定することができる。また、情報提供装置101によれば、組織構造の変更時における利用者情報の変更作業にかかる作業負荷を軽減することにより、組織構造の変更が行われた際に利用者の所属先に応じたサービスを迅速に提供することができるようになる。
(実施の形態2)
つぎに、実施の形態2にかかる情報提供装置101について説明する。なお、実施の形態1で説明した箇所と同様の箇所については説明を省略する。
実施の形態2では、組織構造の一例として、事業部制を採用している企業の組織構造を例に挙げて説明する。また、実施の形態2では、利用者は、所属部署に定義されているサービスとともに、所属部署の階層よりも上位階層の関連する部署に定義されているサービスを利用できる場合について説明する。
(情報提供システム200のシステム構成例)
図2は、情報提供システム200のシステム構成例を示す説明図である。図2において、情報提供システム200は、情報提供装置101と、複数のクライアント装置201(図2では、3台)と、を含む。情報提供システム200において、情報提供装置101およびクライアント装置201は、有線または無線のネットワーク240を介して接続されている。ネットワーク240は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
ここで、情報提供装置101は、利用者情報DB(データベース)210、ロール情報DB220およびサービス情報DB230を有し、クライアント装置201に情報を提供するコンピュータである。具体的には、例えば、情報提供装置101は、ポータルサイトのポータル画面の画面情報をクライアント装置201に提供する。情報提供装置101は、例えば、ウェブサーバ、アプリケーションサーバ、データベースサーバ等により実現される。
また、クライアント装置201は、情報を閲覧するためのブラウザを有するコンピュータである。クライアント装置201は、例えば、情報提供システム200の利用者が使用するPC(パーソナル・コンピュータ)、ノートPC、スマートフォンなどである。
(情報提供装置101のハードウェア構成例)
図3は、情報提供装置101のハードウェア構成例を示すブロック図である。図3において、情報提供装置101は、CPU(Central Processing Unit)301と、ROM(Read‐Only Memory)302と、RAM(Random Access Memory)303と、磁気ディスクドライブ304と、磁気ディスク305と、I/F(Interface)306と、ディスプレイ307と、キーボード308と、マウス309と、を有している。また、各構成部はバス300によってそれぞれ接続されている。
ここで、CPU301は、情報提供装置101の全体の制御を司る。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
I/F306は、通信回線を通じてネットワーク240に接続され、ネットワーク240を介して他のコンピュータ(例えば、クライアント装置201)に接続される。そして、I/F306は、ネットワーク240と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。I/F306には、例えば、モデムやLANアダプタなどを採用することができる。
ディスプレイ307は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ307は、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。キーボード308は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。マウス309は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。
なお、情報提供装置101は、上述した構成部のうち、例えば、ディスプレイ307やキーボード308やマウス309を有さないことにしてもよい。また、図2に示したクライアント装置201は、例えば、情報提供装置101と同様のハードウェア構成により実現することができる。
(組織構造の具体例)
図4は、組織構造の具体例を示す説明図である。図4において、組織構造400は、ある企業の組織構造を表しており、部署P1〜P15により階層構造化されている。ここでは、部署として、会社、事業部、部および課が示されている。
具体的には、組織構造400では、部署P1「A会社」を最上位組織として、部署P1「A会社」の下位組織として部署P2「B事業部」および部署P3「C事業部」がある。また、部署P2「B事業部」の下位組織として部署P4「D部」および部署P5「E部」があり、部署P3「C事業部」の下位組織として部署P6「F部」および部署P7「G部」がある。
また、部署P4「D部」の下位組織として部署P8「H課」および部署P9「I課」があり、部署P5「E部」の下位組織として部署P10「J課」および部署P11「K課」がある。また、部署P6「F部」の下位組織として部署P12「L課」および部署P13「M課」があり、部署P7「G部」の下位組織として部署P14「N課」および部署P15「O課」がある。
以下の説明では、組織構造400に含まれる部署P1〜P15のうちの任意の部署を「部署Pi」と表記する場合がある(i=1,2,…,15)。
(各種DB210,220,230の記憶内容)
つぎに、情報提供装置101が有する各種DB210,220,230の記憶内容について説明する。各種DB210,220,230は、例えば、図3に示したRAM303、磁気ディスク305などの記憶装置により実現される。
<利用者情報DB210の記憶内容>
図5は、利用者情報DB210の記憶内容の一例を示す説明図である。図5において、利用者情報DB210は、利用者名および部署名のフィールドを有する。各フィールドに情報を設定することにより、利用者情報(例えば、利用者情報500−1〜500−4)がレコードとして記憶されている。
ここで、利用者名は、情報提供システム200(図2参照)の利用者を識別する識別情報である。部署名は、利用者が所属している部署Piを識別する識別情報である。なお、利用者が複数の部署に所属している場合は、利用者が所属しているそれぞれの部署の部署名が設定される。
例えば、利用者情報500−1によれば、利用者「太郎」が所属している部署「H課」を特定することができる。また、利用者情報500−4によれば、利用者「一郎」が所属している部署「E部」および部署「F部」を特定することができる。
<ロール情報DB220の記憶内容>
図6は、ロール情報DB220の記憶内容の一例を示す説明図(その1)である。図6において、ロール情報DB220は、部署名、親ロールおよびサービス名のフィールドを有する。各フィールドに情報を設定することにより、ロール情報600−1〜600−15がレコードとして記憶されている。
ここで、部署名は、部署Piを識別する識別情報である。親ロールは、部署Piの階層の直上階層の部署であって、部署Piに関連する部署を表している。すなわち、親ロールは、部署Piの上位組織を表している。サービス名は、部署Piに所属している所属者が利用可能なサービスの識別情報である。ここでは、各部署P1〜P15の所属者が利用可能なサービスS1〜S15がそれぞれ各部署P1〜P15に定義されている。
例えば、ロール情報600−1によれば、部署「A会社」の所属者が利用可能なサービスS1とともに、部署「A会社」に親ロールが存在しないことを特定することができる。また、ロール情報600−2によれば、部署「B事業部」の所属者が利用可能なサービスS2とともに、部署「B事業部」の親ロール「A会社」を特定することができる。
以下の説明では、サービスS1〜S15のうちの任意のサービスを「サービスSi」と表記する場合がある(i=1,2,…,15)。
<サービス情報DB230の記憶内容>
図7は、サービス情報DB230の記憶内容の一例を示す説明図である。図7において、サービス情報DB230は、サービス名および表示制御情報のフィールドを有する。各フィールドに情報を設定することにより、サービスS1〜S15ごとのサービス情報700−1〜700−15がレコードとして記憶されている。
ここで、サービス名は、部署Piに所属している所属者が利用可能なサービスSiの識別情報である。表示制御情報は、サービスSiに関する表示情報をポータル画面上に表示するための情報である。表示制御情報には、例えば、表示情報の格納場所を示すURL(Uniform Resource Locator)やポータル画面上の表示情報の位置やサイズを表す情報が含まれている。例えば、サービス情報700−1によれば、サービスS1の表示制御情報D1を特定することができる。
(情報提供装置101の機能的構成例)
図8は、情報提供装置101の機能的構成例を示すブロック図である。図8において、情報提供装置101は、取得部801と、特定部802と、判定部803と、作成部804と、出力部805と、更新部806と、を含む構成である。取得部801〜更新部806は制御部となる機能であり、具体的には、例えば、図3に示したROM302、RAM303、磁気ディスク305などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F306により、その機能を実現する。各機能部の処理結果は、例えば、RAM303、磁気ディスク305などの記憶装置に記憶される。
取得部801は、利用者の利用者情報を取得する機能を有する。利用者情報は、例えば、部署P1〜P15により階層構造化された組織構造400(図4参照)のうち利用者が所属する所属部署を表す情報である。具体的には、例えば、まず、取得部801が、利用者のログインを受け付けることにより、利用者の利用者名「太郎」を取得する。そして、取得部801が、図5に示した利用者情報DB210の中から、取得した利用者名「太郎」に対応する利用者情報500−1を取得する。
ログイン処理は、例えば、図2に示したクライアント装置201を用いて行われる。ログイン処理では、利用者の利用者名やパスワードを用いた認証処理が行われる。また、取得部801が、例えば、図3に示したキーボード308やマウス309を用いた利用者の操作入力により、利用者情報を取得することにしてもよい。
特定部802は、対象部署の所属者が利用可能なサービスを特定する機能を有する。ここで、対象部署とは、所属者が利用可能なサービスの特定対象となる部署である。具体的には、例えば、まず、特定部802が、取得された利用者情報500−1が表す所属部署「H課」を対象部署に設定する。
つぎに、特定部802が、図6に示したロール情報DB220の中から、対象部署の部署名「H課」が部署名フィールドに設定された対象部署のロール情報600−8を取得する。そして、特定部802が、取得したロール情報600−8のサービス名フィールドに設定されているサービス名「S8」を特定する。これにより、利用者「太郎」が所属している部署「H課」の所属者が利用可能なサービスS8のサービス名「S8」を特定することができる。
判定部803は、対象部署の階層の直上階層の他部署であって、対象部署に関連する他部署が存在するか否かを判定する機能を有する。具体的には、例えば、判定部803が、特定部802によって特定された対象部署のロール情報600−8を参照して、対象部署「H課」の親ロールが存在するか否かを判定する。ロール情報600−8の例では、親ロールフィールドに部署名「D部」が設定されている。このため、判定部803は、対象部署「H課」の親ロール「D部」が存在すると判定する。
また、特定部802は、対象部署の階層の直上階層の他部署であって、対象部署に関連する他部署が存在すると判定された場合、他部署の所属者が利用可能なサービスを特定する機能を有する。具体的には、例えば、対象部署「H課」の親ロール「D部」が存在すると判定された場合、特定部802が、親ロール「D部」を対象部署に設定する。つぎに、特定部802が、ロール情報DB220の中から、対象部署の部署名「D部」が部署名フィールドに設定されているロール情報600−4を取得する。
そして、特定部802が、取得したロール情報600−4のサービス名フィールドに設定されているサービス名「S4」を特定する。これにより、所属部署「H課」の親ロール「D部」の所属者が利用可能なサービスS4のサービス名「S4」を特定することができる。特定されたサービス名は、例えば、図9に示すサービス一覧900に登録される。
図9は、サービス一覧900の記憶内容の一例を示す説明図である。図9において、サービス一覧900は、利用者が利用可能なサービスを表す情報である。具体的には、例えば、サービス一覧900には、利用者「太郎」が利用可能なサービスS8,S4,S2,S1のサービス名がリスト化されて示されている。サービス一覧900によれば、利用者「太郎」が利用可能なサービスS8,S4,S2,S1を特定することができる。
図8の説明に戻り、作成部804は、特定部802によって特定されたサービスの情報に基づいて、利用者が利用可能なサービスに関するコンテンツを表示する画面情報を作成する機能を有する。具体的には、例えば、作成部804が、図9に示したサービス一覧900を参照して、利用者「太郎」が利用可能なサービスS8,S4,S2,S1に関するコンテンツを表示するポータル画面の画面情報を作成する。
より具体的には、例えば、まず、作成部804が、サービス情報DB230の中から、利用者「太郎」が利用可能なサービスS8,S4,S2,S1の表示制御情報D8,D4,D2,D1を取得する。そして、作成部804が、取得した表示制御情報D8,D4,D2,D1に基づいて、サービスS8,S4,S2,S1に関するコンテンツが組み込まれたポータル画面の画面情報を作成する。
出力部805は、作成部804によって作成された画面情報を出力する機能を有する。出力部805の出力形式としては、例えば、ディスプレイ307への表示、I/F306による外部のコンピュータへの送信、RAM303、磁気ディスク305などの記憶装置への記憶がある。
具体的には、例えば、出力部805が、ログインを受け付けたクライアント装置201に、作成されたポータル画面の画面情報を送信することにしてもよい。この結果、クライアント装置201において、作成された画面情報に基づくポータル画面がディスプレイに表示される。なお、ポータル画面の画面例については、図10を用いて後述する。
また、出力部805は、特定部802によって特定されたサービスの情報を利用者の識別情報と関連付けて出力することにしてもよい。具体的には、例えば、出力部805が、図9に示したサービス一覧900を出力することにしてもよい。これにより、情報提供装置101とは異なる他のコンピュータにおいて、クライアント装置201に提供するポータル画面の画面情報を作成することができる。
更新部806は、組織構造の変更が行われた結果、組織構造の変更内容を表す組織変更通知を受け付けた場合、組織変更通知に基づいて、ロール情報を更新する機能を有する。具体的には、例えば、更新部806が、組織構造400の組織変更通知を受け付けた場合、組織変更通知に基づいて、ロール情報DB220の記憶内容を更新する。
ここで、組織変更通知としては、例えば、部署が移動したことを表す部署移動通知、部署がなくなったことを表す部署消滅通知、部署の部署名が変更されたことを表す部署名変更通知、新たな部署が追加されたことを表す部署追加通知などがある。
なお、組織構造400の組織変更通知は、例えば、キーボード308やマウス309を用いた、情報提供システム200の管理者の操作入力により、情報提供装置101に入力される。また、情報提供装置101は、外部のコンピュータから組織構造400の組織変更通知を受け付けることにしてもよい。
また、更新部806は、組織構造の変更が行われた結果、組織構造の変更内容を表す組織変更通知を受け付けた場合、組織変更通知に基づいて、利用者情報を更新することにしてもよい。具体的には、例えば、更新部806が、組織構造400の組織変更通知を受け付けた場合、組織変更通知に基づいて、利用者情報DB210の記憶内容を更新する。更新部806の具体的な処理内容については、図11〜図14を用いて後述する。
なお、上述した説明では、組織構造400の組織変更通知を受け付けた場合に、利用者情報DB210やロール情報DB220の記憶内容を更新部806により更新することにしたが、これに限らない。例えば、情報提供システム200の管理者により、利用者情報DB210やロール情報DB220の記憶内容を手作業で更新することにしてもよい。
(ポータル画面の画面例)
つぎに、実施の形態2にかかるポータル画面の画面例について説明する。図10は、ポータル画面の画面例を示す説明図(その1)である。図10において、ポータル画面1000は、利用者「太郎」が利用可能なサービスS8,S4,S2,S1に関するコンテンツを表示する画面例である。
具体的には、ポータル画面1000には、部署「H課」の所属者が利用可能なサービスS8に関するコンテンツC1が組み込まれている。また、ポータル画面1000には、部署「D部」の所属者が利用可能なサービスS4に関するコンテンツC2が組み込まれている。また、ポータル画面1000には、部署「B事業部」の所属者が利用可能なサービスS2に関するコンテンツC3が組み込まれている。また、ポータル画面1000には、部署「A会社」の所属者が利用可能なサービスS1に関するコンテンツC4が組み込まれている。
ポータル画面1000によれば、利用者「太郎」は、所属部署である部署「H課」と、部署「H課」の上位組織である部署「D部」、部署「B事業部」および部署「A会社」で利用可能なサービスS8,S4,S2,S1に関するコンテンツC1〜C4を参照することができる。
(ロール情報DB220の更新例)
つぎに、図11〜図14を用いて、組織構造400の組織変更が行われた場合のロール情報DB220の記憶内容の更新例について説明する。
図11は、実施の形態2にかかるロール情報DB220の記憶内容の更新例を示す説明図(その1)である。図11に示す例は、部署「D部」の下位組織であった部署「H課」が、部署「G部」の下位組織に移動した場合の例である。
更新部806は、部署「H課」が部署「G部」の下位組織に移動したことを表す組織変更通知を受け付けた場合、ロール情報DB220の中から、部署名フィールドに部署名「H課」が設定されているロール情報600−8を取得する。そして、更新部806は、取得したロール情報600−8の親ロールフィールドに部署名「G部」を設定する。
これにより、企業内の部署の移動に合わせて、移動対象となる部署の親ロールを更新することができる。
図12は、実施の形態2にかかるロール情報DB220の記憶内容の更新例を示す説明図(その2)である。図12に示す例は、部署「D部」が消滅した場合の例である。なお、部署「D部」の消滅にともなって、部署「D部」の下位組織であった部署「H課」および部署「I課」も消滅する。
更新部806は、部署「D部」、部署「H課」および部署「I課」がなくなったことを表す組織変更通知を受け付けた場合、ロール情報DB220の中から、部署名フィールドに部署名「D部」が設定されているロール情報600−4を削除する。また、更新部806は、ロール情報DB220の中から、部署名フィールドに部署名「H課」が設定されているロール情報600−8を削除する。また、更新部806は、ロール情報DB220の中から、部署名フィールドに部署名「I課」が設定されているロール情報600−9を削除する。
これにより、企業内の部署の消滅に合わせて、ロール情報DB220の中から消滅対象となる部署のロール情報を削除することができる。
この場合、更新部806は、利用者情報DB210の中から、部署名フィールドに消滅対象となる部署の部署名が設定されている利用者情報を削除することにしてもよい。これにより、企業内の部署の消滅に合わせて、利用者情報DB210の中から消滅対象となる部署に所属している利用者の利用者情報を削除することができる。
図13は、実施の形態2にかかるロール情報DB220の記憶内容の更新例を示す説明図(その3)である。図13に示す例は、部署「D部」の部署名が変更された場合の例である。ここでは、変更後の部署名を「P部」とする。
更新部806は、部署「D部」の部署名が「P部」に変更されたことを表す組織変更通知を受け付けた場合、ロール情報DB220の中から、部署名フィールドに部署名「D部」が設定されているロール情報600−4を取得する。そして、更新部806は、取得したロール情報600−4の部署名フィールドに変更後の部署名「P部」を設定する。
これにより、企業内の部署の部署名の変更に合わせて、変更対象となる部署の部署名が部署名フィールドに設定されているロール情報を更新することができる。
また、更新部806は、ロール情報DB220の中から、親ロールフィールドに部署名「D部」が設定されているロール情報600−8,600−9を取得する。そして、更新部806は、取得したロール情報600−8,600−9の親ロールフィールドに変更後の部署名「P部」を設定する。
これにより、企業内の部署の部署名の変更に合わせて、変更対象となる部署の部署名が親ロールフィールドに設定されているロール情報を更新することができる。
この場合、更新部806は、利用者情報DB210の中から、部署名フィールドに変更対象となる部署の部署名が設定されている利用者情報を取得して、部署名フィールドに変更後の部署名を設定することにしてもよい。これにより、企業内の部署の部署名の変更に合わせて、変更対象となる部署に所属している利用者の利用者情報を更新することができる。
図14は、実施の形態2にかかるロール情報DB220の記憶内容の更新例を示す説明図(その4)である。図14に示す例は、部署「D部」の下位組織として新たな部署「Q課」が追加された場合の例である。
更新部806は、部署「D部」の下位組織として新たな部署「Q課」が追加されたことを表す組織変更通知を受け付けた場合、ロール情報DB220にロール情報600−16を新規登録する。この組織変更通知には、例えば、新たな部署「Q課」の所属者が利用可能なサービスS16のサービス名「S16」が含まれている。
具体的には、更新部806が、ロール情報DB220の部署名フィールドに「Q課」を設定し、親ロールフィールドに「D部」を設定し、サービス名フィールドに「S16」を設定することにより、ロール情報DB220が新たなレコードとして記憶される。これにより、企業内の新たな部署の追加に合わせて、新たな部署のロール情報を新規登録することができる。
なお、新たな部署が追加された場合は、新たな部署の所属者の利用者情報が利用者情報DB210に新規登録され、また、新たな部署の所属者が利用可能なサービスに関するサービス情報がサービス情報DB230に新規登録される。
(情報提供装置101の各種処理手順)
つぎに、実施の形態2にかかる情報提供装置101の各種処理手順について説明する。ここでは、まず、実施の形態2にかかる情報提供装置101の情報提供処理手順について説明する。
図15は、実施の形態2にかかる情報提供装置101の情報提供処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、情報提供装置101は、クライアント装置201から利用者のログインを受け付けたか否かを判断する(ステップS1501)。
ここで、情報提供装置101は、利用者のログインを受け付けるのを待つ(ステップS1501:No)。そして、情報提供装置101は、利用者のログインを受け付けた場合(ステップS1501:Yes)、利用者情報DB210の中から利用者の利用者情報を取得する(ステップS1502)。
つぎに、情報提供装置101は、取得した利用者情報の部署名フィールドに設定されている部署名を選択する(ステップS1503)。そして、情報提供装置101は、ロール情報DB220の中から、選択した部署名が部署名フィールドに設定されているロール情報を取得する(ステップS1504)。
つぎに、情報提供装置101は、取得したロール情報のサービス名フィールドに設定されているサービス名を特定する(ステップS1505)。そして、情報提供装置101は、特定したサービス名をサービス一覧900に登録する(ステップS1506)。つぎに、情報提供装置101は、取得したロール情報を参照することにより、親ロールが存在するか否かを判定する(ステップS1507)。
ここで、親ロールが存在する場合(ステップS1507:Yes)、情報提供装置101は、ステップS1504に戻って、ロール情報DB220の中から、取得したロール情報の親ロールフィールドに設定されている部署名が部署名フィールドに設定されているロール情報を取得する(ステップS1504)。
一方、親ロールが存在しない場合(ステップS1507:No)、情報提供装置101は、取得した利用者情報の部署名フィールドに設定されている未選択の部署名があるか否かを判断する(ステップS1508)。
ここで、未選択の部署名がある場合(ステップS1508:Yes)、情報提供装置101は、ステップS1503に戻って、取得した利用者情報の部署名フィールドに設定されている未選択の部署名を選択する(ステップS1503)。
一方、未選択の部署名がない場合(ステップS1508:No)、情報提供装置101は、サービス一覧900を参照して、利用者が利用可能なサービスに関するコンテンツを表示するポータル画面の画面情報を作成する(ステップS1509)。そして、情報提供装置101は、作成したポータル画面の画面情報をクライアント装置201に出力して(ステップS1510)、本フローチャートによる一連の処理を終了する。
これにより、利用者のログインを受け付けた場合に、利用者が利用可能なサービスに関するコンテンツを表示するポータル画面の画面情報をクライアント装置201に提供することができる。
つぎに、実施の形態2にかかる情報提供装置101の更新処理手順について説明する。この更新処理は、ロール情報DB220の記憶内容を更新する処理である。
図16および図17は、実施の形態2にかかる情報提供装置101の更新処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、情報提供装置101は、組織構造の組織変更通知を受け付けたか否かを判断する(ステップS1601)。
ここで、情報提供装置101は、組織変更通知を受け付けるのを待つ(ステップS1601:No)。そして、情報提供装置101は、組織変更通知を受け付けた場合(ステップS1601:Yes)、受け付けた組織変更通知が部署移動通知か否かを判断する(ステップS1602)。
ここで、部署移動通知の場合(ステップS1602:Yes)、情報提供装置101は、ロール情報DB220の中から、部署名フィールドに移動対象の部署名が設定されているロール情報を取得する(ステップS1603)。つぎに、情報提供装置101は、取得したロール情報の親ロールを変更する(ステップS1604)。
そして、情報提供装置101は、親ロールを変更した変更後のロール情報をロール情報DB220に登録して(ステップS1605)、本フローチャートによる一連の処理を終了する。
また、ステップS1602において、部署移動通知ではない場合(ステップS1602:No)、情報提供装置101は、組織変更通知が部署消滅通知か否かを判断する(ステップS1606)。ここで、部署消滅通知の場合(ステップS1606:Yes)、情報提供装置101は、ロール情報DB220の中から、消滅対象の部署のロール情報を削除して(ステップS1607)、本フローチャートによる一連の処理を終了する。
また、ステップS1606において、組織変更通知が部署消滅通知ではない場合(ステップS1606:No)、図17に示すステップS1701に移行する。
図17のフローチャートにおいて、まず、情報提供装置101は、受け付けた組織変更通知が部署名変更通知か否かを判断する(ステップS1701)。ここで、部署名変更通知の場合(ステップS1701:Yes)、情報提供装置101は、ロール情報DB220の中から、変更前の部署名が部署名フィールドに設定されているロール情報を取得する(ステップS1702)。
つぎに、情報提供装置101は、取得したロール情報の部署名フィールドに変更後の部署名を設定することにより部署名を変更する(ステップS1703)。そして、情報提供装置101は、部署名を変更した変更後のロール情報をロール情報DB220に登録する(ステップS1704)。
つぎに、情報提供装置101は、ロール情報DB220の中から、変更前の部署名が親ロールフィールドに設定されているロール情報を取得する(ステップS1705)。そして、情報提供装置101は、取得したロール情報の親ロールフィールドに変更後の部署名を設定することにより親ロールを変更する(ステップS1706)。そして、情報提供装置101は、親ロールを変更した変更後のロール情報をロール情報DB220に登録して(ステップS1707)、本フローチャートによる一連の処理を終了する。
また、ステップS1701において、組織変更通知が部署名変更通知ではない場合(ステップS1701:No)、情報提供装置101は、組織変更通知が部署追加通知か否かを判断する(ステップS1708)。ここで、部署追加通知の場合(ステップS1708:Yes)、情報提供装置101は、新たな部署のロール情報をロール情報DB220に新規登録して(ステップS1709)、本フローチャートによる一連の処理を終了する。
また、ステップS1708において、組織変更通知が部署追加通知ではない場合(ステップS1708:No)、情報提供装置101は、ロール情報DB220の手動更新を促すメッセージを出力して(ステップS1710)、本フローチャートによる一連の処理を終了する。これにより、組織変更に合わせてロール情報DB220の記憶内容を更新することができる。
以上説明したように、実施の形態2にかかる情報提供装置101によれば、利用者の所属部署のみをロールとみなすことにより、組織構造の変更時における利用者情報やロール情報の変更作業にかかる作業負荷を軽減することができる。
また、情報提供装置101によれば、ロール情報DB220を参照して、利用者の所属部署を対象部署として、対象部署の所属者が利用可能なサービスのサービス名を特定することができる。また、情報提供装置101によれば、対象部署に親ロールが存在する場合は、親ロールを対象部署として、対象部署の所属者が利用可能なサービスのサービス名を特定することができる。これにより、組織構造のうちの利用者が所属している所属部署から最上位部署までの各部署の所属者が利用可能なサービスを、利用者が利用可能なサービスとして特定することができる。
また、情報提供装置101によれば、サービス情報DB230を参照して、利用者が利用可能なサービスに関するコンテンツを表示するポータル画面の画面情報を作成することができる。これにより、利用者の所属部署に応じたポータル画面の画面情報をクライアント装置201に提供することができる。
また、情報提供装置101によれば、組織の組織構造の変更が行われた結果、組織構造の変更内容を表す変更通知を受け付けた場合、変更通知に基づいて、ロール情報DB220の記憶内容を更新することができる。これにより、組織構造の変更にともなうロール情報の変更にかかる作業者の作業負荷を削減することができる。
また、情報提供装置101によれば、組織の組織構造の変更が行われた結果、組織構造の変更内容を表す変更通知を受け付けた場合、変更通知に基づいて、利用者情報DB210の記憶内容を更新することができる。これにより、組織構造の変更にともなう利用者情報の変更にかかる作業者の作業負荷を削減することができる。
(実施の形態3)
つぎに、実施の形態3にかかる情報提供装置101について説明する。なお、実施の形態1,2で説明した箇所と同様の箇所については説明を省略する。
実施の形態3では、利用者は、所属部署に定義されているサービスと、所属部署の階層よりも上位階層の関連する部署に定義されているサービスと、所属部署の階層よりも下位階層の関連する部署に定義されているサービスとを利用できる場合について説明する。
(ロール情報DB220の記憶内容)
まず、実施の形態3にかかるロール情報DB220の記憶内容について説明する。以下、企業の組織構造の一例として、図4に示した組織構造400を例に挙げて説明する。
図18は、ロール情報DB220の記憶内容の一例を示す説明図(その2)である。図18において、ロール情報DB220は、部署名、親ロール、子ロールおよびサービス名のフィールドを有する。各フィールドに情報を設定することにより、ロール情報1800−1〜1800−15がレコードとして記憶されている。
ここで、子ロールは、部署Piの階層の直下階層の部署であって、部署Piに関連する部署を表している。すなわち、子ロールは、部署Piの下位組織を表している。例えば、ロール情報1800−1によれば、部署「A会社」の所属者が利用可能なサービスS1とともに、部署「A会社」に親ロールが存在しないこと、および部署「A会社」の子ロール「B事業部、C事業部」を特定することができる。また、ロール情報1800−2によれば、部署「B事業部」の所属者が利用可能なサービスS2とともに、部署「B事業部」の親ロール「A会社」および部署「B事業部」の子ロール「D部、E部」を特定することができる。
なお、ここでは、部署Piの親ロールが一つしか存在しない場合について説明したが、部署Piに複数の親ロールが存在していてもよい。この場合、部署Piの親ロールフィールドに複数の親ロールの部署名が設定されることになる。
(情報提供装置101の機能的構成例)
つぎに、実施の形態3にかかる情報提供装置101の機能部について説明する。なお、実施の形態3にかかる情報提供装置101の機能的構成例については、実施の形態2で説明した情報提供装置101の機能的構成例と同様のため図示を省略する。以下、実施の形態2で説明した情報提供装置101の機能部の説明と異なる部分について説明する。
判定部803は、対象部署の階層の直下階層の他部署であって、対象部署に関連する他部署が存在するか否かを判定する機能を有する。例えば、対象部署を部署「D部」とする。この場合、判定部803が、対象部署のロール情報1800−4を参照して、対象部署「D部」の子ロールが存在するか否かを判定する。ロール情報1800−4の例では、子ロールフィールドに部署名「H課、I課」が設定されている。このため、判定部803は、対象部署「D部」の子ロール「H課、I課」が存在すると判定する。
また、特定部802は、対象部署の階層の直下階層の他部署であって、対象部署に関連する他部署が存在すると判定された場合、他部署の所属者が利用可能なサービスを特定する機能を有する。具体的には、例えば、対象部署「D部」の子ロール「H課、I課」が存在すると判定された場合、まず、特定部802が、子ロール「H課」を対象部署に設定する。つぎに、特定部802が、ロール情報DB220の中から、対象部署の部署名「H課」が部署名フィールドに設定されているロール情報1800−8を取得する。そして、特定部802が、取得したロール情報1800−8のサービス名フィールドに設定されているサービス名「S8」を特定する。
また、特定部802が、子ロール「I課」を対象部署に設定する。つぎに、特定部802が、ロール情報DB220の中から、対象部署の部署名「I課」が部署名フィールドに設定されているロール情報1800−9を取得する。そして、特定部802が、取得したロール情報1800−9のサービス名フィールドに設定されているサービス名「S9」を特定する。
これにより、所属部署「D部」の子ロール「H課、I課」の所属者が利用可能なサービスS8,S9のサービス名「S8,S9」を特定することができる。すなわち、実施の形態3では、所属部署の階層の上位階層だけでなく、所属部署の下位階層の関連する他部署の所属者が利用可能なサービスを特定することができる。
(ポータル画面の画面例)
つぎに、実施の形態3にかかるポータル画面の画面例について説明する。図19は、ポータル画面の画面例を示す説明図(その2)である。図19において、ポータル画面1900は、部署「D部」に所属している利用者が利用可能なサービスに関するコンテンツを表示する画面例である。
ポータル画面1900において、カーソルcsを移動させて、ボタンB1〜B5のいずれかのボタンをクリックすることにより、各ボタンに対応するロール(部署)に所属している所属者が利用可能なサービスを表示することができる。
図19の例では、ポータル画面1900において、ボタンB4がクリックされた結果、子ロール1「H課」の所属者が利用可能なサービスS8に関するコンテンツC1が表示されている。子ロール1は、部署「D部」の子ロールである。
また、ポータル画面1900において、ボタンB1をクリックすると、所属ロール「D部」の所属者が利用可能なサービスS4に関するコンテンツが表示される。また、ポータル画面1900において、ボタンB2をクリックすると、親ロール1「B事業部」の所属者が利用可能なサービスS2に関するコンテンツが表示される。親ロール1は、所属部署「D部」の親ロールである。
また、ポータル画面1900において、ボタンB3をクリックすると、親ロール2「A会社」の所属者が利用可能なサービスS1に関するコンテンツが表示される。親ロール2は、所属部署「D部」の親ロール「B事業部」の親ロールである。また、ポータル画面1900において、ボタンB5をクリックすると、子ロール2「I課」の所属者が利用可能なサービスS9に関するコンテンツが表示される。子ロール2は、所属ロール「D部」の子ロールである。
ポータル画面1900によれば、部署「D部」に所属している利用者は、所属部署である部署「D部」と、部署「D部」の上位組織である部署「B事業部、A会社」と、部署「D部」の下位組織である部署「H課、I課」で利用可能なサービスS1,S2,S4,S8,S9に関するコンテンツを参照することができる。
(ロール情報DB220の更新例)
つぎに、図20〜図23を用いて、組織構造400の組織変更が行われた場合のロール情報DB220の記憶内容の更新例について説明する。
図20は、実施の形態3にかかるロール情報DB220の記憶内容の更新例を示す説明図(その1)である。図20に示す例は、部署「D部」の下位組織であった部署「H課」が、部署「G部」の下位組織に移動した場合の例である。
更新部806は、部署「D部」の下位組織であった部署「H課」が部署「G部」の下位組織に移動したことを表す組織変更通知を受け付けた場合、ロール情報DB220の中から、部署名フィールドに部署名「H課」が設定されているロール情報1800−8を取得する。そして、更新部806は、取得したロール情報1800−8の親ロールフィールドに部署名「G部」を設定する。
この際、部署「H課」が部署「G部」の下位組織に移動した結果、部署「H課」に子ロールが存在する場合は、ロール情報1800−8の子ロールフィールドに部署名を設定する。図20の例では、子ロールが存在しないため、ロール情報1800−8の子ロールフィールドは「なし」のままである。
また、更新部806は、ロール情報DB220の中から、部署名フィールドに部署名「G部」が設定されているロール情報1800−7を取得する。そして、更新部806は、取得したロール情報1800−7の子ロールフィールドに部署名「H課」を追加する。
また、更新部806は、ロール情報DB220の中から、部署名フィールドに部署名「D部」が設定されているロール情報1800−4を取得する。そして、更新部806は、取得したロール情報1800−4の子ロールフィールドに設定されている部署名「H課」を削除する。
これにより、企業内の部署の移動にともなって、親ロールおよび子ロールが変化したロール情報を更新することができる。
図21は、実施の形態3にかかるロール情報DB220の記憶内容の更新例を示す説明図(その2)である。図21に示す例は、部署「D部」が消滅した場合の例である。なお、部署「D部」の消滅にともなって、部署「D部」の下位組織であった部署「H課」および部署「I課」も消滅する。
更新部806は、部署「B事業部」の下位組織であった部署「D部」、部署「H課」および部署「I課」がなくなったことを表す組織変更通知を受け付けた場合、ロール情報DB220の中から、部署名フィールドに部署名「D部」が設定されているロール情報1800−4を削除する。また、更新部806は、ロール情報DB220の中から、部署名フィールドに部署名「H課」が設定されているロール情報1800−8を削除する。また、更新部806は、ロール情報DB220の中から、部署名フィールドに部署名「I課」が設定されているロール情報1800−9を削除する。
また、更新部806は、ロール情報DB220の中から、部署名フィールドに部署名「B事業部」が設定されているロール情報1800−2を取得する。そして、更新部806は、取得したロール情報1800−2の子ロールフィールドに設定されている部署名「D部」を削除する。
これにより、企業内の部署の消滅に合わせて、ロール情報DB220の中から消滅対象となる部署のロール情報を削除することができる。また、企業内の部署の消滅にともなって子ロールが変化したロール情報を更新することができる。
図22は、実施の形態3にかかるロール情報DB220の記憶内容の更新例を示す説明図(その3)である。図22に示す例は、部署「D部」の部署名が変更された場合の例である。ここでは、変更後の部署名を「P部」とする。
更新部806は、部署「B事業部」の下位組織であった部署「D部」の部署名が「P部」に変更されたことを表す組織変更通知を受け付けた場合、ロール情報DB220の中から、部署名フィールドに部署名「D部」が設定されているロール情報1800−4を取得する。そして、更新部806は、取得したロール情報1800−4の部署名フィールドに変更後の部署名「P部」を設定する。
これにより、企業内の部署の部署名の変更に合わせて、変更対象となる部署の部署名が部署名フィールドに設定されているロール情報を更新することができる。
また、更新部806は、ロール情報DB220の中から、親ロールフィールドに部署名「D部」が設定されているロール情報1800−8,1800−9を取得する。そして、更新部806は、取得したロール情報1800−8,1800−9の親ロールフィールドに変更後の部署名「P部」を設定する。
これにより、企業内の部署の部署名の変更に合わせて、変更対象となる部署の部署名が親ロールフィールドに設定されているロール情報を更新することができる。
また、更新部806は、ロール情報DB220の中から、子ロールフィールドに部署名「D部」が設定されているロール情報1800−2を取得する。そして、更新部806は、取得したロール情報1800−2の子ロールフィールドに設定されている部署名「D部」を部署名「P部」を変更する。
これにより、企業内の部署の部署名の変更に合わせて、変更対象となる部署の部署名が子ロールフィールドに設定されているロール情報を更新することができる。
図23は、実施の形態3にかかるロール情報DB220の記憶内容の更新例を示す説明図(その4)である。図23に示す例は、部署「D部」の下位組織として新たな部署「Q課」が追加された場合の例である。
更新部806は、部署「D部」の下位組織として新たな部署「Q課」が追加されたことを表す組織変更通知を受け付けた場合、ロール情報DB220にロール情報1800−16を新規登録する。これにより、企業内の新たな部署の追加に合わせて、新たな部署のロール情報を新規登録することができる。
また、更新部806は、ロール情報DB220の中から、部署名フィールドに部署名「D部」が設定されているロール情報1800−4を取得する。そして、更新部806は、取得したロール情報1800−4の子ロールフィールドに部署名「Q課」を追加する。これにより、企業内の新たな部署の追加に合わせて、新たな部署の親ロールのロール情報を更新することができる。
(情報提供装置101の情報提供処理手順)
つぎに、実施の形態3にかかる情報提供装置101の情報提供処理手順について説明する。
図24は、実施の形態3にかかる情報提供装置101の情報提供処理手順の一例を示すフローチャートである。図24のフローチャートにおいて、まず、情報提供装置101は、クライアント装置201から利用者のログインを受け付けたか否かを判断する(ステップS2401)。
ここで、情報提供装置101は、利用者のログインを受け付けるのを待つ(ステップS2401:No)。そして、情報提供装置101は、利用者のログインを受け付けた場合(ステップS2401:Yes)、利用者情報DB210の中から利用者の利用者情報を取得する(ステップS2402)。
つぎに、情報提供装置101は、取得した利用者情報の部署名フィールドに設定されている部署名を選択する(ステップS2403)。そして、情報提供装置101は、ロール情報DB220の中から、選択した部署名が部署名フィールドに設定されているロール情報を取得する(ステップS2404)。
つぎに、情報提供装置101は、取得したロール情報のサービス名フィールドに設定されているサービス名を特定する(ステップS2405)。そして、情報提供装置101は、特定したサービス名をサービス一覧900に登録する(ステップS2406)。つぎに、情報提供装置101は、取得したロール情報を参照することにより、親ロールが存在するか否かを判定する(ステップS2407)。
ここで、親ロールが存在しない場合(ステップS2407:No)、情報提供装置101は、ステップS2409に移行する。一方、親ロールが存在する場合(ステップS2407:Yes)、情報提供装置101は、第1の登録処理を実行する(ステップS2408)。なお、第1の登録処理の具体的な処理手順については、図25を用いて説明する。
そして、情報提供装置101は、取得したロール情報を参照することにより、子ロールが存在するか否かを判定する(ステップS2409)。ここで、子ロールが存在しない場合(ステップS2409:No)、情報提供装置101は、ステップS2411に移行する。一方、子ロールが存在する場合(ステップS2407:Yes)、情報提供装置101は、第2の登録処理を実行する(ステップS2410)。なお、第2の登録処理の具体的な処理手順については、図26を用いて説明する。
そして、情報提供装置101は、取得した利用者情報の部署名フィールドに設定されている未選択の部署名があるか否かを判断する(ステップS2411)。ここで、未選択の部署名がある場合(ステップS2411:Yes)、情報提供装置101は、ステップS2403に戻って、取得した利用者情報の部署名フィールドに設定されている未選択の部署名を選択する(ステップS2403)。
一方、未選択の部署名がない場合(ステップS2411:No)、情報提供装置101は、サービス一覧900を参照して、利用者が利用可能なサービスに関するコンテンツを表示するポータル画面の画面情報を作成する(ステップS2412)。そして、情報提供装置101は、作成したポータル画面の画面情報をクライアント装置201に出力して(ステップS2413)、本フローチャートによる一連の処理を終了する。
これにより、利用者のログインを受け付けた場合に、利用者が利用可能なサービスに関するコンテンツを表示するポータル画面の画面情報をクライアント装置201に提供することができる。
つぎに、図24に示したステップS2408の第1の登録処理の具体的な処理手順について説明する。
図25は、第1の登録処理の具体的処理手順の一例を示すフローチャートである。図25のフローチャートにおいて、まず、情報提供装置101は、取得したロール情報の親ロールフィールドに設定されている親ロールの部署名を選択する(ステップS2501)。そして、情報提供装置101は、ロール情報DB220の中から、選択した親ロールの部署名が部署名フィールドに設定されているロール情報を取得する(ステップS2502)。
つぎに、情報提供装置101は、取得したロール情報のサービス名フィールドに設定されているサービス名を特定する(ステップS2503)。そして、情報提供装置101は、特定したサービス名をサービス一覧900に登録する(ステップS2504)。つぎに、情報提供装置101は、取得したロール情報を参照することにより、親ロールが存在するか否かを判定する(ステップS2505)。
ここで、親ロールが存在しない場合(ステップS2505:No)、情報提供装置101は、ステップS2507に移行する。一方、親ロールが存在する場合(ステップS2505:Yes)、情報提供装置101は、第1の登録処理を実行する(ステップS2506)。
そして、情報提供装置101は、ロール情報の親ロールフィールドに設定されている未選択の親ロールの部署名があるか否かを判断する(ステップS2507)。ここで、未選択の親ロールの部署名がある場合(ステップS2507:Yes)、情報提供装置101は、ステップS2501に戻って、ロール情報の親ロールフィールドに設定されている未選択の親ロールの部署名を選択する(ステップS2501)。
一方、未選択の親ロールの部署名がない場合(ステップS2507:No)、情報提供装置101は、本フローチャートによる一連の処理を終了して第1の登録処理を呼び出したステップへ戻る。
これにより、利用可能なサービスの特定対象となる対象部署の親ロールがなくなるまで、親ロールが表す部署の所属者が利用可能なサービスを再帰的に特定することができる。
つぎに、図24に示したステップS2410の第2の登録処理の具体的な処理手順について説明する。
図26は、第2の登録処理の具体的処理手順の一例を示すフローチャートである。図26のフローチャートにおいて、まず、情報提供装置101は、取得したロール情報の子ロールフィールドに設定されている子ロールの部署名を選択する(ステップS2601)。そして、情報提供装置101は、ロール情報DB220の中から、選択した子ロールの部署名が部署名フィールドに設定されているロール情報を取得する(ステップS2602)。
つぎに、情報提供装置101は、取得したロール情報のサービス名フィールドに設定されているサービス名を特定する(ステップS2603)。そして、情報提供装置101は、特定したサービス名をサービス一覧900に登録する(ステップS2604)。つぎに、情報提供装置101は、取得したロール情報を参照することにより、子ロールが存在するか否かを判定する(ステップS2605)。
ここで、子ロールが存在しない場合(ステップS2605:No)、情報提供装置101は、ステップS2607に移行する。一方、子ロールが存在する場合(ステップS2605:Yes)、情報提供装置101は、第2の登録処理を実行する(ステップS2606)。
そして、情報提供装置101は、ロール情報の子ロールフィールドに設定されている未選択の子ロールの部署名があるか否かを判断する(ステップS2607)。ここで、未選択の子ロールの部署名がある場合(ステップS2607:Yes)、情報提供装置101は、ステップS2601に戻って、ロール情報の子ロールフィールドに設定されている未選択の子ロールの部署名を選択する(ステップS2601)。
一方、未選択の子ロールの部署名がない場合(ステップS2607:No)、情報提供装置101は、本フローチャートによる一連の処理を終了して第2の登録処理を呼び出したステップへ戻る。
これにより、利用可能なサービスの特定対象となる対象部署の子ロールがなくなるまで、子ロールが表す部署の所属者が利用可能なサービスを再帰的に特定することができる。
実施の形態3にかかる情報提供装置101によれば、ロール情報DB220を参照して、利用者の所属部署を対象部署として、対象部署の所属者が利用可能なサービスのサービス名を特定することができる。また、情報提供装置101によれば、対象部署に親ロールが存在する場合は、親ロールを対象部署として、対象部署の所属者が利用可能なサービスのサービス名を特定することができる。また、情報提供装置101によれば、対象部署に子ロールが存在する場合は、子ロールを対象部署として、対象部署の所属者が利用可能なサービスのサービス名を特定することができる。
これにより、所属部署から最上位部署までの各部署の所属者が利用可能なサービスおよび所属部署から最下位部署までの各部署の所属者が利用可能なサービスを、利用者が利用可能なサービスとして特定することができる。
また、情報提供装置101によれば、組織の組織構造の変更が行われた結果、組織構造の変更内容を表す変更通知を受け付けた場合、変更通知に基づいて、ロール情報DB220の記憶内容を更新することができる。これにより、組織構造の変更にともなうロール情報の変更にかかる作業者の作業負荷を削減することができる。
また、情報提供装置101によれば、組織の組織構造の変更が行われた結果、組織構造の変更内容を表す変更通知を受け付けた場合、変更通知に基づいて、利用者情報DB210の記憶内容を更新することができる。これにより、組織構造の変更にともなう利用者情報の変更にかかる作業者の作業負荷を削減することができる。
これらのことから、本実施の形態にかかる情報提供プログラム、情報提供方法および情報提供装置によれば、利用者の所属部署のみをロールとみなすことにより、組織構造の変更時における利用者情報やロール情報の変更作業にかかる作業負荷を軽減することができる。また、利用者情報やロール情報の変更作業にかかる作業時間の短縮化を図ることにより、組織構造が変更された際に利用者の所属先に応じたサービスを迅速に提供することができるようになる。
なお、本実施の形態で説明した情報提供方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報提供プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本情報提供プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
複数の部署により階層構造化された組織構造のうち利用者が所属する所属部署を表す利用者情報を取得し、
前記複数の部署の各々の部署に所属する所属者が利用可能なサービスの情報と、前記組織構造のうち前記各々の部署の階層に隣接する隣接階層の他部署の情報とを対応付けて記憶する記憶部の記憶内容を参照して、取得した前記利用者情報が表す前記所属部署の所属者が利用可能な第1のサービスの情報を特定し、
前記記憶部の記憶内容を参照して、前記所属部署の階層に隣接する隣接階層の他部署の所属者が利用可能な第2のサービスの情報を特定し、
特定した前記第1のサービスの情報と前記第2のサービスの情報とを関連付けて出力する、
処理を実行させることを特徴とする情報提供プログラム。
(付記2)前記コンピュータに、
さらに前記隣接階層に隣接する隣接階層の他部署が存在する場合、前記記憶部の記憶内容を参照して、当該他部署の所属者が利用可能な第3のサービスの情報を特定する処理を実行させ、
前記出力する処理は、
特定した前記第1のサービスの情報と前記第2のサービスの情報と前記第3のサービスの情報とを関連付けて出力することを特徴とする付記1に記載の情報提供プログラム。
(付記3)前記コンピュータに、
前記第1のサービスの情報と前記第2のサービスの情報と前記第3のサービスの情報とに基づいて、前記利用者が利用可能なサービスに関するコンテンツを表示する画面情報を作成し、
作成した前記画面情報を出力する、
処理を実行させることを特徴とする付記2に記載の情報提供プログラム。
(付記4)前記コンピュータに、
前記組織構造の変更が行われた結果、前記組織構造の変更内容を表す変更通知を受け付けた場合、前記変更通知に基づいて、前記記憶部の記憶内容を更新する処理を実行させることを特徴とする付記1〜3のいずれか一つに記載の情報提供プログラム。
(付記5)前記コンピュータに、
前記利用者の識別情報を受け付ける処理を実行させ、
前記利用者情報を取得する処理は、
前記各々の部署と対応付けて前記各々の部署に所属する所属者の識別情報を表す利用者情報を記憶する記憶部から、受け付けた前記利用者の識別情報に対応する利用者情報を取得することを特徴とする付記1〜4のいずれか一つに記載の情報提供プログラム。
(付記6)前記記憶部は、前記各々の部署に所属する所属者が利用可能なサービスの情報と、前記組織構造のうち前記各々の部署の階層に隣接する上位階層の他部署の情報とを対応付けて記憶しており、
前記第1のサービスを特定する処理は、
前記記憶部の記憶内容を参照して、前記利用者情報が表す前記所属部署の所属者が利用可能な第1のサービスの情報を特定し、
前記第2のサービスを特定する処理は、
前記記憶部の記憶内容を参照して、前記所属部署の階層に隣接する上位階層の他部署の所属者が利用可能な第2のサービスの情報を特定することを特徴とする付記1〜5のいずれか一つに記載の情報提供プログラム。
(付記7)前記第3のサービスを特定する処理は、
さらに前記上位階層に隣接する上位階層の他部署が存在する場合、前記記憶部の記憶内容を参照して、当該他部署の所属者が利用可能な第3のサービスの情報を特定することを特徴とする付記6に記載の情報提供プログラム。
(付記8)複数の部署により階層構造化された組織構造のうち利用者が所属する所属部署を表す利用者情報を取得し、
前記複数の部署の各々の部署に所属する所属者が利用可能なサービスの情報と、前記組織構造のうち前記各々の部署の階層に隣接する隣接階層の他部署の情報とを対応付けて記憶する記憶部の記憶内容を参照して、取得した前記利用者情報が表す前記所属部署の所属者が利用可能な第1のサービスの情報を特定し、
前記記憶部の記憶内容を参照して、前記所属部署の階層に隣接する隣接階層の他部署の所属者が利用可能な第2のサービスの情報を特定し、
特定した前記第1のサービスの情報と前記第2のサービスの情報とを関連付けて出力する、
処理をコンピュータに実行させることを特徴とする情報提供プログラムを記録した前記コンピュータに読み取り可能な記録媒体。
(付記9)コンピュータが、
複数の部署により階層構造化された組織構造のうち利用者が所属する所属部署を表す利用者情報を取得し、
前記複数の部署の各々の部署に所属する所属者が利用可能なサービスの情報と、前記組織構造のうち前記各々の部署の階層に隣接する隣接階層の他部署の情報とを対応付けて記憶する記憶部の記憶内容を参照して、取得した前記利用者情報が表す前記所属部署の所属者が利用可能な第1のサービスの情報を特定し、
前記記憶部の記憶内容を参照して、前記所属部署の階層に隣接する隣接階層の他部署の所属者が利用可能な第2のサービスの情報を特定し、
特定した前記第1のサービスの情報と前記第2のサービスの情報とを関連付けて出力する、
処理を実行することを特徴とする情報提供方法。
(付記10)複数の部署により階層構造化された組織構造のうち利用者が所属する所属部署を表す利用者情報を取得する取得部と、
前記複数の部署の各々の部署に所属する所属者が利用可能なサービスの情報と、前記組織構造のうち前記各々の部署の階層に隣接する隣接階層の他部署の情報とを対応付けて記憶する記憶部と、
前記記憶部の記憶内容を参照して、前記取得部によって取得された前記利用者情報が表す前記所属部署の所属者が利用可能な第1のサービスの情報を特定する第1の特定部と、
前記記憶部の記憶内容を参照して、前記所属部署の階層に隣接する隣接階層の他部署の所属者が利用可能な第2のサービスの情報を特定する第2の特定部と、
前記第1の特定部によって特定された前記第1のサービスの情報と、前記第2の特定部によって特定された前記第2のサービスの情報とを関連付けて出力する出力部と、
を有することを特徴とする情報提供装置。