JP5476802B2 - Webアプリケーション融合装置及びWebアプリケーション融合プログラム - Google Patents

Webアプリケーション融合装置及びWebアプリケーション融合プログラム Download PDF

Info

Publication number
JP5476802B2
JP5476802B2 JP2009135030A JP2009135030A JP5476802B2 JP 5476802 B2 JP5476802 B2 JP 5476802B2 JP 2009135030 A JP2009135030 A JP 2009135030A JP 2009135030 A JP2009135030 A JP 2009135030A JP 5476802 B2 JP5476802 B2 JP 5476802B2
Authority
JP
Japan
Prior art keywords
gadget
web application
accessed
source code
recording
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.)
Expired - Fee Related
Application number
JP2009135030A
Other languages
English (en)
Other versions
JP2010282409A (ja
Inventor
憲二 大木
昭彦 松尾
智裕 大嶽
敏裕 小高
マシュー・フォルケンハーゲン
暁生 下野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009135030A priority Critical patent/JP5476802B2/ja
Publication of JP2010282409A publication Critical patent/JP2010282409A/ja
Application granted granted Critical
Publication of JP5476802B2 publication Critical patent/JP5476802B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、Webアプリケーション融合装置及びWebアプリケーション融合プログラムに係り、特に連携を行うWebアプリケーションを融合するWebアプリケーション融合装置及びWebアプリケーション融合プログラムに関する。
近年、Webサイト上に複数のガジェットを配置するサイトやポータルは、増加傾向にある。ガジェットとは、アプリケーションソフト(以下、アプリケーションという)やデスクトップ上で動作するミニアプリケーションである。ガジェットのうち、Webブラウザによる閲覧を想定してWebサイト上に置いたものはWebガジェットと呼ばれる。
Webガジェットの記述方法は主に2種類存在する。1つのWebガジェットの記述方法はHTML(HyperText Markup Language)やJavaScriptなどをWebブラウザがそのまま表示可能な形式で記述する方法である。もう1つのWebガジェットの記述方法は、あらかじめベンダなどによって定められたスキーマに従ってXML(Extensible Markup Language)などを用いて記述する方法である。
後者のWebガジェットの記述方法の場合は、中継サーバによってWebブラウザ(以下、単にブラウザという)が表示可能な形式に変換される。以下では、何れのWebガジェットの記述方法の場合にせよ最終的にブラウザが表示可能なHTML、JavaScriptに変換された状態のものをWebガジェット(以下、単にガジェットという)であるとみなす。
ガジェットは、それ自体が独立した1つのアプリケーションであるが、他のガジェットとの間で通信を行い、データをやり取りして連携すること(マッシュアップ)により価値が付加されることもある。ガジェットの使い方は、利用者によって異なる。
例えば、ある利用者が複数のガジェットを単体で用いずに、常に連携して用いている場合は、別々のガジェットに分かれているものを、1つのガジェットに融合できると利便性が向上する。従来、別々のガジェットに分かれているものを、1つのガジェットに融合する場合はCajaと呼ばれるツールが利用されていた。Cajaは、複数のガジェットを同じコンテキスト上に表示することが可能な仕組みを持つツールである(非特許文献1参照)。
"***-caja"、[online]、[平成21年3月26日検索]、インターネット<URL:http://code.***.com/p/***-caja/>
ガジェットを融合する際には、ガジェットが単体のときに使われていた機能が使われなくなることがある。したがって、ガジェットを融合する際には、使われなくなる機能を無効としたい。
しかし、Cajaは別々のガジェットに分かれているものを、1つのガジェットに融合する場合、一部コードを書き換えることによってセキュリティや名前空間などの問題を解決しているが、機能的側面において素朴にソースをつなぎ合わせているだけである。
このため、Cajaを利用して1つに融合したガジェットは融合によって不要になった機能(コンポーネント)が残存してしまう。また、一般に不要な機能というのは利用者によって異なる可能性がある。このように、Cajaを利用して1つに融合したガジェットは融合によって不要になった機能や利用者にとって不要な機能が残ってしまい、利用者にとって見映えが悪く、場合によっては操作性が悪くなるという問題があった。
本発明の一実施形態は上記の点に鑑みなされたもので、複数のWebアプリケーションを1つのWebアプリケーションに融合する際、見映えの良いWebアプリケーションを融合できるWebアプリケーション融合装置及びWebアプリケーション融合プログラムを提供することを目的とする。
上記課題を解決するため、本発明の一実施形態は、外部サーバよりそれぞれ取得されるソースコードに基づいて、クライアントのブラウザで実行される複数のWebアプリケーションを、1つのWebアプリケーションに融合するWebアプリケーション融合装置であって、融合対象である前記複数のWebアプリケーションの各ソースコードを外部サーバから受信したときに、該Webアプリケーション画面上でアクセスされた表示要素を前記Webアプリケーション融合装置に通知するように、該ソースコードを書き換える、ソースコード書き換え手段と、書き換えられた前記ソースコードを、前記クライアントに送信する手段と、書き換えられた前記ソースコードに基づいてクライアントのブラウザで実行された前記Webアプリケーションからの、前記アクセスされた表示要素の通知に基づいて、情報テーブルに、該アクセスされた表示要素に対応付けて、アクセスされたことを示す情報を記録する記録手段と、前記情報テーブルを参照して、前記Webアプリケーション上でアクセスされなかった表示要素を判断する判断手段と、アクセスされなかったと判断された前記表示要素を表示しないように書き換えられた前記各ソースコードを結合する結合手段と、結合されたソースコードを前記クライアントに送信する送信手段と、を有する。
なお、本発明の一実施形態の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
上述の如く、本発明の一実施形態によれば、複数のWebアプリケーションを1つのWebアプリケーションに融合する際、見映えの良いWebアプリケーションを融合できるWebアプリケーション融合装置及びWebアプリケーション融合プログラムを提供可能である。
別々のガジェットに分かれているものを1つのガジェットに融合する処理の一例のイメージ図である。 単体のときに使われていたガジェットの機能が融合により使われなくなる例を表した画面イメージ図である。 ガジェットの融合により使われなくなった機能を合成後ガジェットから無くした一例の画面イメージ図である。 本実施例の中継サーバを含むシステムの一実施例の構成図である。 中継サーバの一例のハードウェア構成図である。 融合前のガジェットの表示内容を表した一例のイメージ図である。 連携情報テーブルの一例の構成図である。 記録処理を行うためのトリガ画面の一例のイメージ図である。 融合実行情報テーブルの一例の構成図である。 中継サーバを含むシステムの処理を表した一例のフローチャートである。 ガジェットA及びBの変換後のガジェットコードを表した説明図である。 ブラウザによって表示されるガジェットA及びBのイメージ図である。 ガジェットA及びBに挿入された初期読み込み完了部及びアクセス監視部のガジェットコードを表した説明図である。 ガジェット情報テーブルの一例の構成図である。 ガジェットA及びBのアクセス監視部から通知された内容に基づいてアクセス有無の情報が更新されたガジェット情報テーブルを表した説明図である。 HTMLフォームアクセス情報の記録処理が終了した時のガジェット情報テーブルの一例の構成図である。 スタイルシート注入後の合成後ガジェットのガジェットコードを表した説明図である。 合成後ガジェットの一例のイメージ図である。 融合ガジェット情報テーブルの一例の構成図である。 中継サーバの処理を表した一例のフローチャートである。 融合した後の合成後ガジェットを使用する処理手順を表したフローチャートである。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。
図1は別々のガジェットに分かれているものを1つのガジェットに融合する処理の一例のイメージ図である。Webサイト上に配置されているガジェットA,Bは、常に連携して用いられるものとする。図1のイメージ図は、別々に分かれているガジェットA,Bを1つのガジェットA+Bに融合する例を表している。
図2は単体のときに使われていたガジェットの機能が融合により使われなくなる例を表した画面イメージ図である。従業員一覧ガジェット1及び電話番号検索ガジェット2はブラウザによって表示される。
従業員一覧ガジェット1は単体のとき、表4を表示する。電話番号検索ガジェット2は単体のとき、入力欄5に検索語を入力した後、検索ボタン6を押下して使用される。電話番号検索ガジェット2は検索結果が下段に表示されている。なお、従業員一覧ガジェット1及び電話番号検索ガジェット2は連携して用いられるとき、従業員一覧ガジェット1の表4の名前を選択すると電話番号検索ガジェット2により自動検索される。
従業員一覧ガジェット1及び電話番号検索ガジェット2を合成した合成後ガジェット3は従業員一覧ガジェット1の表4,電話番号検索ガジェット2の入力欄5,検索ボタン6を表示する。また、合成後ガジェット3は検索結果が下段に表示されている。
合成後ガジェット3では上段の表4の名前を選択すると自動検索されるため、入力欄5及び検索ボタン6が不要となる。しかし、図2の合成後ガジェット3では、融合により使われなくなった入力欄5及び検索ボタン6が残っている。本実施例は、融合により使われなくなった入力欄5及び検索ボタン6を合成後ガジェット3から無くすことで利用者の見映えを良くするものである。
図3はガジェットの融合により使われなくなった機能を合成後ガジェットから無くした一例の画面イメージ図である。本実施例では、利用者が従業員一覧ガジェット1及び電話番号検索ガジェット2を連携して実行する際、従業員一覧ガジェット1及び電話番号検索ガジェット2上のどのHTMLフォーム要素(表示要素)にアクセスしたかを表すHTMLフォームアクセス情報と、従業員一覧ガジェット1及び電話番号検索ガジェット2の中身とを中継サーバ10に通知して記録しておく。
従業員一覧ガジェット1及び電話番号検索ガジェット2の連携終了後、利用者から従業員一覧ガジェット1及び電話番号検索ガジェット2の融合要求を受けると、中継サーバ10は記録しておいたHTMLフォームアクセス情報を利用して、従業員一覧ガジェット1及び電話番号検索ガジェット2上のHTMLフォーム要素のうち、アクセスしなかったHTMLフォーム要素を抽出する。例えば図3の例では電話番号検索ガジェット2上の入力欄5及び検索ボタン6がアクセスしなかったHTMLフォーム要素として抽出される。
中継サーバ10は従業員一覧ガジェット1及び電話番号検索ガジェット2を融合して合成後ガジェット3aを作成する際、従業員一覧ガジェット1及び電話番号検索ガジェット2上のHTMLフォーム要素のうち、連携実行時にアクセス記録が無かった入力欄5及び検索ボタン6を非表示にして合成後ガジェット3aを作成する。
合成後ガジェット3aは、従業員一覧ガジェット1の表4を表示する。また、合成後ガジェット3aは検索結果が下段に表示されている。中継サーバ10は利用者のガジェット表示のリクエストを中継するとき、上記処理を行うためのスクリプトを後述するように挿入する。
以下、Webアプリケーション融合装置の一例としての中継サーバ10について説明していく。図4は本実施例の中継サーバを含むシステムの一実施例の構成図である。
図4のシステムは、外部サーバ11とクライアント12との間に、通信を中継する中継サーバ10が配置されている。外部サーバ11はガジェットA,Bを提供する。また、クライアント12はガジェットA,Bをブラウザ44上で利用する。
外部サーバ11が提供するガジェットA,Bは、それぞれ連携スクリプト41が挿入されている。また、外部サーバ11が提供するガジェットA,Bは、後述する記録処理を行うとき、中継サーバ10で初期読み込み完了部42及びアクセス監視部43が挿入されたあと、クライアント12に提供される。
中継サーバ10は、ガジェット書換部21と、ガジェット保存部22と、ガジェット記録部23と、ガジェット判断部24と、ガジェット結合部25と、融合受付部26と、ガジェット解釈部27と、ガジェット情報テーブル28と、連携情報取得部29と、連携情報テーブル30と、融合ガジェット情報テーブル31と、ガジェット格納部32と、融合実行情報テーブル33とを有する。なお、中継サーバ10が有する各部の処理については後述する。
図5は、中継サーバの一例のハードウェア構成図である。中継サーバ10は、それぞれバスBで相互に接続されている入力装置51,出力装置52,ドライブ装置53,補助記憶装置54,主記憶装置55,演算処理装置56及びインターフェース装置57を有している。
入力装置51はキーボードやマウス等である。入力装置51は、各種信号を入力するために用いられる。出力装置52はディスプレイ装置等である。出力装置52は各種ウインドウやデータ等を表示するために用いられる。インターフェース装置57はモデム,LANカード等である。インターフェース装置57は、ネットワークを介して外部サーバ11及びクライアント12に接続する為に用いられる。
本実施例のWebアプリケーション融合プログラムは、中継サーバ10を制御する各種プログラムの少なくとも一部である。Webアプリケーション融合プログラムは例えば記録媒体58の配布やネットワークからのダウンロードなどによって提供される。Webアプリケーション融合プログラムを記録した記録媒体58は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、Webアプリケーション融合プログラムを記録した記録媒体58がドライブ装置53にセットされると、Webアプリケーション融合プログラムは記録媒体58からドライブ装置53を介して補助記憶装置54にインストールされる。ネットワークからダウンロードされたWebアプリケーション融合プログラムは、インターフェース装置57を介して補助記憶装置54にインストールされる。
補助記憶装置54は、インストールされたWebアプリケーション融合プログラムを格納すると共に、必要なファイル,データ等を格納する。主記憶装置55は、Webアプリケーション融合プログラムの起動時に補助記憶装置54からWebアプリケーション融合プログラムを読み出して格納する。そして、演算処理装置56は主記憶装置55に格納されたWebアプリケーション融合プログラムに従って、後述するような各種処理を実現している。
図6は融合前のガジェットの表示内容を表した一例のイメージ図である。図6に表した融合前のガジェットは在庫検索システムに関するものである。図6の左側のA社在庫検索システムガジェットは、以下、ガジェットAと呼ぶ。図6の右側のB・C社在庫検索システムガジェットは、以下、ガジェットBと呼ぶ。
ガジェットA及びBはテキストフィールド61〜63内に品名を入力して検索ボタン64〜66を押下することにより、検索結果が下段に表示されるものである。ガジェットA及びBは連携スクリプト41により、すでに連携が行われているものとする。ガジェットA及びBは、例えば以下のように連携を行う。
まず、ガジェットAはテキストフィールド61に品名(例えば机)が入力されて検索ボタン64が押下される。ガジェットA及びBは、それぞれの連携スクリプト41により連携を開始する。ガジェットBは、それぞれの連携スクリプト41により、ガジェットAのテキストフィールド61に入力された品名(例えば机)が、テキストフィールド62へ自動的に入力される。結果、利用者はガジェットAのテキストフィールド61に品名を入力して検索ボタン64を押下すると、ガジェットAによるA社在庫検索結果とガジェットBによるB社在庫検索結果とをブラウザ44上に表示させることができる。
なお、従来技術を用いてガジェットA及びBを融合した場合は、単純に計3つのテキストフィールド61〜63,計3つの検索ボタン64〜66が並んだ合成後ガジェット3しか作成することができない。
本実施例の中継サーバ10では使用に先立ち、連携情報取得部29が、どのガジェット同士を連携するかの情報を取得し、連携情報として連携情報テーブル30に記録する。図7は連携情報テーブルの一例の構成図である。
図7の連携情報テーブル30は送信ガジェットURLと受信ガジェットURLとの組に一意のID(連携ID)が割り当てられている。図6に示したガジェットA及びBの場合はガジェットAのURLが送信ガジェットURLとなり、ガジェットBのURLが受信ガジェットURLとなる。
連携情報取得部29が、どのガジェット同士を連携するかの情報を取得する方法は問わないが、最終的に連携情報テーブル30に記録される必要がある。本実施例では既に連携が行われているガジェット(例えばガジェットA及びB)を融合させるため、何らかの外部手段を用いることで、どのガジェット同士が連携を行っているか、その具体的なURLを取得するのは容易である。
ガジェットA及びBを融合する場合、中継サーバ10ではガジェットA及びB上のどのHTMLフォーム要素にアクセスしたかを表すHTMLフォームアクセス情報の記録処理を行う必要がある。中継サーバ10の融合受付部26はクライアント12のブラウザ44上に例えば図8のようなトリガ画面70を表示させる。
図8は記録処理を行うためのトリガ画面の一例のイメージ図である。図8のトリガ画面70は融合したいガジェットとしてガジェットA及びBが選択されている。ガジェットA及びBが選択されている状態で記録開始ボタン71が押下されると、融合受付部26はガジェットA及びBの組に割り当てられている連携IDと記録開始の指示とを受け取り、図9のような融合実行情報テーブル33に記録する。また、ガジェットA及びBが選択されている状態で記録終了ボタン72が押下されると、融合受付部26はガジェットA及びBの組に割り当てられている連携IDと記録終了の指示とを受け取り、図9の融合実行情報テーブル33に記録する。
図9は融合実行情報テーブルの一例の構成図である。図9の融合実行情報テーブル33は融合したいガジェットの組に割り当てられている連携IDと記録開始(○)又は記録終了(×)の指示を表す記録中フラグとが記録されている。中継サーバ10は融合実行情報テーブル33の記録中フラグに記録開始(○)の指示が記録されているときに、HTMLフォームアクセス情報の記録処理を行う。
図10は、中継サーバを含むシステムの処理を表した一例のフローチャートである。ステップS1に進み、中継サーバ10のガジェット解釈部27は外部サーバ11が提供するガジェットA,Bのガジェットコードをブラウザ44が表示可能なコードに変換する。前述したようにガジェットA,Bは最終的にブラウザ44上に表示させる必要がある為、ガジェットコードの定義がXMLなどで記述されたものであればHTMLなどの適切な形式に変換する必要がある。
図11はガジェットA及びBの変換後のガジェットコードを表した説明図である。図12はブラウザによって表示されるガジェットA及びBのイメージ図である。
図11(A)は、ガジェットAの変換後のガジェットコードを表す。図11(B)はガジェットコードBの変換後のガジェットコードを表す。
図12(A)は図11(A)のガジェットコードがブラウザ44によって表示されるときの内容を表している。図12(B)は図11(B)のガジェットコードがブラウザ44によって表示されるときの内容を表している。
ステップS2に進み、ガジェット書換部21は図9の融合実行情報テーブル33を参照して、ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)であるかを判定する。
ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)でなければステップS3に進み、ガジェット書換部21はHTMLフォームアクセス情報の記録処理を行うことなく、ガジェットA及びBのガジェットコードを、そのままブラウザ44に表示させる。
ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)であればステップS4に進み、ガジェット書換部21はガジェットA及びBのガジェットコードをブラウザ44に渡す前に後述の書き換えを行うため、ステップS4に進む。
ステップS4に進み、ガジェット書換部21はガジェット保存部22及びガジェット記録部23が処理を行えるためのコード書き換えを行い、ガジェットA及びBに初期読み込み完了部42とアクセス監視部43とを挿入する。
図13は、ガジェットA及びBに挿入された初期読み込み完了部及びアクセス監視部のガジェットコードを表した説明図である。図13のガジェットコードはレンダリング完了時に現在のDOM構造をガジェット保存部22に通知するためのスクリプトとして初期読み込み完了部42を挿入している。また、図13のガジェットコードはガジェットA及びBの連携が行われる際に、ガジェット記録部23へHTMLフォームアクセス情報を通知するためのスクリプトとしてアクセス監視部43を挿入している。
初期読み込み完了部42は、レンダリング完了時、ブラウザ44によって実行されるwindow.onload関数の中でDOM構造をガジェット保存部22に通知する。アクセス監視部43は、利用者によるアクセスを監視するため、各HTMLフォーム要素にイベントリスナ(addEventlistener)を追加して、イベント実行時にガジェット保存部22へ通知を行う関数を挿入したものである。
また、アクセス監視部43は、プログラムによるアクセスを監視するため、DOMアクセスAPI(getElementByIdとgetElementByNamesなど)のメソッドを上書きしてガジェット記録部23へ通知を行う関数を挿入したものである。なお、中継サーバ10のガジェット保存部22及びガジェット記録部23への通知はXmlHttpRequestを通じて行われる。
ステップS5に進み、ブラウザ44内のメモリに読み込まれた初期読み込み完了部42はレンダリング完了時に現在のDOM構造を中継サーバ10のガジェット保存部22に通知する。具体的に、初期読み込み完了部42はDOM構造として、ガジェットURL,DOM中の要素ID,フォーム要素か否かの情報を、中継サーバ10のガジェット保存部22に通知する。
ステップS6に進み、ガジェット保存部22はブラウザ44から通知されたDOM構造をガジェット情報テーブル28に格納する。図14はガジェット情報テーブルの一例の構成図である。
ガジェット情報テーブル28は、ガジェットURL,DOM中の要素ID,フォーム要素か否かの情報,連携ID,アクセス有無の情報が記録されている。フォーム要素か否かはガジェット保存部22がHTMLフォーム要素のタグの内容によって判断する。例えばinputタグ、selectタグ又はtextareaタグのいずれかであれば、ガジェット保存部22はフォーム要素であると判定する。
ガジェット保存部22は連携IDとして連携情報テーブル30に記録されているものを用いる。ガジェット保存部22はアクセス有無の情報を空白にしておく。
ステップS7に進み、レンダリング完了後、ガジェットA及びBの連携スクリプト41は連携を実施する。ステップS8に進み、ガジェット記録部23は融合実行情報テーブル33を参照して、ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)であるかを判定する。
ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)であればガジェット記録部23はガジェットA及びBのアクセス監視部43からHTMLフォームアクセス情報が通知されるのを待つ。
ステップS9に進み、ガジェットA及びBのアクセス監視部43は利用者又はプログラムからHTMLフォーム要素へのアクセスの有無を監視する。ステップS10に進み、ガジェットA及びBのアクセス監視部43は利用者又はプログラムからアクセスのあったHTMLフォーム要素をHTMLフォームアクセス情報によってガジェット記録部23に通知する。具体的に、ガジェットA及びBのアクセス監視部43はHTMLフォームアクセス情報としてガジェットURLとアクセスのあったHTMLフォーム要素の要素IDとをガジェット記録部23に通知する。
ステップS11に進み、ガジェット記録部23はガジェットA及びBのアクセス監視部43から通知されたHTMLフォームアクセス情報に基づき、ガジェット情報テーブル28のアクセス有無の情報にアクセス有りのフラグ「○」を設定した後、ステップS7の処理に戻る。
図15はガジェットA及びBのアクセス監視部から通知された内容に基づいてアクセス有無の情報が更新されたガジェット情報テーブルを表した説明図である。図15では利用者がガジェットAのテキストフィールド内に机と入力した際、ガジェットAのガジェットURLとアクセスしたテキストフィールドの要素ID(=txt1)とがガジェット記録部23に通知されている。
ガジェット記録部23はガジェット情報テーブル28の中からガジェットURLと要素IDとがマッチする行を探し、ガジェットURLと要素IDとがマッチする行のアクセス有無の情報にアクセス有りのフラグ「○」を設定する。
ステップS8において、ガジェットA及びBの組の連携IDに対応する記録中フラグが記録終了(×)であればガジェット記録部23はHTMLフォームアクセス情報の記録処理が終了したと判定し、ステップS12に進む。ガジェット判断部24はガジェット情報テーブル28を参照してアクセス有無の情報にアクセス有りのフラグ「○」が設定されなかった行を抽出する。
なお、抽出するHTMLフォーム要素をフォーム要素が「○」である場合に限るか否かは必要に応じて利用者、或いは管理者などによって指定しておく。図16はHTMLフォームアクセス情報の記録処理が終了した時のガジェット情報テーブルの一例の構成図である。
図16のガジェット情報テーブル28の場合、ガジェット判断部24は、アクセス有無の情報にアクセス有りのフラグ「○」が設定されなかった行として要素IDが「txt2」及び「btn2」の行を抽出する。
ステップS13に進み、ガジェット結合部25はガジェットA及びBを結合する。その際に、ガジェット結合部25はステップS12で抽出した行の要素IDに対応するHTMLフォーム要素を非表示にするスタイルシートを合成後ガジェットのガジェットコードに注入する。例えばステップS13ではスタイルシートを用いてステップS12で抽出した行の要素IDに対応するHTMLフォーム要素のvisibility属性をhiddenにする。
図17はスタイルシート注入後の合成後ガジェットのガジェットコードを表した説明図である。ガジェット結合部25は図17に示すようなスタイルシート注入後の合成後ガジェットのガジェットコードをガジェット格納部32に提供する。なお、図17に示す合成後ガジェットのガジェットコードをブラウザ44に表示させると、図18に示すようになる。図18の合成後ガジェットは、HTMLフォームアクセス情報の記録処理時に使われなかったHTMLフォーム要素の「txt2」と「btn2」とが非表示になっている。
ステップS14に進み、ガジェット格納部32はステップS13で融合された合成後ガジェットのガジェットコードを融合ガジェット情報テーブル31に記録する。図19は融合ガジェット情報テーブルの一例の構成図である。
図19の融合ガジェット情報テーブル31は、生成ID,連携ID,ガジェットURLが記録されている。生成IDは合成後ガジェットを示すユニークなIDである。連携IDは送信ガジェットURLと受信ガジェットURLとの組に割り当てられている一意のIDである。ガジェットURLは合成後ガジェットのURLである。図19の融合ガジェット情報テーブル31は、中継サーバ10がrelayサーバとして合成後ガジェットのXMLファイルが置かれることを想定している。
図20は、中継サーバの処理を表した一例のフローチャートである。ステップS21に進み、ガジェット解釈部27は外部サーバ11が提供するガジェットA,Bのガジェットコードを例えば図11のようにブラウザ44が表示可能なコードに変換する。
ステップS22に進み、ガジェット書換部21は図9の融合実行情報テーブル33を参照して、ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)であるかを判定する。
ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)でなければステップS23に進み、ガジェット書換部21はHTMLフォームアクセス情報の記録処理を行うことなく、ガジェットA及びBのガジェットコードを、そのままブラウザ44に送信する。
ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)であればステップS24に進み、ガジェット書換部21はガジェットA及びBのガジェットコードをブラウザ44に渡す前に、ガジェット保存部22及びガジェット記録部23が処理を行えるためのコード書き換えを行い、ガジェットA及びBに初期読み込み完了部42とアクセス監視部43とを図13のように挿入する。
ガジェットA及びBに挿入された初期読み込み完了部のガジェットコードは、レンダリング完了時に現在のDOM構造をガジェット保存部22に通知するためのスクリプトである。ガジェットA及びBに挿入されたアクセス監視部のガジェットコードはガジェットA及びBの連携が行われる際に、ガジェット記録部23へHTMLフォームアクセス情報を通知するためのスクリプトである。
ステップS25に進み、ガジェット書換部21は初期読み込み完了部42とアクセス監視部43とが挿入されたガジェットA及びBのガジェットコードを、ブラウザ44に送信する。ステップS26に進み、ガジェット保存部22はブラウザ44から通知されたDOM構造を図14のガジェット情報テーブル28に格納する。
ステップS27に進み、ガジェット記録部23は融合実行情報テーブル33を参照してガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)であるかを判定する。
ガジェットA及びBの組の連携IDに対応する記録中フラグが記録開始(○)であればガジェット記録部23はガジェットA及びBのアクセス監視部43からHTMLフォームアクセス情報が通知されるのを待つ。
ガジェットA及びBのアクセス監視部43からHTMLフォームアクセス情報が通知されると、ガジェット記録部23はステップS28に進み、通知されたHTMLフォームアクセス情報に基づき、ガジェット情報テーブル28のアクセス有無の情報にアクセス有りのフラグ「○」を図15のように設定した後、ステップS27の処理に戻る。
ステップS27において、ガジェットA及びBの組の連携IDに対応する記録中フラグが記録終了(×)であればガジェット記録部23はHTMLフォームアクセス情報の記録処理が終了したと判定し、ステップS29に進む。ガジェット判断部24はガジェット情報テーブル28を参照してアクセス有無の情報にアクセス有りのフラグ「○」が設定されなかった行を抽出する。
ステップS30に進み、ガジェット結合部25はガジェットA及びBを結合する。その際に、ガジェット結合部25はステップS29で抽出した行の要素IDに対応するHTMLフォーム要素を非表示にするスタイルシートを合成後ガジェットのガジェットコードに注入する。
ガジェット結合部25は図17に示すようなスタイルシート注入後の合成後ガジェットのガジェットコードをガジェット格納部32に提供する。ステップS31に進み、ガジェット格納部32はステップS30で融合された合成後ガジェットのガジェットコードを融合ガジェット情報テーブル31に記録する。
その後、ガジェット格納部32はクライアント12から要求があると、融合された合成後ガジェットのガジェットコードを例えば図20に示す処理手順でクライアント12に送信する。
図21は融合した後の合成後ガジェットを使用する処理手順を表したフローチャートである。ステップS41に進み、ガジェット格納部32は、クライアント12から要求された生成IDに対応するガジェットURLを、融合ガジェット情報テーブル31から取り出す。ステップS42に進み、ガジェット解釈部27はステップS41で取り出したガジェットURLの合成後ガジェットのガジェットコードを、ブラウザ44が表示可能なコードに変換する。ステップS43に進み、クライアント12のブラウザ44はステップS42で変換されたコードで合成後ガジェットの表示を行う。
以上、本実施例によれば、素朴にガジェットを併せた合成後ガジェットよりも、各利用者にとって見映えの良い合成後ガジェットを作成することが可能となる。特に、不要な箇所と言うのは利用者によって異なる可能性があるが、本実施例では実際にガジェットを動かして、その動作を元に融合を行うため、利用者ごとに適した合成後ガジェットを作成することができる。本実施例によれば、一から人手などでガジェットを結合するよりも容易且つ利用者にとって見映えの良い合成後ガジェットを作成できる効果がある
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 従業員一覧ガジェット
2 電話番号検索ガジェット
3、3a 合成後ガジェット
4 表
5 入力欄
6 検索ボタン
10 中継サーバ
11 外部サーバ
12 クライアント
21 ガジェット書換部
22 ガジェット保存部
23 ガジェット記録部
24 ガジェット判断部
25 ガジェット結合部
26 融合受付部
27 ガジェット解釈部
28 ガジェット情報テーブル
29 連携情報取得部
30 連携情報テーブル
31 融合ガジェット情報テーブル
32 ガジェット格納部
33 融合実行情報テーブル
41 連携スクリプト
42 初期読み込み完了部
43 アクセス監視部
51 入力装置
52 出力装置
53 ドライブ装置
54 補助記憶装置
55 主記憶装置
56 演算処理装置
57 インターフェース装置
58 記録媒体
61〜63 テキストフィールド
64〜66 検索ボタン
70 トリガ画面
71 記録開始ボタン
72 記録終了ボタン
B バス

