【実施例】
【0014】
まず、実施例に係る情報処理装置の構成について説明する。ここで、情報処理装置は、Web画面を閲覧するためのWebクライアントである。
図1は、実施例に係る情報処理装置の構成を示す図である。
図1に示すように、情報処理装置1は、Web画面を表示装置に表示する際にガジェット間で表示を連携させる連携部10を有する。
【0015】
連携部10は、制御を行う制御部10aと、制御に使用されるデータ等を記憶する記憶部10bとを有する。制御部10aは、クエリー実行部11と、調整箇所受付部13と、実行同期部14と、調整値決定部15と、調整値指示部16と、画面生成調整部17とを有する。記憶部10bは、実行結果一時保存部12を有する。
【0016】
クエリー実行部11は、クエリーを実行し、クエリー実行結果を実行結果一時保存部12に保存する。すなわち、クエリー実行部11は、クエリーを実行することによりデータベースからデータを取得して画面データを生成し、生成した画面データを実行結果一時保存部12に保存する。
【0017】
具体的には、クエリー実行部11は、ユーザから視点及び観点を受け付け、観点に対応する画面テンプレートを特定し、特定した画面テンプレートに含まれるガジェットを実行してデータベースからデータを取得する。
【0018】
ここで、視点とは、注目するエンティティ(実体)を意味し、例えば、企業名、人名、技術用語、イベントなどである。また、観点とは、エンティティをどのように見るかを示すものであり、1つのエンティティに対して様々な観点がある。例えば、調達では、発注者や受注者などが観点であり、製品情報では、製造者などが観点である。また、画面テンプレートとは、画面上のグラフや地図の位置と、グラフや地図を表示するガジェットを定義する情報である。
【0019】
クエリー実行部11は、視点で指定されたエンティティに関するデータベースを観点で指定された点に基づいて検索してデータを取得する。データベースの検索のための検索式はガジェットに対応付けられて定義される。例えば、組織名「X」を視点とし、調達について「受注組織」を観点とし、「発注者別受注高の検索」を検索式で指定すると、クエリー実行部11は、組織名「X」の調達に関するデータベースを「受注組織」の観点から検索して発注者別受注高のデータを取得する。なお、クエリー実行部11は、データベースの検索については、ネットワークを介して、データベースを記憶する情報処理装置に依頼する。
【0020】
実行結果一時保存部12は、クエリー実行部11が生成した画面データを記憶する。調整箇所受付部13は、ガジェット間で調整が必要な項目を指定する調整箇所指定をユーザから受け付け、XML(Extensible Markup Language)形式で記憶部に保存する。なお、調整箇所受付部13は、XML形式の代わりにJSON(JavaScript(登録商標) Object Notation)形式を用いてもよい。
【0021】
図2は、調整箇所受付部13が受け付ける調整箇所指定の一例を示す図である。
図2に示すように、調整箇所受付部13が受け付ける調整箇所指定には、調整IDと、調整名と、調整ガジェットと、調整項目とが含まれる。
【0022】
調整IDは、調整箇所指定を識別する識別子であり、調整名は、調整箇所指定の名前である。調整IDは機械が処理するためのものであり、調整名は人が調整内容を判断するためのものである。調整ガジェットは、調整が行われるガジェットであり、調整項目は、円グラフの各部分の色、グラフの軸の値範囲など調整が必要な対象である。
【0023】
図2に示す例では、調整箇所指定の識別子が「調整001」であり、調整箇所指定の名前が「PieChartの会社色調整」であり、調整が行われるガジェットは「Gadget001」、「Gadget010」、「Gadget002」であり、調整が必要な対象は、「PieChart.color」すなわち円グラフの色である。調整項目は、同一種類のものだけでなく、「PieChart.color」、「BubbleChart.color」(バブルチャートの色)のように複数の種類に関わる場合もある。
【0024】
実行同期部14は、クエリー実行を同期する。すなわち、実行同期部14は、調整箇所指定で指定された複数のガジェットの実行結果が得られたかどうかをチェックして複数のガジェットの実行を同期する。
【0025】
具体的には、実行同期部14は、実行結果一時保存部12に実行結果が格納されたかを確認することによりチェックを行う。なお、実行同期部14は、ガジェットから検索実行が終了したかの通知を受けることにより、ガジェットの実行結果が得られたかどうかをチェックしてもよい。いずれにしても、実行同期部14は、必要な調整に対して、調整するガジェットの検索が終了したかを確認し、調整する検索のすべてが終了するのを待つ。
【0026】
なお、ユーザは、インタラクティブにガジェットを切り替えたり、追加したりすることもあり、調整するガジェットのすべてがアクティブであるとは限らない。実行同期部14は、実行終了、実行中以外に非アクティブ状態を設けることで、非アクティブでないガジェットに対してのみ実行終了を判断して同期する。
【0027】
図3は、ガジェットのインタラクティブ切り替えの一例を示す図である。
図3では、ガジェットによる「発注元割合」、「受注高推移」、「関連企業を受注割合」などの表示中に、ガジェットに対応する検索式の一覧が表示されている。
図3の右上欄において、「組織図」、「子会社の資本金forceGraph」、...、「関連企業の発注元別受注割合」は、検索式を識別する識別子である。ユーザは、検索式を選択することによりインタラクティブにガジェットのアクティブ、非アクティブを切り替えることができる。
【0028】
調整値決定部15は、調整箇所受付部13により受け付けられた調整箇所指定に基づいて、調整される色の決定、調整されるスケール(軸の値の範囲)の決定を行う。なお、調整値決定部15は、地図の縮尺の調整を行って縮尺を決定してもよい。
図4は、調整値決定部15が2つのガジェット間で行う色の調整を説明するための図である。
【0029】
図4(a)は、第1のガジェットの検索結果を示す。
図4(a)では、項目Aの値が10であり、項目Bの値が9であり、項目Cの値が8であり、項目Dの値が7である。
図4(b)は、第2のガジェットの検索結果を示す。
図4(b)では、項目Bの値が7であり、項目Eの値が5であり、項目Aの値が3であり、項目Fの値が1である。
【0030】
調整値決定部15は、2つのガジェット間で同一の項目を突き合わせることで項目の色を調整する。
図4(c)は、2つのガジェットの検索結果をマージした結果を示す。
図4(c)に示すように、調整値決定部15は、第1のガジェットの検索結果に第2のガジェットの検索結果をマージすることにより、2つのガジェット間で同一項目を突き合わせる。
【0031】
そして、調整値決定部15は、
図4(d)に示すように、マージした項目の出現順に項目に色を割り当てる。
図4(d)では、項目Aに「color1」が割り当てられ、項目Bに「color2」が割り当てられ、項目Cに「color3」が割り当てられ、項目Dに「color4」が割り当てられ、項目Eに「color5」が割り当てられ、項目Fに「color6」が割り当てられている。
【0032】
なお、調整値決定部15は、ハッシュコードを用いて色の調整を行ってもよい。例えば、調整値決定部15は、第1のガジェットの検索結果に対しては
A 10 color.hash(A)
B 9 color.hash(B)
のように色を割り当てる。ここで、color.hash(A)は、Aのハッシュコードに対応する色を示す。
【0033】
また、調整値決定部15は、第2のガジェットに対しては
B 7 color.hash(B)
E 5 color.hash(E)
のように色を割り当てる。
【0034】
色は、例えばRGBそれぞれの値を16進数で00〜FFで表わすとすると、16進数で000000からFFFFFFのどれかの値で決定されるので、ハッシュ値はこの範囲の値になるようにする。また、白や黒を避けるならば色範囲に条件を加えてもよい。また、あらかじめ何色か(例えば32色)の色を決めておいて、どれかの色に割り当てるようにしてもよい。
【0035】
調整値指示部16は、調整値決定部15によって、調整された色、調整されたスケール、調整された地図の縮尺などをガジェットに指示する。例えば、調整値決定部15によって色が調整された場合には、調整値指示部16は、決定された色をガジェットに指示することによって、グラフを描画するグラフ描画部に指示する。
図5は、ガジェットへの色の指示の一例を示す図である。
図5は、
図4に示すように色が割り当てられた場合に、調整値指示部16がガジェットに指示する色を示す。
【0036】
図5に示すように、調整値指示部16は、第1のガジェットに対しては、項目Aの色を「color1」に指示し、項目Bの色を「color2」に指示し、項目Cの色を「color3」に指示し、項目Dの色を「color4」に指示する。また、調整値指示部16は、第2のガジェットに対しては、項目Bの色を「color2」に指示し、項目Eの色を「color5」に指示し、項目Aの色を「color1」に指示し、項目Fの色を「color6」に指示する。
【0037】
また、グラフ描画部がデフォルトの色順序を有する場合には、調整値指示部16は、ガジェットに順序を指示する。調整値指示部16は、複数のガジェットでの項目の出現順序を同一にして、値のない項目については未定義値を埋め込む。調整値指示部16は、未定義値として例えば0を用いる。
【0038】
図6は、グラフ描画部がデフォルトの色順序を有する場合に、調整値指示部16がガジェットに指示する順序の一例を示す図である。
図6に示すように、調整値指示部16は、2つのガジェット間で項目A〜Fの出願順序を同一にし、第1のガジェットに対しては、項目Eと項目Fに未定義値を埋め込み、第2のガジェットに対しては、項目Cと項目Dに未定義値を埋め込む。
【0039】
また、ハッシュコードで色が決められた場合には、調整値指示部16は、ガジェットにハッシュコードで決められた色を指示する。
【0040】
画面生成調整部17は、調整値指示部16による指示に基づいて、グラフ表現、地図の表示などの画面のデータを調整する。
【0041】
次に、連携部10によるガジェット間表示連携処理のフローについて説明する。
図7は、連携部10によるガジェット間表示連携処理のフローを示すフローチャートである。
図7に示すように、クエリー実行部11が、クエリーを実行し(ステップS1)、実行結果一時保存部12にクエリー実行結果を一時保存する(ステップS2)。
【0042】
そして、実行同期部14は、クエリー実行を同期し(ステップS3)、同期がとれると、調整値決定部15が、調整箇所受付部13が受け付けた調整箇所指定に基づいて、調整値を決定する(ステップS4)。
【0043】
そして、調整値指示部16が、調整が行われる複数のガジェットに対して値の調整を指示し(ステップS5)、画面生成調整部17が、調整値指示部16による指示に基づいて、画面を生成するデータの調整を行う(ステップS6)。
【0044】
このように、調整値決定部15が決定した値に基づいて、調整値指示部16が複数のガジェットに対して値の調整を指示することによって、連携部10はガジェット間表示の連携を行うことができる。
【0045】
次に、クエリー実行部11によるクエリー実行処理のフローについて説明する。
図8は、クエリー実行部11によるクエリー実行処理のフローを示すフローチャートである。
図8に示すように、クエリー実行部11は、ユーザから視点と観点を受け付ける(ステップS11〜ステップS12)。
【0046】
そして、クエリー実行部11は、観点に対応付けられた画面テンプレートを決定し(ステップS13)、画面テンプレートに含まれる複数のガジェットを決定する(ステップS14)。
【0047】
そして、クエリー実行部11は、各ガジェットについて、クエリーすなわち検索式を獲得し(ステップS15)、獲得したクエリーを実行して(ステップS16)、ガジェット画面データを生成する(ステップS17)。なお、クエリー実行部11は、ステップS15〜ステップS17の処理をガジェットの数だけ繰り返す。そして、クエリー実行部11は、ページ画面データを生成し(ステップS18)、実行結果一時保存部12に保存する。
【0048】
このように、クエリー実行部11は、観点に対応付けられた画面テンプレートに含まれる複数のガジェットを実行することによって、表示装置に表示される画面の画面データを生成することができる。
【0049】
次に、調整値決定部15による調整値決定処理のフローについて説明する。
図9は、調整値決定部15による調整値決定処理のフローを示すフローチャートである。なお、
図9は、円グラフの項目の色を調整する場合のフローを示す。
【0050】
図9に示すように、調整値決定部15は、調整の対象となるガジェットの実行結果をすべて読み込んだか否かを判定し(ステップS21)、すべて読み込んだ場合には、処理を終了する。
【0051】
一方、調整の対象となるガジェットの実行結果で読み込んでないものがある場合には、調整値決定部15は、対象となるガジェットがアクティブであるか否かを判定し(ステップS22)、アクティブでない場合には、このガジェットによる表示は行われないため、ステップS21に戻る。
【0052】
一方、対象となるガジェットがアクティブである場合には、調整値決定部15は、ガジェットの実行結果を読み込み(ステップS23)、読み込んだ実行結果をマージリストに追加する処理を行うマージリスト追加処理を実行する(ステップS24)。そして、調整値決定部15は、ステップS21に戻る。
【0053】
図10は、マージリスト追加処理のフローを示すフローチャートである。
図10に示すように、マージリスト追加処理では、調整値決定部15は、マージリストにカラムを追加し(ステップS31)、マージする行がまだあるか否かを判定する(ステップS32)。
【0054】
そして、調整値決定部15は、マージする行がない場合には、処理を終了し、マージする行がまだある場合には、マージする項目が既に出現したか否かを判定する(ステップS33)。
【0055】
そして、調整値決定部15は、マージする項目がまだ出現していない場合には、行を追加して項目を設定する(ステップS34)。そして、調整値決定部15は、新カラムに値を追加し(ステップS35)、ステップS32に戻る。
【0056】
このように、調整値決定部15は、ガジェットの実行結果をマージすることにより、ガジェット間で同一の項目を突き合わせることができる。
【0057】
次に、ハッシュコードを用いた調整値決定処理のフローについて説明する。
図11は、ハッシュコードを用いた調整値決定処理のフローを示すフローチャートである。なお、
図11は、円グラフの項目の色を調整する場合のフローを示す。
【0058】
図11に示すように、調整値決定部15は、調整の対象となるガジェットの実行結果をすべて読み込んだか否かを判定し(ステップS41)、すべて読み込んだ場合には、処理を終了する。
【0059】
一方、調整の対象となるガジェットの実行結果で読み込んでないものがある場合には、調整値決定部15は、対象となるガジェットがアクティブであるか否かを判定し(ステップS42)、アクティブでない場合には、このガジェットによる表示は行われないため、ステップS41に戻る。
【0060】
一方、対象となるガジェットがアクティブである場合には、調整値決定部15は、ガジェットの実行結果を読み込み(ステップS43)、読み込んだ実行結果に含まれる項目の色をハッシュコードで決定するハッシュコード色決定処理を実行する(ステップS44)。そして、調整値決定部15は、ステップS41に戻る。
【0061】
図12は、ハッシュコード色決定処理のフローを示すフローチャートである。
図12に示すように、ハッシュコード色決定処理では、調整値決定部15は、読み込んだ実行結果に行がまだあるか否かを判定する(ステップS51)。
【0062】
そして、調整値決定部15は、読み込んだ実行結果に行がない場合には、処理を終了し、読み込んだ実行結果に行がまだある場合には、項目からハッシュ値を求める(ステップS52)。
【0063】
そして、調整値決定部15は、求めたハッシュ値が出現済のハッシュ値であるか否かを判定し(ステップS53)、出現済のハッシュ値である場合には、項目は同じものか否かを判定する(ステップS54)。そして、項目は同じものでない場合には、ハッシュ値がぶつかった場合であるので、調整値決定部15は、リハッシュし(ステップS56)、ステップS53に戻る。
【0064】
一方、項目は同じものである場合には、調整値決定部15は、ハッシュ値から色を決め(ステップS55)、ステップS51に戻る。また、ハッシュ値が出現済のハッシュ値でない場合にも、調整値決定部15は、ハッシュ値から色を決め(ステップS55)、ステップS51に戻る。
【0065】
このように、調整値決定部15は、項目からハッシュ値を求め、求めたハッシュ値から色を決めることにより、ガジェット間で項目の色を統一することができる。
【0066】
上述してきたように、実施例では、クエリー実行部11が画面を形成する複数のガジェットを実行してデータベースを検索し、検索結果を実行結果一時保存部12に格納する。そして、調整値決定部15が検索結果を実行結果一時保存部12から読み出して、ガジェット間で調整が必要な項目の色、グラフのスケール、地図の縮尺などを調整する。そして、調整値指示部16が、ガジェットに調整値を指示し、画面生成調整部17が調整値に基づいてグラフ、地図などの画面を調整する。したがって、連携部10は、ガジェット間で表示を連携させることができる。
【0067】
なお、実施例では、連携部10について説明したが、連携部10が有する構成をソフトウェアによって実現することで、同様の機能を有するガジェット間表示連携プログラムを得ることができる。そこで、ガジェット間表示連携プログラムを実行するコンピュータについて説明する。
【0068】
図13は、実施例に係るガジェット間表示連携プログラムを実行するコンピュータ3の構成を示す機能ブロック図である。
図13に示すように、コンピュータ3は、メインメモリ31と、CPU(Central Processing Unit)32と、LAN(Local Area Network)インタフェース33と、HDD(Hard Disk Drive)34とを有する。また、コンピュータ3は、スーパーIO(Input Output)35と、DVI(Digital Visual Interface)36と、ODD(Optical Disk Drive)37とを有する。
【0069】
メインメモリ31は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU32は、メインメモリ31からプログラムを読み出して実行する中央処理装置である。CPU32は、メモリコントローラを有するチップセットを含む。
【0070】
LANインタフェース33は、コンピュータ3をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD34は、プログラムやデータを格納するディスク装置であり、スーパーIO35は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。DVI36は、液晶表示装置を接続するインタフェースであり、ODD37は、DVDの読み書きを行う装置である。液晶表示装置には、ガジェト間の表示連携が行われた画面が表示される。
【0071】
LANインタフェース33は、PCIエクスプレスによりCPU32に接続され、HDD34及びODD37は、SATA(Serial Advanced Technology Attachment)によりCPU32に接続される。スーパーIO35は、LPC(Low Pin Count)によりCPU32に接続される。
【0072】
そして、コンピュータ3において実行されるガジェット間表示連携プログラムは、DVDに記憶され、ODD37によってDVDから読み出されてコンピュータ3にインストールされる。あるいは、ガジェット間表示連携プログラムは、LANインタフェース33を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ3にインストールされる。そして、インストールされたガジェット間表示連携プログラムは、HDD34に記憶され、メインメモリ31に読み出されてCPU32によって実行される。
【0073】
また、実施例では、ガジェットが画面にグラフ等を表示する場合について説明したが、本発明はこれに限定されるものではなく、例えばガジェットが紙に出力する場合など他の出力で、複数のガジェット間で表示・印刷などの出力を連携する場合にも同様に適用することができる。
【0074】
また、実施例では、1つの画面上の複数のガジェット間で表示を連携する場合について説明したが、本発明はこれに限定されるものではなく、異なる画面上の複数のガジェット間で表示を連携する場合にも同様に適用することができる。
【0075】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0076】
(付記1)第1の検索処理が割り当てられた第1のガジェットと、第2の検索処理が割り当てられた第2のガジェットとのそれぞれにより、第1の検索処理結果と、第2の検索処理結果とを取得し、
取得した前記第1の検索処理結果と前記第2の検索処理結果のうち、前記第1のガジェットと前記第2のガジェットとの間で表示態様を共通化する対象について、前記第1のガジェットに対応する表示と前記第2のガジェットに対応する表示において、共通化された表示態様を適用する、
ことを特徴とするガジェット間表示連携方法。
【0077】
(付記2)前記第1のガジェットに対応する表示領域と前記第2のガジェットに対応する表示領域は、同じ表示画面に含まれる、ことを特徴とする付記1記載のガジェット間表示連携方法。
【0078】
(付記3)前記第1のガジェットに対応する表示領域と前記第2のガジェットに対応する表示領域は、行方向又は列方向に並ぶ、ことを特徴とする付記1記載のガジェット間表示連携方法。
【0079】
(付記4)前記表示態様を共通化する対象は、グラフの表示要素であり、共通化される前記表示態様は、前記表示要素の表示色である、ことを特徴とする付記1記載のガジェット間表示連携方法。
【0080】
(付記5)前記表示態様を共通化する対象は、グラフの表示要素であり、共通化される前記表示態様は、前記グラフのスケールである、ことを特徴とする付記1記載のガジェット間表示連携方法。
【0081】
(付記6)第1の検索処理が割り当てられた第1のガジェットと、第2の検索処理が割り当てられた第2のガジェットとのそれぞれにより、第1の検索処理結果と、第2の検索処理結果とを取得し、
取得した前記第1の検索処理結果と前記第2の検索処理結果のうち、前記第1のガジェットと前記第2のガジェットとの間で表示態様を共通化する対象について、前記第1のガジェットに対応する表示と前記第2のガジェットに対応する表示において、共通化された表示態様を適用する、
処理をコンピュータに実行させることを特徴とするガジェット間表示連携プログラム。
【0082】
(付記7)第1の検索処理が割り当てられた第1のガジェットと、第2の検索処理が割り当てられた第2のガジェットとのそれぞれにより、第1の検索処理結果と、第2の検索処理結果とを取得する取得部と、
前記取得部により取得された前記第1の検索処理結果と前記第2の検索処理結果のうち、前記第1のガジェットと前記第2のガジェットとの間で表示態様を共通化する対象について、前記第1のガジェットに対応する表示と前記第2のガジェットに対応する表示において、共通化された表示態様を適用する適用部と、
を備えることを特徴とする情報処理装置。
【0083】
(付記8)メモリと該メモリに接続されたプロセッサとを備える情報処理装置において、
前記プロセッサは、
第1の検索処理が割り当てられた第1のガジェットと、第2の検索処理が割り当てられた第2のガジェットとのそれぞれにより、第1の検索処理結果と、第2の検索処理結果とを取得し、
取得した前記第1の検索処理結果と前記第2の検索処理結果のうち、前記第1のガジェットと前記第2のガジェットとの間で表示態様を共通化する対象について、前記第1のガジェットに対応する表示と前記第2のガジェットに対応する表示において、共通化された表示態様を適用する、
処理を実行することを特徴とする情報処理装置。
【0084】
(付記9)第1の検索処理が割り当てられた第1のガジェットと、第2の検索処理が割り当てられた第2のガジェットとのそれぞれにより、第1の検索処理結果と、第2の検索処理結果とを取得し、
取得した前記第1の検索処理結果と前記第2の検索処理結果のうち、前記第1のガジェットと前記第2のガジェットとの間で表示態様を共通化する対象について、前記第1のガジェットに対応する表示と前記第2のガジェットに対応する表示において、共通化された表示態様を適用する、
処理をコンピュータに実行させるガジェット間表示連携プログラムを記憶したコンピュータ読取可能記憶媒体。