(57)【要約】【課題】ラッパー装置において、Ｗｅｂシステムにおけるデータの変更を検出する。【解決手段】ラッパー装置１００は、既存Ｗｅｂシステム１３０からＷｅｂデータを受信する度に、受信したＷｅｂデータをＷｅｂページ保存部１０３に保存し、クライアント装置１２０から要求があった場合に、定義実行エンジン１０１がクライアント装置１２０の要求に対応するＷｅｂデータを既存Ｗｅｂシステム１３０から受信し、変更検知部１０４が、受信したＷｅｂデータと保存されているＷｅｂデータとを所定のデータ部分について比較し、当該データ部分において両Ｗｅｂデータが一致していれば、受信したＷｅｂデータから定義実行エンジン１０１がレスポンスを生成し、クライアント装置１２０にレスポンスを送信する。他方、Ｗｅｂデータ間で不一致が生じていれば、変更通知部１０７がシステム管理者に不一致を通知する。【選択図】図１
2010049515.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置から受信したサーバデータを記憶するサーバデータ記憶部と、
サーバデータの比較の際に比較の対象になる比較対象データ部分を示す比較対象情報を記憶する比較対象情報記憶部と、
クライアント装置より要求があった場合に、前記サーバ装置からサーバデータを受信するサーバデータ受信部と、
前記サーバデータ記憶部に記憶されている記憶サーバデータの比較対象データ部分と前記サーバデータ受信部により受信された受信サーバデータの比較対象データ部分とを比較するデータ比較部とを有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、更に、
前記データ比較部により記憶サーバデータの比較対象データ部分と受信サーバデータの比較対象データ部分とが一致していないと判断された場合に、記憶サーバデータの比較対象データ部分と受信サーバデータの比較対象データ部分とが一致していないことを通知する通知部を有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記比較対象情報記憶部は、
複数の比較対象データ部分を示す比較対象情報を記憶しており、
前記情報処理装置は、更に、
前記比較対象情報に示される複数の比較対象データ部分のうち前記通知部による通知が不要な比較対象データ部分を通知不要データ部分として示す通知不要情報を記憶する通知不要情報記憶部を有し、
前記通知部は、
通知不要データ部分については、記憶サーバデータと受信サーバデータとの間の不一致を通知しないことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置は、更に、
前記通知不要情報を生成する通知不要情報生成部を有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記データ比較部は、
記憶サーバデータの比較対象データ部分と受信サーバデータの比較対象データ部分とが一致していると判断した場合に、受信サーバデータを前記サーバデータ記憶部に格納することを特徴とする請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
前記サーバデータ受信部は、
前記サーバ装置が受け付ける形式と異なる形式で前記クライアント装置から要求を受け付け、前記クライアント装置の要求を前記サーバ装置が受け付ける形式に変更し、変更後の要求を前記サーバ装置に送信し、
前記クライアント装置が受け付ける形式と異なる形式で前記サーバ装置からサーバデータを受信し、受信したサーバデータを前記クライアント装置が受け付ける形式に変更し、変更後のサーバデータを前記クライアント装置に送信することを特徴とする請求項１〜５のいずれかに記載の情報処理装置。
【請求項７】
前記サーバデータ受信部は、
前記データ比較部により記憶サーバデータの比較対象データ部分と受信サーバデータの比較対象データ部分とが一致していると判断された場合に、受信サーバデータを前記クライアント装置が受け付ける形式に変更することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記サーバデータ受信部は、
受信サーバデータに含まれるデータ部分のうちの特定のデータ部分に前記クライアント装置からの要求を反映する値を入力し、当該値が入力されたサーバデータを前記サーバ装置に送信して、前記サーバ装置から更なるサーバデータを受信し、
受信サーバデータに含まれるデータ部分のうちの特定のデータ部分を抽出して前記クライアント装置が受け付ける形式のサーバデータにし、変更後のサーバデータを前記クライアント装置に送信し、
前記比較対象情報記憶部は、
前記サーバデータ受信部が前記クライアント装置からの要求を反映する値を入力するデータ部分、及び前記サーバデータ受信部が受信サーバデータから抽出するデータ部分の少なくともいずれかを比較対象データ部分として示す比較対象情報を記憶していることを特徴とする請求項６又は７に記載の情報処理装置。
【請求項９】
前記サーバデータ記憶部は、
木構造のサーバデータを記憶し、
前記サーバデータ受信部は、
木構造のサーバデータを受信し、
前記比較対象情報記憶部は、
比較対象データ部分として、サーバデータの木構造におけるいずれかの部分木を示す比較対象情報を記憶しており、
前記データ比較部は、
記憶サーバデータ及び受信サーバデータの各々から、前記比較対象情報に示されている部分木に対応するデータ部分を抽出し、抽出した記憶サーバデータのデータ部分と受信サーバデータのデータ部分とを比較することを特徴とする請求項１〜８のいずれかに記載の情報処理装置。
【請求項１０】
前記サーバデータ受信部は、
前記クライアント装置の要求に基づき、複数種類のサーバデータを保有するサーバ装置から、いずれかの種類のサーバデータを受信し、
前記サーバデータ記憶部は、
複数種類のサーバデータのうちの１種類以上のサーバデータを記憶サーバデータとして記憶し、
前記比較対象情報記憶部は、
サーバデータの種類ごとに比較対象データ部分を示す比較対象情報を記憶しており、
前記データ比較部は、
受信サーバデータと同じ種類の記憶サーバデータを前記サーバデータ記憶部から取得し、前記比較対象情報から受信サーバデータの種類に対応する比較対象データ部分を判別し、記憶サーバデータ及び受信サーバデータの各々から、対応する比較対象データ部分を抽出し、抽出した記憶サーバデータの比較対象データ部分と受信サーバデータの比較対象データ部分とを比較することを特徴とする請求項１〜９のいずれかに記載の情報処理装置。
【請求項１１】
サーバ装置から受信したサーバデータを記憶するサーバデータ記憶部と、サーバデータの比較の際に比較の対象になる比較対象データ部分を示す比較対象情報を記憶する比較対象情報記憶部とを有するコンピュータに、
クライアント装置より要求があった場合に、前記サーバ装置からサーバデータを受信するサーバデータ受信処理と、
前記サーバデータ記憶部に記憶されている記憶サーバデータの比較対象データ部分と前記サーバデータ受信処理により受信された受信サーバデータの比較対象データ部分とを比較するデータ比較処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、ラッピング技術に関し、特にＷｅｂシステムに用いられるラッピング技術に関する。
【背景技術】
【０００２】
近年、多くのシステムがＷｅｂブラウザを用いてアクセスするＷｅｂシステムとして提供されるようになってきた。
一方、システム開発において様々な機能をサービスと呼ばれる部品として提供し、サービスを組み合わせることでシステムを構築するＳＯＡ（Ｓｅｒｖｉｃｅ−Ｏｒｉｅｎｔｅｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）と呼ばれる手法が用いられるようになってきた。ＳＯＡにおけるサービスはプログラム（クライアント）から呼び出し可能な形式である必要がある。
通常、Ｗｅｂシステムは人間がＷｅｂブラウザを用いて利用するために開発されたものであり、プログラムから呼び出して利用することはできない。
このような場合には、Ｗｅｂシステムのバックエンドにある機能を直接利用するような開発を行う必要がある。しかしながら、すでにＷｅｂシステムとして開発されたシステムを再利用して別なシステムを開発したい場合もある。例えば、Ｗｅｂシステムの開発者がプロジェクトからいなくなってしまった場合や、Ｗｅｂシステムが外部の組織により提供されており、バックエンドに直接アクセスする手段がそもそもないような場合である。
【０００３】
このような問題を解決するために、既存のＷｅｂシステムに手を加えず、Ｗｅｂシステムの側から見ると、あたかも人間が操作しているかのように振舞うことにより、Ｗｅｂシステムをプログラム的に利用可能なサービスにする、ラッピングという技術が存在する。ラッピングを行うプログラムをラッパーと呼ぶ（例えば、特許文献１）。
【特許文献１】特開２００４−３０２７２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
Ｗｅｂシステムとして提供されているシステムをラッピングしてサービス化する際、ラッパーは、ＷｅｂシステムのＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）中のテキストボックスに値を入力したり、ボタンをクリックすることでＷｅｂシステムに入力を送る。
また、ＷｅｂシステムのＨＴＭＬから情報を抽出する。このようなことを実現するために、ラッパーは何らかの手段でＨＴＭＬ中の要素の位置を特定する。
したがって、Ｗｅｂシステムに更新があり、ＨＴＭＬ中の要素の位置が変更されると、ラッパーにより提供されるサービスが正しく動作しなくなり、クライアントへの応答が正しく行えない可能性があるという課題がある。
【０００５】
この発明は、上記のような課題を解決することを主な目的の一つとし、サービスを構成するＷｅｂシステムに更新があったときに、ラッパーが提供するサービスへの影響の有無、つまりクライアントへの応答に対する影響の有無を検出可能とすることを主な目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る情報処理装置は、
サーバ装置から受信したサーバデータを記憶するサーバデータ記憶部と、
サーバデータの比較の際に比較の対象になる比較対象データ部分を示す比較対象情報を記憶する比較対象情報記憶部と、
クライアント装置より要求があった場合に、前記サーバ装置からサーバデータを受信するサーバデータ受信部と、
前記サーバデータ記憶部に記憶されている記憶サーバデータの比較対象データ部分と前記サーバデータ受信部により受信された受信サーバデータの比較対象データ部分とを比較するデータ比較部とを有することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、サーバ装置から受信した受信サーバデータと、記憶している記憶サーバデータとを比較するので、受信サーバデータが記憶サーバデータと一致していない場合には、サーバデータにおける変更を検出することができ、クライアント装置への応答に対する影響の有無を検出することができる。
【発明を実施するための最良の形態】
【０００８】
実施の形態１．
図１は、実施の形態１に係るシステム構成例を示す構成図である。
本実施の形態では、クライアント装置１２０と既存Ｗｅｂシステム１３０との間にラッパー装置１００が配置されている。
クライアント装置１２０は、クライアントプログラムを実行する。
ラッパー装置１００は、ラッパープログラムを実行する。
既存Ｗｅｂシステム１３０は、ラッパー装置１００に対してサービスを提供する。
【０００９】
ラッパー装置１００は、クライアント装置１２０からの要求に従い、既存Ｗｅｂシステム１３０にアクセスし、既存Ｗｅｂシステム１３０からＨＴＭＬデータ（以下、Ｗｅｂデータともいう）を受信し、受信したＨＴＭＬデータに基づきクライアント装置１２０にレスポンスを返す。
上述したように、ラッパー装置１００は、人間がＨＴＭＬ中のテキストボックスに値を入力したり、ボタンをクリックする操作に相当する処理を行って既存Ｗｅｂシステム１３０に入力を送ることで、既存Ｗｅｂシステム１３０の側から見ると、あたかも人間が操作しているかのように振舞う。
ラッパー装置１００は情報処理装置の例である。既存Ｗｅｂシステム１３０は、ラッパー装置１００に対してサービスを提供する装置であり、サーバ装置の例である。
なお、図１では、クライアント装置１２０とラッパー装置１００は別の装置として示しているが、クライアント装置１２０とラッパー装置１００とが同じ装置であってもよい。つまり、一つの装置が、クライアントプログラムとラッパープログラムとを実行するようにしてもよい。この場合は、当該装置がクライアント装置の機能と情報処理装置の機能を兼ねることになる。
【００１０】
ここで、ラッパー装置１００を含む本実施の形態に係るシステムの動作を概説する。
ラッパー装置１００は、既存Ｗｅｂシステム１３０からＨＴＭＬデータ（サーバデータ）を受信する度に、受信したＨＴＭＬデータをＷｅｂページ保存部１０３に保存する。
クライアント装置１２０から要求があった場合に、定義実行エンジン１０１がクライアント装置１２０の要求に対応するＨＴＭＬデータを既存Ｗｅｂシステム１３０から受信し、変更検知部１０４が受信したＨＴＭＬデータ（受信サーバデータ）とＷｅｂページ保存部１０３に保存されているＨＴＭＬデータ（記憶サーバデータ）とを所定の比較対象のデータ部分について比較し、比較対象のデータ部分において両ＨＴＭＬデータが一致していれば、定義実行エンジン１０１が受信したＨＴＭＬデータからクライアント装置１２０へのレスポンスを生成し、クライアント装置１２０にレスポンスを送信する。比較対象となるデータ部分は、ラッパー装置１００がクライアントからのリクエストを反映する値を入力するデータ部分、クライアント装置１２０へのレスポンス生成の際にＨＴＭＬデータから抽出するデータ部分である。
他方、ＨＴＭＬデータ間で不一致が生じていれば、変更通知部１０７がシステム管理者に不一致を通知する。
このように、過去に受信したＨＴＭＬデータと最新に受信したＨＴＭＬデータを比較することで、ＨＴＭＬデータにおける変更を検出することができ、サービスへの影響の有無を検出することができる。
【００１１】
次に、ラッパー装置１００の各要素の詳細を説明する。
【００１２】
定義実行エンジン１０１は、クライアント装置１２０からリクエスト（例えばＳＯＡＰリクエスト）を受信し、実行定義記憶部１０２に記憶されている実行定義に基づいてクライアント装置１２０からのリクエストを既存Ｗｅｂシステム１３０のアクセス形式に適合させて既存Ｗｅｂシステムに送信し、既存Ｗｅｂシステム１３０からクライアント装置１２０のリクエストに対する応答としてＨＴＭＬデータを受信し、受信したＨＴＭＬデータから必要な要素を抽出してクライアント装置１２０へレスポンスを返却する。
つまり、定義実行エンジン１０１は、既存Ｗｅｂシステム１３０が受け付ける形式と異なる形式でクライアント装置１２０から要求を受け付け、クライアント装置１２０の要求を既存Ｗｅｂシステム１３０が受け付ける形式に変更し、変更後の要求を既存Ｗｅｂシステム１３０に送信する。また、定義実行エンジン１０１は、既存Ｗｅｂシステム１３０からＨＴＭＬデータを受信するが、受信したＨＴＭＬデータはクライアント装置１２０が受け付ける形式と異なるので、受信したＨＴＭＬデータをクライアント装置１２０が受け付ける形式に変更してレスポンスを生成し、当該レスポンスをクライアント装置１２０に送信する。
定義実行エンジン１０１は、サーバデータ受信部の例である。
【００１３】
実行定義記憶部１０２は、実行定義を記憶する。
実行定義は、サービスとしての入出力の型定義（１サービスにつき１つ）、既存Ｗｅｂシステムへのアクセス手順を記述したスクリプト、ＨＴＭＬデータへの入力対象となる要素および出力の抽出対象となる要素を記述したパス指定から構成される。入出力の型定義としてはＷＳＤＬ（Ｗｅｂ  Ｓｅｒｖｉｃｅ  Ｄｅｆｉｎｉｔｉｏｎ  Ｌａｎｇｕａｇｅ）、スクリプトとしてはＪａｖａＳｃｒｉｐｔ（Ｊａｖａ及びＪａｖａＳｃｒｉｐｔは登録商標）、パス指定としてはＸＰａｔｈを用いることができるが、これに限定するものではない。
実行定義におけるパス指定は、型定義ごとに（データの種類ごとに）、既存Ｗｅｂシステム１３０から受信したＨＴＭＬデータとＷｅｂページ保存部１０３に記憶されているＨＴＭＬデータとを比較する際に比較の対象になるデータ部分（比較対象データ部分）を示す情報である。このため、実行定義は比較対象情報の例であり、また、実行定義記憶部１０２は比較対象情報記憶部の例である。
【００１４】
Ｗｅｂページ保存部１０３は、次回の比較を行うために、アクセスしたＷｅｂページを保存する。
Ｗｅｂページ保存部１０３は、サーバデータ記憶部の例である。
【００１５】
変更検知部１０４は、Ｗｅｂページ保存部１０３に保存された前回アクセス時のＷｅｂページ内容と、今回アクセスしたＷｅｂページ内容を比較し、変更を検知する。
変更検知部１０４は木構造分解部１０５および木構造比較部１０６から構成される。
木構造分解部１０５はＨＴＭＬの木構造のうち、比較の対象となる箇所（部分木）を抽出する。
木構造比較部１０６は、木構造分解部１０５によって抽出された、必要な箇所同士の比較を行う。この際、実行定義を参照する。つまり、比較の対象となる箇所（部分木）は、実行定義のパス指定に示されている。
変更検知部１０４は、このように、Ｗｅｂページ保存部１０３に保存されているＷｅｂページ及び既存Ｗｅｂシステム１３０から新たに受信したＷｅｂページの各々から、実行定義に示されている部分木に対応するデータ部分を抽出し、抽出したデータ部分を比較する。
変更検知部１０４は、データ比較部の例である。
【００１６】
変更通知部１０７は、変更検知部１０４が変更を検知した際に管理者にＷｅｂページ間で不一致が生じていることを通知する機能である。
通知の方法としてはたとえばメールを用いることができるがこれに限定するものではない。
変更通知部１０７は、通知部の例である。
【００１７】
次にラッパー装置１００がクライアント装置１２０からの要求により既存Ｗｅｂシステム１３０にアクセスし、前回アクセス時に得られたＷｅｂページと比較することで変更を検出する動作を図２及び図３を用いて説明する。
【００１８】
クライアント装置１２０はリクエストを発行する（Ｓ２０１）。
定義実行エンジン１０１はリクエストを解釈して入力引数と関数名を抽出する（Ｓ２０２）。
定義実行エンジン１０１は実行定義に基づき、既存Ｗｅｂシステム１３０にアクセスする（Ｓ２０３）。
なお、Ｓ２０３以降は実行定義のスクリプトの内容により、通常複数回行われる。たとえば、最初のＷｅｂページでログインし、次のＷｅｂページで検索条件を入力して、最後のＷｅｂページで検索結果を抽出するような場合である。
既存Ｗｅｂシステム１３０はリクエストに対するレスポンスを生成し、ラッパー装置１００に返却する（Ｓ２０４）。
定義実行エンジン１０１はＷｅｂページ保存部１０３に対し、受信したＷｅｂページと同じ型定義のＷｅｂページが保存されているか問い合わせる（Ｓ２０５）。
Ｗｅｂページ保存部１０３は該当Ｗｅｂページが保存されていたら（Ｄ２０１でＹＥＳ）、該当Ｗｅｂページを返却する（Ｓ２０６）。
該当Ｗｅｂページが保存されていた場合、定義実行エンジン１０１は保存されていたＷｅｂページと、今回取得したＷｅｂページを変更検知部１０４に引き渡す（Ｓ２０７）。
変更検知部１０４は実行定義に定義されているすべてのパス指定を参照し、木構造分解部１０５によって、新旧Ｗｅｂページのうち、パス指定により指定されたデータ部分を抽出する（Ｓ２０８）。
変更検知部１０４は、抽出されたＷｅｂページの断片同士の比較を行う（Ｓ２０９）。
比較した結果が異なっていたら（Ｄ２０２でＹＥＳ）、定義実行エンジン１０１は変更通知部１０７を用いて変更を検知したことを管理者に通知し（Ｓ２１０）、Ｗｅｂページ保存部１０３を用いて今回取得したＷｅｂページを保存する（Ｓ２１１）。
他方、Ｗｅｂページの断片が一致した場合（Ｄ２０２でＮＯ）、定義実行エンジン１０１はＷｅｂページ保存部１０３を用いて今回取得したＷｅｂページを保存する（Ｓ２１１）。
また、Ｗｅｂページの断片が一致した場合は、定義実行エンジン１０１は、受信したＷｅｂページからクライアント装置１２０へのレスポンスを生成し、クライアント装置１２０にレスポンスを送信する。
【００１９】
ここで、Ｓ２０８において、木構造の一部のみ比較するだけで、全体の比較を行う必要がない理由を、図４および図５を用いて説明する。なお、図４及び図５において、二重線の枠の要素は、クライアント装置１２０からの要求を反映する値を入力する対象の要素であり、実行定義にパス指定として指定されている要素である。通常の枠の要素は、入出力に関係しない要素であり、パス指定の対象となっていない要素である。
【００２０】
あるＷｅｂページの更新を検出しても、必ずしもそれがサービスの再定義を必要とするわけではない。
Ｗｅｂデータの構造が図４（ａ）の木構造からに図４（ｂ）の木構造のように変化した場合に、変更があった箇所のうち、入出力に影響し得る箇所（パス指定により指定された箇所と、抽出される値）が更新されていなければ再定義は不要である。
一方、Ｗｅｂデータの構造が図５（ａ）の木構造からに図５（ｂ）の木構造のように変化した場合は、パス指定により入出力として定義されている部分が変更されると影響があるので通知が必要である。図５の場合はラッパー装置１００において入力するためのＨＴＭＬ要素が削除されているので、ラッパー装置１００は入力ができない。
【００２１】
以上のように、本実施の形態によれば、既存Ｗｅｂシステムをラッピングしてサービス化するラッパー装置が既存Ｗｅｂシステムにアクセスする際にＷｅｂページを保存し、次回アクセス時に木構造の必要な部分を比較することによって、Ｗｅｂページの更新があった際にサービスの実行定義に及ぼす影響の有無を検出できるようになるという効果が得られる。
また、定義実行エンジンは実行定義に従って複数のＷｅｂページを遷移するが、ログインページを通過しないと検索ページに遷移できないなど、直接遷移できないようなＷｅｂページを含むようなＷｅｂシステムであっても、順番に遷移して比較を行うことで、Ｗｅｂシステムを構成するＷｅｂページすべてについて比較できるという効果が得られる。
【００２２】
以上、本実施の形態では、クライアントからのリクエストに対し、サービスとしての入出力の型定義および、既存Ｗｅｂシステムへのアクセス手順を記述したスクリプトおよび、ＨＴＭＬへの入力対象要素と出力の抽出対象となる要素を記述したパス指定から構成される実行定義に基づいて既存Ｗｅｂシステムにアクセスし、得られたＨＴＭＬから必要な要素を抽出してクライアントへのレスポンスを返却する定義実行エンジンと、
アクセスしたＷｅｂページを保存するＷｅｂページ保存機能と、
後述する木構造分解機能および木構造比較機能から構成され、前記Ｗｅｂページ保存機能に保存された前回アクセス時のＷｅｂページ内容と、今回アクセスしたＷｅｂページ内容を比較し、変更を検知する変更検知機能と、
ＨＴＭＬの木構造のうち、前記パス指定を用いることで比較の対象となる箇所（部分木）を抽出する木構造分解機能と、
前記実行定義を参照し、前記木構造分解機能によって抽出された、必要な箇所同士の比較を行う木構造比較機能と、
変更を検知した際に通知を行う変更通知機能と、
を備えたサービス更新管理装置について説明した。
【００２３】
実施の形態２．
実施の形態１では実行定義のパス指定を利用することでＷｅｂページの更新があった際のサービスの実行定義に及ぼす影響の有無を検出していたが、明示的に検知ルールを定義することにより、さらに精度の高い影響有無の検出を行う実施の形態を示す。
【００２４】
このような機能の必要性を図６を用いて説明する。
なお、図６において、二重線の枠の要素は、実行定義にパス指定として指定されている要素であり、通常の枠の要素は、パス指定の対象となっていない要素である。太線の枠の要素は、実行定義にパス指定として指定されている要素の子要素であり、出力に関係する可能性がある部分である。
【００２５】
入出力に影響しうる箇所に更新があったとしてもサービスの再定義が必要とは限らない。
図６では、実行定義のパス指定により、ｔａｂｌｅ要素以下、すなわちテーブル全体を出力として抽出することが定義されている。つまり、二重線の枠の要素及び太線の枠の要素が、Ｗｅｂページの比較対象のデータ部分として指定されている。
そして、ある時比較を行った結果、破線になっている部分が前回と異なっていたとする。
実行定義ではテーブル全体を指定したものの、破線の部分がたとえば検索を行った結果であるとすると、この部分は通常毎回異なるため、検知及び通知の対象からは除外したい。
このため、本実施の形態では、比較の対象として指定されている要素のうち、変更通知部１０７による通知が不要となる要素を定義し、比較が不要な要素については変更通知部１０７は通知を行わない。
【００２６】
図７は、本実施の形態に係るシステム構成例を示す構成図である。
【００２７】
図７において、検知ルール記憶部１０８は検知ルールを記憶する。
検知ルールは、変更検知・通知が不要であることを指示するルールである。
検知ルールも実行定義のパス指定と同様の手法により記述できる。すなわち、検知ルールの記述手段としてはたとえばＸＰａｔｈを用いることができるがこれに限定するものではない。
検知ルールは通知不要情報の例であり、また、検知ルール記憶部１０８は通知不要情報記憶部の例である。また、検知ルールに示される箇所（データ部分）は通知不要データ部分の例である。
検知ルール定義部１０９は検知ルールを定義するためのユーザインタフェースである。
検知ルール定義部１０９は通知不要情報生成部の例である。
なお、これらの要素以外は図１と同様であるので説明を省略する。
【００２８】
次に、ラッパー装置１００がクライアント装置１２０からの要求により既存Ｗｅｂシステム１３０にアクセスし、前回アクセス時に得られたＷｅｂページと比較することで変更を検出する動作を図８を用いて説明する。
図８は、図２の（Ａ）以降、つまり、Ｓ２０８以降の処理を示す。Ｓ２０７より前の処理は図２に示したとおりである。
図８は図３と比較して、Ｄ２０２のあとにＤ２０３が追加されたことを除き図３と同一であるので、Ｄ２０３のみ説明する。
Ｄ２０３では、Ｄ２０２で検出された異なる箇所に該当する検知ルールの有無を確認する。該当する検知ルールが定義されていない（Ｄ２０３でＹＥＳ）場合は、Ｄ２０２で検出された箇所は変更通知部１０７による通知対象であり、通知対象において不一致が検出されたことになるので、Ｓ２１０に進む。
一方、Ｄ２０２で検出された箇所に該当する検知ルールが定義されている場合（Ｄ２０３でＮＯ）は、Ｄ２０２で検出された箇所は変更通知部１０７による通知が不要であるため、当該箇所における不一致は管理者に通知することなく、Ｓ２１１に進む。
【００２９】
このように、変更通知部１０７によってサービスの再定義の必要性を通知され、その通知が実際は不要であった場合、管理者は検知ルール定義部１０９を用いて、検知ルールを定義することにより、次回以降通知がされないようにすることができる。
検知ルール定義部１０９の実現例としては、除外したいパス指定をテキストで指定する方法でもよいし、図６のようにグラフィカルに表示して、除外したいパス指定を選択させる方法でもよい。
【００３０】
以上のように、本実施の形態によれば、サービスへの影響が実質的にない要素に対して検知ルールを定義することによって、影響有無の検出の精度を高くできるという効果を得ることができる。
【００３１】
以上、本実施の形態では、木構造分解機能はさらに、変更検知・通知が不要であることを指示するルールである検知ルールを用いることで比較が必要ない箇所（部分木）を抽出し、
前記木構造比較機能は前記木構造分解機能によって抽出された、比較が必要ない箇所については比較を行わないようにし、
前記検知ルールを定義するためのユーザインタフェースである検知ルール定義機能を備えるサービス更新管理装置について説明した。
【００３２】
最後に、実施の形態１及び２に示したラッパー装置１００のハードウェア構成例について説明する。
図９は、実施の形態１及び２に示すラッパー装置１００のハードウェア資源の一例を示す図である。
なお、図９の構成は、あくまでもラッパー装置１００のハードウェア構成の一例を示すものであり、ラッパー装置１００のハードウェア構成は図９に記載の構成に限らず、他の構成であってもよい。
【００３３】
図９において、ラッパー装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００３４】
通信ボード９１５は、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていている。
【００３５】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。
【００３６】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。
【００３７】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
ラッパー装置１００の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。
【００３８】
上記プログラム群９２３には、実施の形態１及び２の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
【００３９】
ファイル群９２４には、実施の形態１及び２の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の更新」、「〜の設定」、「〜の抽出」、「〜の検知」、「〜の検出」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１及び２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００４０】
また、実施の形態１及び２の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１及び２の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態１及び２の「〜部」の手順や方法をコンピュータに実行させるものである。
【００４１】
このように、実施の形態１及び２に示すラッパー装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００４２】
【図１】実施の形態１に係るラッパー装置の構成例を示す図。
【図２】実施の形態１に係るラッパー装置等の動作例を示すフローチャート図。
【図３】実施の形態１に係るラッパー装置等の動作例を示すフローチャート図。
【図４】実施の形態１に係る木構造の一部のみを比較するだけで足りる理由を説明する図。
【図５】実施の形態１に係る木構造の一部のみを比較するだけで足りる理由を説明する図。
【図６】実施の形態２に検知ルールが必要な理由を説明する図。
【図７】実施の形態２に係るラッパー装置の構成例を示す図。
【図８】実施の形態２に係るラッパー装置等の動作例を示すフローチャート図。
【図９】実施の形態１及び２に係るラッパー装置のハードウェア構成例を示す図。
【符号の説明】
【００４３】
１００  ラッパー装置、１０１  定義実行エンジン、１０２  実行定義記憶部、１０３  Ｗｅｂページ保存部、１０４  変更検知部、１０５  木構造分解部、１０６  木構造比較部、１０７  変更通知部、１０８  検知ルール記憶部、１０９  検知ルール定義部、１２０  クライアント装置、１３０  既存Ｗｅｂシステム。
【図１】
2010049515.tif 000003
【図２】
2010049515.tif 000004
【図３】
2010049515.tif 000005
【図４】
2010049515.tif 000006
【図５】
2010049515.tif 000007
【図６】
2010049515.tif 000008
【図７】
2010049515.tif 000009
【図８】
2010049515.tif 000010
【図９】
2010049515.tif 000011