Claims (4)

  1. 外部サーバよりそれぞれ取得されるソースコードに基づいて、クライアントのブラウザで実行される複数のWebアプリケーションを、1つのWebアプリケーションに融合するWebアプリケーション融合装置であって、
    融合対象である前記複数のWebアプリケーションの各ソースコードを外部サーバから受信したときに、該Webアプリケーション画面上でアクセスされた表示要素を前記Webアプリケーション融合装置に通知するように、該ソースコードを書き換える、ソースコード書き換え手段と、
    書き換えられた前記ソースコードを、前記クライアントに送信する手段と、
    書き換えられた前記ソースコードに基づいてクライアントのブラウザで実行された前記Webアプリケーションからの、前記アクセスされた表示要素の通知に基づいて、情報テーブルに、該アクセスされた表示要素に対応付けて、アクセスされたことを示す情報を記録する記録手段と、
    前記情報テーブルを参照して、前記Webアプリケーション上でアクセスされなかった表示要素を判断する判断手段と、
    アクセスされなかったと判断された前記表示要素を表示しないように書き換えられた前記各ソースコードを結合する結合手段と、
    結合されたソースコードを前記クライアントに送信する送信手段と、
    を有するWebアプリケーション融合装置。
  2. 前記ソースコード書き換え手段による前記ソースコードの書き換えは、
    前記Webアプリケーション上の全表示要素を前記Webアプリケーション融合装置に通知する処理と、該Webアプリケーション上でアクセスされた表示要素を前記Webアプリケーション融合装置に通知する処理とを該クライアントのブラウザに行わせるように、書き換える
    ことを特徴とする請求項1記載のWebアプリケーション融合装置。
  3. 前記アクセスされた表示要素の記録開始の指示をクライアントから受け付ける受付手段を更に有し、
    前記ソースコード書き換え手段は、前記融合対象である前記複数のWebアプリケーションを識別する情報を含む前記記録開始の指示に基づいて、該識別する情報で特定される複数のWebアプリケーションのソースコードを書き換え、
    前記結合手段は、前記識別する情報で特定される複数のWebアプリケーションそれぞれの書き換えられたソースコードを結合する
    ことを特徴とする請求項1または2記載のWebアプリケーション融合装置。
  4. 外部サーバよりそれぞれ取得されるソースコードに基づいて、クライアントのブラウザで実行される複数のWebアプリケーションを、1つのWebアプリケーションに融合するコンピュータを、
    融合対象である前記複数のWebアプリケーションの各ソースコードを外部サーバから受信したときに、該Webアプリケーション画面上でアクセスされた表示要素を前記Webアプリケーション融合装置に通知するように、該ソースコードを書き換える、ソースコード書き換え手段と、
    書き換えられた前記ソースコードを、前記クライアントに送信する手段と、
    書き換えられた前記ソースコードに基づいてクライアントのブラウザで実行された前記Webアプリケーションからの、前記アクセスされた表示要素の通知に基づいて、情報テーブルに、該アクセスされた表示要素に対応付けて、アクセスされたことを示す情報を記録する記録手段と、
    前記情報テーブルを参照して、前記Webアプリケーション上でアクセスされなかった表示要素を判断する判断手段と、
    アクセスされなかったと判断された前記表示要素を表示しないように書き換えられた前記各ソースコードを結合する結合手段と、
    結合されたソースコードを前記クライアントに送信する送信手段と、
    して機能させるためのWebアプリケーション融合プログラム。
JP2009135030A 2009-06-04 2009-06-04 Webアプリケーション融合装置及びWebアプリケーション融合プログラム Expired - Fee Related JP5476802B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009135030A JP5476802B2 (ja) 2009-06-04 2009-06-04 Webアプリケーション融合装置及びWebアプリケーション融合プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009135030A JP5476802B2 (ja) 2009-06-04 2009-06-04 Webアプリケーション融合装置及びWebアプリケーション融合プログラム

Publications (2)

Publication Number Publication Date
JP2010282409A JP2010282409A (ja) 2010-12-16
JP5476802B2 true JP5476802B2 (ja) 2014-04-23

Family

ID=43539082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009135030A Expired - Fee Related JP5476802B2 (ja) 2009-06-04 2009-06-04 Webアプリケーション融合装置及びWebアプリケーション融合プログラム

Country Status (1)

Country Link
JP (1) JP5476802B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6191452B2 (ja) * 2013-12-27 2017-09-06 富士通株式会社 検索プログラム、検索方法及び情報処理装置
CN111881387B (zh) * 2020-07-21 2024-04-26 北京百度网讯科技有限公司 用于小程序的数据处理方法、装置、设备和介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3633415B2 (ja) * 2000-01-14 2005-03-30 日本電気株式会社 Gui制御方法及び装置並びに記録媒体
JP2004206421A (ja) * 2002-12-25 2004-07-22 Hitachi Ltd Wwwアプリケーション統合実行装置および方法

Also Published As

Publication number Publication date
JP2010282409A (ja) 2010-12-16

Similar Documents

Publication Publication Date Title
US7861176B2 (en) Methods and systems for providing online chat
CN100357887C (zh) 用于生成网络内容的基础结构
US8347225B2 (en) System and method for selectively displaying web page elements
JP4624376B2 (ja) データのビジュアルキャビネットシステム及びそのシステムを利用したデータ表示方法
JP2006065395A (ja) ハイパーリンク生成装置、ハイパーリンク生成方法及びハイパーリンク生成プログラム
WO2012176507A1 (ja) 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体
US20030177202A1 (en) Method and apparatus for executing an instruction in a web page
JP2012212397A (ja) 情報処理装置及び情報処理方法
US20110276876A1 (en) Method and system for storing words and their context to a database
JP2000305835A (ja) ウェブサイト閲覧システム
JP5710849B1 (ja) ウェブページ提供装置、ウェブページ提供方法、及びウェブページ提供プログラム
JP5476802B2 (ja) Webアプリケーション融合装置及びWebアプリケーション融合プログラム
JP2007149016A (ja) ホームページ作成支援システム、ホームページ作成支援方法、ホームページ作成支援サーバ
JP4938589B2 (ja) ウェブページ閲覧装置およびウェブページ閲覧サーバ
JP5788240B2 (ja) 情報提供装置、情報提供方法、情報提供プログラム、情報表示プログラム、及び情報提供プログラムを記憶するコンピュータ読取可能な記録媒体
JP2005250826A (ja) 情報提供システム、情報提供方法、及び情報提供処理プログラム
JP2009244972A (ja) 情報処理装置およびその制御プログラム
US20090164920A1 (en) System, method and apparatus for inserting a virtual tool bar into a markup language document
US20060031877A1 (en) Method and system for movie clip search according to the word of synopsis
JP5088269B2 (ja) 画面情報管理方法
JP2012008970A (ja) 要約情報表示装置、要約情報表示方法、要約情報表示プログラム、要約情報提供装置、要約情報提供プログラム、および、記録媒体
JP4888130B2 (ja) コンテンツ処理装置およびコンテンツ処理プログラム
WO2011079683A1 (zh) 获取信息的方法和装置
JP2002251338A (ja) ブックマーク提示機能を有する文書表示装置
KR100973893B1 (ko) 사용자 요청에 의한 html문서에 추가 링크정보를 부가하는 웹브라우징 시스템 및 웹브라우징 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131226

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: 20140114

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140127

R150 Certificate of patent or registration of utility model

Ref document number: 5476802

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees