(57)【要約】【課題】Ｗｅｂページ・サーバ１３は、ＪＳＰページをフラグメント化し、フラグメントのコピーをキャッシュ１３に格納して、クライアント１５からのＷｅｂページ要求に対してキャッシュ１３のコピーを利用して、送信用Ｗｅｂページを作成し、それを送付する。作業者がフラグメント化作業をするときに、それを支援するツール２８を提供する。【解決手段】ＪＳＰ構文解析器３０は、入力されたＪＳＰページ２９に対して、該ＪＳＰページ２９の構文を解析し、解析結果としてのＪＳＰ構文木３１を出力する。パターン・データベース３２には、ヒューリスティクス（ｈｅｕｒｉｓｔｉｃｓ）に基づき所定のパターンが登録されている。パターン検査器３３は、ＪＳＰ構文木３１とパターン・データベース３２の各パターンがＪＳＰ構文木３１の各部分とのマッチングを行い、ＪＳＰページにおけるマッチング部分を示す注釈表３４を出力する。【選択図】      図３
2004348207.tif 000002
【特許請求の範囲】
【請求項１】
クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援装置において、
動的Ｗｅｂページ生成用ソース・ファイル内の記述範囲であって１個の送信用Ｗｅｂページ部分を生成する一連の処理に係る記述範囲に含まれる可能性がある各記述事項（以下、登録パターン用記述事項）に対して、それらの構文解析情報をそれぞれ登録パターンとして保持する登録パターン保持手段、
作業対象の動的Ｗｅｂページ生成用ソース・ファイル（以下、作業対象ソース・ファイル）の構文解析情報を作成する構文解析情報作成手段、及び
前記構文解析情報を各登録パターンと照合することにより作業対象ソース・ファイルにおいて登録パターン用記述事項が存在する場所をフラグメント化作業者へ通知する場所通知手段、
を有していることを特徴とするフラグメント関連作業支援装置。
【請求項２】
動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする請求項１記載のフラグメント関連作業支援装置。
【請求項３】
前記動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されていることを特徴とする請求項１記載のフラグメント関連作業支援装置。
【請求項４】
前記登録パターン用記述事項には、クライアントからの送信用Ｗｅｂページ送信要求に含まれるデータへのアクセスに係る処理事項、ビーンへのアクセスに係る処理事項、及び／又はループ処理に係る処理事項が含まれることを特徴とする請求項１記載のフラグメント関連作業支援装置。
【請求項５】
前記場所通知手段は、登録パターン用記述事項の場所と共に該登録パターン用記述事項の説明情報を通知することを特徴とする請求項１記載のフラグメント関連作業支援装置。
【請求項６】
クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援装置において、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対し、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＡ１外の記述部分に基づいて実行される操作Ｂ２が参照する変数の集合Ｃ１を算出する集合算出手段、
集合Ｃ１が、指定フラグメントＡ１内の記述部分に基づいて実行される操作Ｂ１からの影響を受ける変数を含むか否かを判定する判定手段、及び
前記判定手段の判定が「正」であれば、指定フラグメントＡ１は、フラグメントとして不的確である旨を通知するフラグメント化可否情報通知手段、
を有していることを特徴とするフラグメント関連作業支援装置。
【請求項７】
動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする請求項６記載のフラグメント関連作業支援装置。
【請求項８】
前記動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されていることを特徴とする請求項６記載のフラグメント関連作業支援装置。
【請求項９】
クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援装置において、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＤ１に対し、
指定フラグメントＤ１内の記述部分に基づいて実行される操作Ｅ１が参照する変数の集合Ｆ１を算出する第１の集合算出手段、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＤ１外の記述部分に基づいて実行される操作であって集合Ｆ１の変数に影響を及ぼす操作Ｅ２の集合Ｆ２を算出する第２の集合算出手段、
集合Ｆ２に含まれる操作Ｅ２が影響を与える変数であってかつ集合Ｆ１に属する変数の集合Ｆ３を算出する第３の集合算出手段、及び
集合Ｆ３に属する変数Ｇに係る情報を指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知するＩＤ候補通知手段、
を有していることを特徴とするフラグメント関連作業支援装置。
【請求項１０】
変数Ｇがパラメータ又はヘッダ情報であるか否かと言う第１の判定を行い該判定の結果が「正」であれば該変数Ｇは第１の種類の変数とし第１の種類の変数Ｇは指定フラグメントＤ１についての第１の種類のＩＤ候補に割当てる第１のＩＤ候補割当て手段、
第１の判定が「否」であるとき変数Ｇの型がプリミティブ又はストリングであるか否かと言う第２の判定を行い該判定結果が「正」であれば該変数Ｇを第２の種類の変数とし第２の種類の変数Ｇは指定フラグメントＤ１についての第２の種類のＩＤ候補に割当てる第２のＩＤ候補割当て手段、及び
第１及び第２の判定結果が共に否であるとき変数Ｇは第３の種類の変数とし第３の種類の変数Ｇは該変数Ｇの型としてのクラスと該クラスのスーパークラスとに属するメソッドであって返り値の型がプリミティブ又はストリングであるメソッドＨの集合Ｉを変数Ｇに対応付け（以下、Ｇに対応付けられたＩを「Ｉ（Ｇ）」と言う。）該Ｉ（Ｇ）を指定フラグメントＤ１についての第３の種類のＩＤ候補に割当てる第３のＩＤ候補割当て手段、
を有し、
前記ＩＤ候補通知手段は、指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知する情報には、各ＩＤ候補の種類に係る情報を含めることを特徴とする請求項９記載のフラグメント関連作業支援装置。
【請求項１１】
フラグメント化作業者が前記ＩＤ候補通知手段から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対し、
該変数Ｇが第１の種類の変数であるか否かと言う第５の判定を行い該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１の引渡し設定手段、
該変数Ｇが第２の種類の変数であるか否かと言う第６の判定を行い該判定の結果が「正」である場合、該変数Ｇが選択ＩＤであるか否かの第１の子判定を行い該判定の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第２の引渡し設定手段、
前記第１の子判定の結果が「否」である場合に、該変数Ｇのスコープがページであるか否かの第１の孫判定を行い該判定の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第３の引渡し設定手段、
前記第１の孫判定の結果が「否」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第４の引渡し設定手段、
該変数Ｇが第３の種類の変数であるか否かと言う第７の判定を行い該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かと言う第２の子判定を行い該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第５の引渡し設定手段、
第２の子判定の結果が「否」である場合に該変数Ｇのスコープがページであるか否かの第２の孫判定を行い該判定の結果が「正」であれば、該指定フラグメントＤ１における該変数Ｇのスコープをリクエストへ変更する第６の引渡し設定手段、及び
第２の孫判定の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第７の引渡し設定手段、
を有していることを特徴とする請求項１０記載のフラグメント関連作業支援装置。
【請求項１２】
前記Ｗｅｂページ・サーバによる前記処理には、前記Ｗｅｂページ・サーバは、クライアントからのＷｅｂページ送信要求に対してポリシー・ファイル内のコンポーネント情報に基づき各送信用Ｗｅｂページ部分を識別して、識別した各送信用Ｗｅｂページ部分についてのキャッシュ内のコピーの使用の可否を判断すると言う処理が含まれており、
フラグメント化作業者が前記ＩＤ候補通知手段から通知された種類別ＩＤ候補の中から選択した１個以上の選択ＩＤに対して、
第１又は第２の種類の変数である選択ＩＤは、該選択ＩＤをポリシー・ファイルのコンポーネントに設定する第１のコンポーネント設定手段、
第３の種類の変数に係る選択ＩＤは、該選択ＩＤと該選択ＩＤに係るメソッドの組からなるパラメータ名をポリシー・ファイルのコンポーネントに設定する第２のコンポーネント設定手段、及び
前記第１及び前記第２のコンポーネント設定手段の設定に基づくポリシー・ファイルを出力するポリシー・ファイル出力手段、
を有していることを特徴とする請求項１０記載のフラグメント関連作業支援装置。
【請求項１３】
フラグメント化作業者が前記ＩＤ候補通知手段から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対し、
該変数Ｇが第１及び第２の種類の変数であるか否かと言う第１０の判定を行い該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１０の引渡し設定手段、
該変数Ｇが第３の種類の変数であるか否かと言う第１１の判定を行い該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かの第１１の子判定を行い該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第１１の引渡し設定手段、及び
第１１の子判定の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１２の引渡し設定手段、
を有していることを特徴とする請求項１０記載のフラグメント関連作業支援装置。
【請求項１４】
動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする請求項９記載のフラグメント関連作業支援装置。
【請求項１５】
クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援方法において、
動的Ｗｅｂページ生成用ソース・ファイル内の記述範囲であって１個の送信用Ｗｅｂページ部分を生成する一連の処理に係る記述範囲に含まれる可能性がある各記述事項（以下、登録パターン用記述事項）に対して、それらの構文解析情報をそれぞれ登録パターンとして保持する登録パターン保持ステップ、
作業対象の動的Ｗｅｂページ生成用ソース・ファイル（以下、作業対象ソース・ファイル）の構文解析情報を作成する構文解析情報作成ステップ、及び
前記構文解析情報を各登録パターンと照合することにより作業対象ソース・ファイルにおいて登録パターン用記述事項が存在する場所をフラグメント化作業者へ通知する場所通知ステップ、
を有していることを特徴とするフラグメント関連作業支援方法。
【請求項１６】
動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする請求項１５記載のフラグメント関連作業支援方法。
【請求項１７】
前記動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されていることを特徴とする請求項１５記載のフラグメント関連作業支援方法。
【請求項１８】
前記登録パターン用記述事項には、クライアントからの送信用Ｗｅｂページ送信要求に含まれるデータへのアクセスに係る処理事項、ビーンへのアクセスに係る処理事項、及び／又はループ処理に係る処理事項が含まれることを特徴とする請求項１５記載のフラグメント関連作業支援方法。
【請求項１９】
前記場所通知ステップでは、登録パターン用記述事項の場所と共に該登録パターン用記述事項の説明情報を通知することを特徴とする請求項１５記載のフラグメント関連作業支援方法。
【請求項２０】
クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援方法において、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対し、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＡ１外の記述部分に基づいて実行される操作Ｂ２が参照する変数の集合Ｃ１を算出する集合算出ステップ、
集合Ｃ１が、指定フラグメントＡ１内の記述部分に基づいて実行される操作Ｂ１からの影響を受ける変数を含むか否かを判定する判定ステップ、及び
前記判定ステップの判定が「正」であれば、指定フラグメントＡ１は、フラグメントとして不的確である旨を通知するフラグメント化可否情報通知ステップ、を有していることを特徴とするフラグメント関連作業支援方法。
【請求項２１】
動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする請求項２０記載のフラグメント関連作業支援方法。
【請求項２２】
前記動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されていることを特徴とする請求項２０記載のフラグメント関連作業支援方法。
【請求項２３】
クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援方法において、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＤ１に対し、
指定フラグメントＤ１内の記述部分に基づいて実行される操作Ｅ１が参照する変数の集合Ｆ１を算出する第１の集合算出ステップ、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＤ１外の記述部分に基づいて実行される操作であって集合Ｆ１の変数に影響を及ぼす操作Ｅ２の集合Ｆ２を算出する第２の集合算出ステップ、
集合Ｆ２に含まれる操作Ｅ２が影響を与える変数であってかつ集合Ｆ１に属する変数の集合Ｆ３を算出する第３の集合算出ステップ、及び
集合Ｆ３に属する変数Ｇに係る情報を指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知するＩＤ候補通知ステップ、
を有していることを特徴とするフラグメント関連作業支援方法。
【請求項２４】
変数Ｇがパラメータ又はヘッダ情報であるか否かと言う第１の判定を行い該判定の結果が「正」であれば該変数Ｇは第１の種類の変数とし第１の種類の変数Ｇは指定フラグメントＤ１についての第１の種類のＩＤ候補に割当てる第１のＩＤ候補割当てステップ、
第１の判定が「否」であるとき変数Ｇの型がプリミティブ又はストリングであるか否かと言う第２の判定を行い該判定結果が「正」であれば該変数Ｇを第２の種類の変数とし第２の種類の変数Ｇは指定フラグメントＤ１についての第２の種類のＩＤ候補に割当てる第２のＩＤ候補割当てステップ、及び
第１及び第２の判定結果が共に否であるとき変数Ｇは第３の種類の変数とし第３の種類の変数Ｇは該変数Ｇの型としてのクラスと該クラスのスーパークラスとに属するメソッドであって返り値の型がプリミティブ又はストリングであるメソッドＨの集合Ｉを変数Ｇに対応付け（以下、Ｇに対応付けられたＩを「Ｉ（Ｇ）」と言う。）該Ｉ（Ｇ）を指定フラグメントＤ１についての第３の種類のＩＤ候補に割当てる第３のＩＤ候補割当てステップ、
を有し、
前記ＩＤ候補通知ステップでは、指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知する情報には、各ＩＤ候補の種類に係る情報を含めることを特徴とする請求項２３記載のフラグメント関連作業支援方法。
【請求項２５】
フラグメント化作業者が前記ＩＤ候補通知ステップにおいて通知した種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対し、
該変数Ｇが第１の種類の変数であるか否かと言う第５の判定を行い該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１の引渡し設定ステップ、
該変数Ｇが第２の種類の変数であるか否かと言う第６の判定を行い該判定の結果が「正」である場合、該変数Ｇが選択ＩＤであるか否かの第１の子判定を行い該判定の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第２の引渡し設定ステップ、
前記第１の子判定の結果が「否」である場合に、該変数Ｇのスコープがページであるか否かの第１の孫判定を行い該判定の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第３の引渡し設定ステップ、
前記第１の孫判定の結果が「否」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第４の引渡し設定ステップ、
該変数Ｇが第３の種類の変数であるか否かと言う第７の判定を行い該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かと言う第２の子判定を行い該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第５の引渡し設定ステップ、
第２の子判定の結果が「否」である場合に該変数Ｇのスコープがページであるか否かの第２の孫判定を行い該判定の結果が「正」であれば、該指定フラグメントＤ１における該変数Ｇのスコープをリクエストへ変更する第６の引渡し設定ステップ、及び
第２の孫判定の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第７の引渡し設定ステップ、
を有していることを特徴とする請求項２４記載のフラグメント関連作業支援方法。
【請求項２６】
前記Ｗｅｂページ・サーバによる前記処理には、前記Ｗｅｂページ・サーバは、クライアントからのＷｅｂページ送信要求に対してポリシー・ファイル内のコンポーネント情報に基づき各送信用Ｗｅｂページ部分を識別して、識別した各送信用Ｗｅｂページ部分についてのキャッシュ内のコピーの使用の可否を判断すると言う処理が含まれており、
フラグメント化作業者が前記ＩＤ候補通知ステップにおいて通知した種類別ＩＤ候補の中から選択した１個以上の選択ＩＤに対して、
第１又は第２の種類の変数である選択ＩＤは、該選択ＩＤをポリシー・ファイルのコンポーネントに設定する第１のコンポーネント設定ステップ、
第３の種類の変数に係る選択ＩＤは、該選択ＩＤと該選択ＩＤに係るメソッドの組からなるパラメータ名をポリシー・ファイルのコンポーネントに設定する第２のコンポーネント設定ステップ、及び
前記第１及び前記第２のコンポーネント設定ステップの設定に基づくポリシー・ファイルを出力するポリシー・ファイル出力ステップ、
を有していることを特徴とする請求項２４記載のフラグメント関連作業支援方法。
【請求項２７】
フラグメント化作業者が前記ＩＤ候補通知ステップにおいて通知した種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対し、
該変数Ｇが第１及び第２の種類の変数であるか否かと言う第１０の判定を行い該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１０の引渡し設定ステップ、
該変数Ｇが第３の種類の変数であるか否かと言う第１１の判定を行い該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かの第１１の子判定を行い該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第１１の引渡し設定ステップ、及び
第１１の子判定の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１２の引渡し設定ステップ、
を有していることを特徴とする請求項２４記載のフラグメント関連作業支援方法。
【請求項２８】
動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする請求項２３記載のフラグメント関連作業支援方法。
【請求項２９】
請求項１〜１４のいずれかのフラグメント関連作業支援装置における各手段としてコンピュータを機能させるためのフラグメント関連作業支援プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動的Ｗｅｂページをフラグメント化する作業に資するフラグメント関連作業支援装置、フラグメント関連作業支援方法及びフラグメント関連作業支援プログラムに係り、詳しくはフラグメント化作業者による各段階の作業を適切化及び能率化するフラグメント関連作業支援装置、フラグメント関連作業支援方法及びフラグメント関連作業支援プログラムに関するものである。
【０００２】
【従来の技術】
［動的Ｗｅｂページのキャッシュ］
動的に生成されるウェブページをキャッシュするためには、ＵＲＬのパラメータやＨＴＴＰのヘッダ情報に基づいてコンテンツを識別するＩＤを生成し、ＩＤが同じ要求に対してはキャッシュにコピーしておいたコンテンツを返すようにすればよい。非特許文献１では、以下のポリシー・ファイル（ｃａｃｈｅｓｐｅｃ．ｘｍｌ）に記述されたルールによってＩＤを生成する。
【０００３】
2004348207.tif 000003
【０００４】
上記のルールを使うと、ｎｅｗｓｃｏｎｔｒｏｌｌｅｒ  サーブレットに対して、パラメータ  ａｃｔｉｏｎ  の値が  ｖｉｅｗ  のときに、この値とパラメータ  ｃａｔｅｇｏｒｙ  の値に従って  ＩＤが生成される。ＩＤが同じになる要求に対しては、キャッシュにコピーがある場合には、サーブレットを実行する代わりに、キャッシュ内のコンテンツが返される。
【０００５】
次のＲ１〜Ｒ４はクライアントからのＷｅｂページ送信要求の具体例である。
Ｒ１．  ｈｔｔｐ：／／  ．．．  ／ｎｅｗｓｃｏｎｔｒｏｌｌｅｒ？ａｃｔｉｏｎ＝ｖｉｅｗ＆ｃａｔｅｇｏｒｙ＝ｓｐｏｒｔｓ＆ｕｓｅｒ＝Ａｌ
Ｒ２．  ｈｔｔｐ：／／  ．．．  ／ｎｅｗｓｃｏｎｔｒｏｌｌｅｒ？ａｃｔｉｏｎ＝ｖｉｅｗ＆ｃａｔｅｇｏｒｙ＝ｍｕｓｉｃ＆ｕｓｅｒ＝Ｂｏｂ
Ｒ３．  ｈｔｔｐ：／／  ．．．  ／ｎｅｗｓｃｏｎｔｒｏｌｌｅｒ？ａｃｔｉｏｎ＝ｖｉｅｗ＆ｃａｔｅｇｏｒｙ＝ｓｐｏｒｔｓ＆ｕｓｅｒ＝Ｃｈｒｉｓ
Ｒ４．  ｈｔｔｐ：／／  ．．．  ／ｎｅｗｓｃｏｎｔｒｏｌｌｅｒ？ａｃｔｉｏｎ＝ｒｅｑｕｅｓｔ＆ｃａｔｅｇｏｒｙ＝ｓｐｏｒｔｓ＆ｕｓｅｒ＝Ｄｏｎ
【０００６】
Ｒ１  と  Ｒ２  ではサーブレットを実行して、結果をキャッシュにコピーする。Ｒ３  では  Ｒ１  と同じＩＤが生成されるので、キャッシュからコンテンツを取り出して返答する。Ｒ４  では  キャッシュとは無関係にサーブレットを実行する。
【０００７】
［フラグメント化］
動的に生成されるページを構成するものの中には、変更の頻度が高い部分と変更の頻度が低い部分が存在している。ページ全体をキャッシュするには、もっとも変更の頻度が高い部分に合わせてコンテンツのコピーを識別する必要がある。このため多くのコピーを格納する必要が生じ、コピーは再使用され難くなる。すなわち、キャッシュの効果が低くなる。この問題を解決するには、変更の頻度に合わせてページを分割し、分割された部分を別々にキャッシュすればよい。分割されたページは  ＪＳＰ  では  ＜ｊｓｐ：ｉｎｃｌｕｄｅ＞タグを使って実行時に結合される。
【０００８】
このようなキャッシュを有効利用するための動的ウェブページを作成するための開発者の作業は次のようになる：
（１）  フラグメント化する範囲の特定を行う。
（２）  フラグメントに受け渡すデータの特定を行う。
（３）  ページをフラグメントに分割する。
（４）  キャッシュにコピーするフラグメントのためのＩＤを生成するルールを作成する。
【０００９】
【非特許文献１】
ＩＢＭ（株）が市販する”ＩＢＭ  ＷｅｂＳｐｈｅｒｅ”  の  ダイナミック・フラグメント・キャッシュ（ＤｙｎａＣａｃｈｅ）を解説するＵＲＬ：ｈｔｔｐ：／／ｗｗｗ−３．ｉｂｍ．ｃｏｍ／ｓｏｆｔｗａｒｅ／ｗｅｂｓｅｒｖｅｒｓ／ａｐｐｓｅｒｖ／ｄｏｃ／ｖ４０／ａｅ／ｉｎｆｏｃｅｎｔｅｒ／ｗａｓ／０４０５．ｈｔｍｌ
（本特許出願時の記述抜粋）『Ｄｙｎａｍｉｃ  ｆｒａｇｍｅｎｔ  ｃａｃｈｅ：Ａ  ＷｅｂＳｐｈｅｒｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｓｅｒｖｅｒ  ｐｅｒｆｏｒｍａｎｃｅ  ｅｎｈａｎｃｅｍｅｎｔ  ｉｓ  ｔｈｅ  ａｂｉｌｉｔｙ  ｔｏ  ｃａｃｈｅ  ｔｈｅ  ｏｕｔｐｕｔ  ｏｆ  ｄｙｎａｍｉｃ  ｓｅｒｖｌｅｔｓ  ａｎｄ  ＪＳＰ  ｆｉｌｅｓ，  ａ  ｔｅｃｈｎｏｌｏｇｙ  ｔｈａｔ  ｉｍｐｒｏｖｅｓ  ａｐｐｌｉｃａｔｉｏｎ  ｐｅｒｆｏｒｍａｎｃｅ．  Ｔｈｉｓ  ｔｅｃｈｎｏｌｏｇｙ，  ｗｏｒｋｉｎｇ  ｗｉｔｈｉｎ  ａｎ  ａｐｐｌｉｃａｔｉｏｎ  ｓｅｒｖｅｒ’ｓ  Ｊａｖａ  Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ  （ＪＶＭ），  ｉｎｔｅｒｃｅｐｔｓ  ｃａｌｌｓ  ｔｏ  ａ  ｓｅｒｖｌｅｔ’ｓ  ｓｅｒｖｉｃｅ  ｍｅｔｈｏｄ，  ａｎｄ  ｃｈｅｃｋｓ  ｗｈｅｔｈｅｒ  ｔｈｅ  ｉｎｖｏｃａｔｉｏｎ  ｃａｎ  ｂｅ  ｓｅｒｖｅｄ  ｆｒｏｍ  ａ  ｃａｃｈｅ．  Ｂｅｃａｕｓｅ  Ｊ２ＥＥ  ａｐｐｌｉｃａｔｉｏｎｓ  ｈａｖｅ  ｓｕｃｈ  ｈｉｇｈ  ｒｅａｄ−ｗｒｉｔｅ  ｒａｔｉｏｓ  ａｎｄ  ｃａｎ  ｔｏｌｅｒａｔｅ  ａ  ｓｍａｌｌ  ｄｅｇｒｅｅ  ｏｆ  ｌａｔｅｎｃｙ  ｉｎ  ｔｈｅ  ｆｒｅｓｈｎｅｓｓ  ｏｆ  ｔｈｅｉｒ  ｄａｔａ，  ｆｒａｇｍｅｎｔ  ｃａｃｈｉｎｇ  ｃｒｅａｔｅｓ  ａｎ  ｏｐｐｏｒｔｕｎｉｔｙ  〜』
【００１０】
【発明が解決しようとする課題】
動的Ｗｅｂページをキャッシュする仕組みはすでにあり、それを有効利用するためのフラグメント化の方法は知られているが、実用規模のアプリケーションに対して効果的にフラグメント化することは、非特許文献１に開示の従来技術等によっては支障がある。すなわち、フラグメントの範囲が不適切となり、結果、キャッシュにおける各フラグメントのコピーを結合する際のオーバーヘッドが増大したり、キャッシュにおける各フラグメントのコピーの再使用性が悪化したりする。動的Ｗｅｂページのフラグメント化に当たっては、次の困難が存在する。
【００１１】
（１）ページが複雑になると、画面のデザインとデータ処理のためのロジックが混在することになる。そのためフラグメント化によってアプリケーションの実行結果に影響がないかどうかは自明でない。或るフラグメントの範囲の指定に対してアプリケーションの動作が変化するかどうかを注意深くチェックする必要がある。
（２）フラグメントのコピーを識別するのに使えるデータは、フラグメントに渡されるパラメータやＨＴＴＰのヘッダ情報であるが、或るフラグメント範囲に対してパラメータやＨＴＴＰのヘッダ情報として使用することができるデータの種類は自明でない。したがって個々のフラグメント範囲に対して使用可能なデータを調べる必要がある。
（３）フラグメントの範囲が大きすぎると多くの異なるコピーが発生して、個々のコピーは再使用されにくくなる。一方でフラグメントの範囲が小さすぎると実行時のフラグメントの結合のオーバーヘッドが大きくなる。そのため適当な大きさの範囲でフラグメント化する必要があるが、或るフラグメント化でキャッシュが効果的に動作するかどうかはアプリケーションの動的な性質に依存する。したがってフラグメント化は本質的に試行錯誤が必要なプロセスである。ところがフラグメントの範囲を変化させるたびに（１）と（２）が必要になるので、手作業でフラグメント化を繰り返すことは難しい。フラグメント化の判断に必要な情報をフラグメントの範囲の変更に合わせて直ちにユーザにフィードバックするような、対話的にフラグメント化を支援する手法や装置はなかった。
【００１２】
本特許出願時では未公知であるが、本特許出願人が特許出願済みのＪＳＰスプリッティング・ツール（ＪＳＰ  Ｓｐｌｉｔｔｉｎｇ  Ｔｏｏｌ  ）は、データの依存関係がないフラグメントの特定と分割に使用できる。しかし動的ウェブページのキャッシュのためにはデータによって挙動の異なる部分をフラグメントにすることによって効果を得るので、データの依存関係を積極的に使うように分割する必要がある。そのため、ＪＳＰスプリッティング・ツールを、動的Ｗｅｂページの適切なフラグメント化に使用することには支障がある。
【００１３】
本発明の目的は、フラグメント化作業者による動的Ｗｅｂページの適フラグメント化作業を適切に支援できるフラグメント関連作業支援装置、フラグメント関連作業支援方法及びフラグメント関連作業支援プログラムを提供することである。
【００１４】
【課題を解決するための手段】
本発明のフラグメント関連作業支援装置、方法及びプログラムは、フラグメント化作業者がＷｅｂページ・サーバの処理に予め必要な作業を実施するときに該作業を支援する。クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分されている。Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施する。
【００１５】
本発明のフラグメント関連作業支援装置は、フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対する処理を実施し、次のものを有している。
動的Ｗｅｂページ生成用ソース・ファイル内の記述範囲であって１個の送信用Ｗｅｂページ部分を生成する一連の処理に係る記述範囲に含まれる可能性がある各記述事項（以下、登録パターン用記述事項）に対して、それらの構文解析情報をそれぞれ登録パターンとして保持する登録パターン保持手段、
作業対象の動的Ｗｅｂページ生成用ソース・ファイル（以下、作業対象ソース・ファイル）の構文解析情報を作成する構文解析情報作成手段、及び
前記構文解析情報を各登録パターンと照合することにより作業対象ソース・ファイルにおいて登録パターン用記述事項が存在する場所をフラグメント化作業者へ通知する場所通知手段。
【００１６】
本発明の別のフラグメント関連作業支援装置は次のものを有している。
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対し、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＡ１外の記述部分に基づいて実行される操作Ｂ２が参照する変数の集合Ｃ１を算出する集合算出手段、
集合Ｃ１が、指定フラグメントＡ１内の記述部分に基づいて実行される操作Ｂ１からの影響を受ける変数を含むか否かを判定する判定手段、及び
前記判定手段の判定が「正」であれば、指定フラグメントＡ１は、フラグメントとして不的確である旨を通知するフラグメント化可否情報通知手段。
【００１７】
本発明の他のフラグメント関連作業支援装置は、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＤ１に対する処理を実施するものであり、次のものを有している。
指定フラグメントＤ１内の記述部分に基づいて実行される操作Ｅ１が参照する変数の集合Ｆ１を算出する第１の集合算出手段、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＤ１外の記述部分に基づいて実行される操作であって集合Ｆ１の変数に影響を及ぼす操作Ｅ２の集合Ｆ２を算出する第２の集合算出手段、
集合Ｆ２に含まれる操作Ｅ２が影響を与える変数であってかつ集合Ｆ１に属する変数の集合Ｆ３を算出する第３の集合算出手段、、及び
集合Ｆ３に属する変数Ｇに係る情報を指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知するＩＤ候補通知手段。
【００１８】
本発明のフラグメント関連作業支援方法は次のステップを有している。
動的Ｗｅｂページ生成用ソース・ファイル内の記述範囲であって１個の送信用Ｗｅｂページ部分を生成する一連の処理に係る記述範囲に含まれる可能性がある各記述事項（以下、登録パターン用記述事項）に対して、それらの構文解析情報をそれぞれ登録パターンとして保持する登録パターン保持ステップ、
作業対象の動的Ｗｅｂページ生成用ソース・ファイル（以下、作業対象ソース・ファイル）の構文解析情報を作成する構文解析情報作成ステップ、及び
前記構文解析情報を各登録パターンと照合することにより作業対象ソース・ファイルにおいて登録パターン用記述事項が存在する場所をフラグメント化作業者へ通知する場所通知ステップ。
【００１９】
本発明の別のフラグメント関連作業支援方法は、フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対する処理を実施し、次のステップを有している。
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＡ１外の記述部分に基づいて実行される操作Ｂ２が参照する変数の集合Ｃ１を算出する集合算出ステップ、
集合Ｃ１が、指定フラグメントＡ１内の記述部分に基づいて実行される操作Ｂ１からの影響を受ける変数を含むか否かを判定する判定ステップ、及び
前記判定ステップの判定が「正」であれば、指定フラグメントＡ１は、フラグメントとして不的確である旨を通知するフラグメント化可否情報通知ステップ。
【００２０】
本発明の他のフラグメント関連作業支援方法は、フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＤ１に対する処理を実施し、次のステップを有している。
指定フラグメントＤ１内の記述部分に基づいて実行される操作Ｅ１が参照する変数の集合Ｆ１を算出する第１の集合算出ステップ、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＤ１外の記述部分に基づいて実行される操作であって集合Ｆ１の変数に影響を及ぼす操作Ｅ２の集合Ｆ２を算出する第２の集合算出ステップ、
集合Ｆ２に含まれる操作Ｅ２が影響を与える変数であってかつ集合Ｆ１に属する変数の集合Ｆ３を算出する第３の集合算出ステップ、及び
集合Ｆ３に属する変数Ｇに係る情報を指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知するＩＤ候補通知ステップ。
【００２１】
本発明のフラグメント関連作業支援プログラムは、前述の各フラグメント関連作業支援装置における各手段としてコンピュータを機能させる。あるいは、前述の各フラグメント関連作業支援方法における各ステップをコンピュータに実行させる。
【００２２】
【発明の実施の形態】
以降、本発明を実施の形態について具体的に説明する。なお、本発明は以下の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【００２３】
図１はインターネット・システム１０の概略図である。Ｗｅｂページ・サーバ１２は、記憶装置としてのキャッシュ１３を装備している。Ｗｅｂページ・サーバ１２は、インターネット１４を介して多数のクライアント１５から送信コンテンツとしての動的Ｗｅｂページについての送信要求を受け付ける。なお、Ｗｅｂページ・サーバは、インターネット１４の代わりにイントラネットへ接続され、イントラネットを介して接続されている各クライアントからの動的Ｗｅｂページについての送信要求を受け付けるようになっていてもよい。
【００２４】
動的Ｗｅｂページ生成用ソース・ファイルは、クライアント１５への送信用Ｗｅｂページを生成する処理を含み、かつ少なくとも一部がフラグメントに設定されている。すなわち、後述の一般的な動的Ｗｅｂページ生成用ソース・ファイル（以下、「第１の動的Ｗｅｂページ生成用ソース・ファイル」と言う。）では、動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されているのに対し、ジャカルタ・プロジェクト（Ｊａｋａｒｔａ  Ｐｒｏｊｅｃｔ）のキャッシュ・タグリブ（Ｃａｃｈｅ  Ｔａｇｌｉｂ）用の動的Ｗｅｂページ生成用ソース・ファイル（以下、「第２の動的Ｗｅｂページ生成用ソース・ファイル」と言う。）では、動的Ｗｅｂページ生成用ソース・ファイルはその一部のみがフラグメント化される。Ｗｅｂページ・サーバ１２は、１個又は２個以上のフラグメントの各々に基づいて生成されたＷｅｂページ部分のコピーをキャッシュ１３に格納し、クライアント１５からのＷｅｂページの送信要求に対して、送信要求Ｗｅｂページに係るフラグメントに対応するコピーがキャッシュ１３に有るか否かを判断し、有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアント１５へ送信する処理を実施する。
【００２５】
なお、動的Ｗｅｂページ生成用ソース・ファイルは例えばＪＳＰ（Ｊａｖａ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ：なお「Ｊａｖａ」は登録商標である。）ファイルであり、クライアント１５への送信用Ｗｅｂページは例えばＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルである。
【００２６】
図２はＪＳＰファイル１９とクライアント１５からの該ＪＳＰファイル１９の呼び出しに対してクライアント１５のディスプレイにおいて表示される表示内容２３との関係を示している。ＪＳＰファイル１９は動的Ｗｅｂページ生成用ソース・ファイルの一例であり、該ＪＳＰファイル１９から生成されるＨＴＭＬは、該ＪＳＰファイル１９を基にして生成されてＷｅｂページ・サーバ１２からクライアント１５へ送信される送信用Ｗｅｂページの一例である。或るクライアント１５は、ＪＳＰファイル１９の送信要求を出す。Ｗｅｂページ・サーバ１２は、その送信要求を受け付けて、ＪＳＰファイル１９に係るサーブレットを処理する。該当のサーブレットが無いときは、ＪＳＰからサーブレットを生成し、サーブレットを処理する。サーブレットを処理することによりＨＴＭＬファイルが生成され、該ＨＴＭＬファイルがＷｅｂページ・サーバ１２からクライアント１５へ送信され、クライアント１５のディスプレイに表示内容２３が表示される。フラグメント化されたＪＳＰからは、フラグメントの個数に等しいサーブレットと、それを結合して全体のＨＴＭＬファイルを作るサーブレットとが生成される。動的Ｗｅｂページ生成用ソース・ファイル１９は、その全体が、重複を排除されつつ先頭から末尾へ順番にフラグメント２０ａ，２０ｂ，・・・２０ｎに区分される。一方、表示内容２３は、その全体が、重複を排除されつつ内容部分２４ａ，２４ｂ，・・・２４ｍに区分されている。１個のＪＳＰファイル１９に対して、ｎは固定されているが、ｍは種々の条件によって変化する。すなわち、条件によっては、或る１個のフラグメント２４に対応する１個のサーブレットは、ＨＴＭＬ部分をまったく生成しないこともあるし、２個以上のＨＴＭＬ部分を生成することもある。
【００２７】
注意すべきことがある。フラグメント２０の中には、動的な送信用Ｗｅｂページ部分ではなく、静的な送信用Ｗｅｂページ部分に対応するフラグメントもあり得ることである。後述のアルゴリズム２〜４は、静的な送信用Ｗｅｂページ部分に対応するフラグメントに対しても、支障なく対処できるようになっているが、このことについては、後述する。
【００２８】
本発明に係るフラグメント関連作業支援装置は第１〜第４のツールを装備する。各ツールの機能は次の通りである。
第１のツール：フラグメント抽出のヒントをフラグメント化作業者に提示する。
第２のツール：フラグメント化作業者が作業対象のＪＳＰにおいて指定したフラグメント候補に対して、該フラグメントの正当性をチェックする。
第３のツール：フラグメント化作業者が作業対象のＪＳＰにおいて指定したフラグメントに対して、キャッシュＩＤの指定に使用できるデータを特定する。
第４のツール：フラグメントとキャッシュＩＤを生成するルールを作成する。
【００２９】
第１のツールは、ＪＳＰページの中からフラグメント化を考慮すべき部分のヒントを提示する。第１のツールが実装するアルゴリズム１は次の通りである。
2004348207.tif 000004
【００３０】
パターンとしては例えば（１）  パラメータやヘッダ情報へのアクセス、（２）  Ｂｅａｎへのアクセス、及び（３）  ループがある。各々について詳述する。
【００３１】
（１）  パラメータやヘッダ情報へのアクセス：
パラメータやヘッダ情報へのアクセスがあると、そのアクセスの近辺ではパラメータやヘッダ情報に依存した処理が行われ、それ以外の部分と性質が異なる可能性が高い。たとえば次のようなものをパターンＰ１，Ｐ２として登録しておく。
Ｐ１：  ｒｅｑｕｅｓｔ．ｇｅｔＰａｒａｍｅｔｅｒ（．．．）
Ｐ２：  ＜ｊｓｐ：ｓｅｔＰｒｏｐｅｒｔｙ  ｎａｍｅ＝．．．  ｐｒｏｐｅｒｔｙ＝．．．  ｐａｒａｍ＝．．．／＞
【００３２】
上記のパターンに対して、次のような入力ＪＳＰページを考える。
Ｌ１：  ＜％
Ｌ２：  Ｓｔｒｉｎｇ  ｕｓｅｒ  ＝  ｒｅｑｕｅｓｔ．ｇｅｔＰａｒａｍｅｔｅｒ（”ｕｓｅｒ”）；
Ｌ３：  ｉｆ  （ｕｓｅｒ．ｅｑｕａｌｓ（””））  ｛ｕｓｅｒ  ＝  ｄｅｆａｕｌｔＵｓｅｒ；｝
Ｌ４：  ｏｕｔ．ｐｒｉｎｔｌｎ（”Ｕｓｅｒ：  ”  ＋  ｕｓｅｒ）；
Ｌ５：  ％＞
【００３３】
Ｐ１とＬ２  がマッチし、Ｌ２に対して”パラメータのアクセス”というＰ１の説明がユーザに提示される。
【００３４】
（２）  Ｂｅａｎ  へのアクセス：
Ｂｅａｎへのアクセスがあると、その  Ｂｅａｎ  に依存した出力を行う可能性が高い。次のようなものをパターンとして登録しておく。
Ｐ５：  ＜ｊｓｐ：ｇｅｔＰｒｏｐｅｒｔｙ  ．．／＞
Ｐ６：  ＜ｂｅａｎ：ｗｒｉｔｅ  ．．／＞
【００３５】
（３）  ループ：
ループの内側では、繰り返しごとに異なる出力を行う可能性が高い。次のようなものをパターンとして登録しておく。
Ｐ３：  ｆｏｒ  （．．．；  ．．．；  ．．．）  ｛．．．｝
Ｐ４：  ＜ｌｏｇｉｃ：ｉｔｅｒａｔｅ  ｉｄ＝．．．  ｎａｍｅ＝．．．＞．．．＜／ｌｏｇｉｃ：ｉｔｅｒａｔｅ＞
パターンは上記のものに限られたわけではなく、必要に応じてデータベースに追加する。特に一般的な知識だけでなく、プロジェクト固有のタグライブラリに関する情報を追加することによって、より適切なヒントを提示するようにできる。
【００３６】
図３は第１のツール２８の構成説明図である。ＪＳＰ構文解析器３０は、入力されたＪＳＰページ２９に対して、該ＪＳＰページ２９の構文を解析し、解析結果としてのＪＳＰ構文木３１を出力する。パターン・データベース３２には、ＪＳＰページにおいて実行出力のバリエーション・再利用度・変更頻度などが他の部分と異なる可能性が高い箇所のヒューリスティクス（ｈｅｕｒｉｓｔｉｃｓ）に基づいたパターンが登録されている。パターン検査器３３は、ＪＳＰ構文木３１とパターン・データベース３２の各パターンがＪＳＰ構文木３１の各部分とのマッチングを行い、ＪＳＰページに対する注釈表３４を出力する。ＪＳＰページに対する注釈表３４には、ＪＳＰページ２９においてパターン・データベース３２のパターンとマッチする場所、及びマッチしたパターンに結び付けられている説明が含まれ、フラグメント化作業者はＪＳＰページに対する注釈表３４よりＪＳＰページ２９におけるフラグメント化可能な場所についての情報を得る。
【００３７】
第１のツール２８では、ＪＳＰ構文解析のために、構文木を利用しているが、それに限定されず、他の構文解析方法も適宜、利用可能である。例えば、ＪＳＰページ２９におけるステートメントを適当に区分し、区分と所定の登録パターンとの対比によって、構文解析することも可能である。
【００３８】
図４（ａ）及び（ｂ）は第１のツール２８に登録されるパターン例及び該パターン例を構文解析して出力される構文木を示している。次は入力ＪＳＰファイルの内容例を示す。図５は該入力ＪＳＰファイルを構文解析して出力される構文木と共に、該構文木において図４のパターンがマッチングした場所を示している。マッチング場所は図５において破線の囲いＺ１で示されている。
［入力ＪＳＰファイル］
＜ＨＴＭＬ＞
＜ＨＥＡＤ＞
＜ＴＩＴＬＥ＞ｓａｍｐｌｅ．ｊｓｐ＜／ＴＩＴＬＥ＞
＜／ＨＥＡＤ＞
＜％  Ｓｔｒｉｎｇ  ｕｓｅｒＮａｍｅ  ＝  ｒｅｑｕｅｓｔ．ｇｅｔＰａｒａｍｅｔｅｒ（”ｕｓｅｒ＿ｎａｍｅ”）；  ％＞
＜ＢＯＤＹ＞
Ｕｓｅｒ  ：  ＜％＝  ｕｓｅｒＮａｍｅ  ％＞
＜／ＢＯＤＹ＞
＜／ＨＴＭＬ＞
【００３９】
第２のツールは第１のツールで得られたフラグメント化のヒントを基にして、フラグメント化作業者はフラグメントの範囲を指定する。第２のツールではユーザが指定した範囲でフラグメント化可能かどうかをチェックする。フラグメント内での操作の影響がフラグメント外にある場合には、フラグメントを実際に実行して出力を得るのと、フラグメントのキャッシュのコピーから出力を得るのでは結果が異なる可能性がある。そのため、そのような範囲ではフラグメント化できないと判断する。入力として与えられた  ＪＳＰページに対して、データ依存解析と制御依存解析を行うことによって操作の影響を求める。Ｂｅａｎ  やタグライブラリのソースコードがない場合には、逆コンパイラを使ってバイトコードを解析する。
【００４０】
第２のツールが実装するアルゴリズム２は次の通りである。
2004348207.tif 000005
【００４１】
要約すると、アルゴリズム２では、フラグメント化作業者が入力ＪＳＰファイルにおいてフラグメントとして指定した範囲Ｙ１とＹ１以外の範囲Ｙ２とに入力ＪＳＰファイルを区分し、Ｙ１内の操作が影響を与える変数でありかつＹ２の操作が参照する変数が存在するならば、該範囲Ｙ１のフラグメント化は不可能と判断し、存在しなければ、該範囲Ｙ１のフラグメント化は可能と判断する。
【００４２】
フラグメント化不可能との判断がなされた場合には、その旨がフラグメント化作業者に報告され、フラグメント化作業者は範囲の指定のやり直しを行う。これに対して、フラグメント化可能との判断がなされた場合には、フラグメント化作業者は第３のツールを使用する次の段階へ作業を進める。
【００４３】
フラグメント化作業者が、動的な送信用Ｗｅｂページ部分に対応しない、すなわち静的な送信用Ｗｅｂページ部分に対応するフラグメントに係る範囲Ｙ１を入力ＪＳＰファイルにおいて指定した場合、上記アルゴリズム２においてＳｆは空集合φとなり、ｉｆ  （Ｑ  ∩  Ｓｆ  ≠  φ）  は「否」となる。結果、フラグメント化作業者へは、フラグメント化可能の旨が通知される。
【００４４】
図６は第２のツール３８の構成説明図である。第２のツール３８はＪＳＰページ２９及びＪＳＰページの範囲の指定４６を入力される。図６のＪＳＰページ２９は図３のＪＳＰページ２９と同一である。ＪＳＰコンパイラ３９はＪＳＰページ２９をＪａｖａコード４０へ変換する。ＪＳＰコンパイラ３９は、Ｊａｖａコンパイラとは異なる。Ｊａｖａコンパイラは、Ｊａｖａプログラムのソース・コードとしてのＪａｖａコードをバイトコードへ変換するものであり、ＪＳＰコンパイラ３９は、ＪＳＰページ２９をソース・コードとしてのＪａｖａコードへ変換するものである。Ｊａｖａ構文木解析器４１はＪａｖａコード４０の構文を解析し、Ｊａｖａコード４０からＪａｖａ構文木４２を生成する。ＪＳＰコンパイラ３９は、また、ＪＳＰページとＪａｖａコードとの対応表４３を生成する。図６において点線の境界線より上の各要素における処理は第２のツール３８において１度、実行されるのみであり、境界線より下の各要素における処理はフラグメント化作業者がＪＳＰページの範囲の指定４６を変更するごとに繰返し実行される。フラグメント化作業者は、ＪＳＰページ２９を表示したコンピュータ画面においてフラグメントの範囲を指定する。フラグメント化作業者によるフラグメント範囲指定は、図３のＪＳＰページに対する注釈表３４の出力に基づく。ＪＳＰページからＪａｖａコードへの対応変換器４７は、ＪＳＰページとＪａｖａコードとの対応表４３とＪＳＰページの範囲の指定４６とを照合して、Ｊａｖａコードの範囲の指定４８を実施する。Ｊａｖａコードの範囲の指定４８は、Ｊａｖａコード４０においてＪＳＰページの範囲の指定４６の対応範囲に相当する。操作の影響検査器５１は、Ｊａｖａ構文木４２とＪａｖａコードの範囲の指定４８とからの情報に基づいて前述のアルゴリズム２を実行し、フラグメント化可否のフラグ５２を出力する。フラグメント化可否のフラグ５２は、ＪＳＰページの範囲の指定４６がフラグメント化可能か否かについてのフラグメント化作業者へ通知に対応するするものである。
【００４５】
第３のツールは、第２のツールにおいてフラグメント化可能と判断された、ＪＳＰページ２９上の領域に対してキャッシュＩＤの指定に使用できるデータの特定を行う。キャッシュＩＤの指定に使用できるデータは次のもののいずれかである。
（ａ）もとのＪＳＰページに対するパラメータかＨＴＴＰヘッダ情報である。
（ｂ）フラグメントに渡されるデータで、プリミティブ型（ｂｏｏｌｅａｎやｉｎｔなど）かＳｔｒｉｎｇ型である。
（ｃ）フラグメントに渡されるデータで、返値がプリミティブ型（ｂｏｏｌｅａｎやｉｎｔなど）かＳｔｒｉｎｇ型であるメソッドを持っている。
【００４６】
次のアルゴリズム３は、上記の条件（ａ）〜（ｃ）に合うデータを保持している変数を計算するものであり、第３のツールに実装されるものである。（ｃ）のデータに関しては、変数とメソッドの組を計算する。また以降の第４のツール使用のために、フラグメントに渡されるデータを保持する変数すべても計算する。パラメータとヘッダ情報も変数として処理する。そのため入力ＪＳＰの最初の文が、仮想的にすべてのパラメータとヘッダ情報に影響を与える操作であるとみなす。
【００４７】
2004348207.tif 000006
2004348207.tif 000007
【００４８】
Ｖａ，  Ｖｂ，  Ｖｃ，  Ｍｃ（ｖ）  の要素がフラグメント化作業者へ報告される。フラグメント化作業者は報告されたデータを使ってフラグメントのキャッシュＩＤの指定ができると判断した場合には、次の第４のツール使用の段階へ進む。第３のツールがキャッシュＩＤの指定には不十分と判断した場合には、フラグメント化作業者はフラグメントの範囲の指定をやり直す。このやり直しにおいては、フラグメント化作業者は、再度、第２及び第３のツールを使用することになる。
【００４９】
アルゴリズム３において、「ｖのクラス」とは、ｖの型が、プリミティブやＳｔｒｉｎｇでなく、クラスである場合に、該クラスのことを言っている。例えば、オブジェクト指向言語のＪａｖａにおいて、ａｂｃｄなるクラスが定義され、ａｂｃｄのインスタンスｖを生成するときに使用される「ａｂｃｄ  ｖ  ＝  ｎｅｗ  ａｂｃｄ（）」なる記述に対して、ａｂｃｄは変数ｖの型であり、ａｂｃｄはｖのクラスである。「ｖのクラスとスーパークラスのすべてのメソッド」における「ｖのクラスとスーパークラス」との関係は、ｖのクラスは該スーパークラスを継承しているクラスとなっている関係を意味する。
【００５０】
アルゴリズム３を要約すると次の通りである。入力ＪＳＰファイルに対して、フラグメント化作業者がフラグメントとして指定した記述範囲をＹ１とし、Ｙ１以外の記述範囲Ｙ２とする。すなわち、入力ＪＳＰファイルをＹ１，Ｙ２の２個に区分する。範囲Ｙ１内の操作が参照する変数Ｘ１に対して、範囲Ｙ２内の操作Ｗが影響を与えるとする。すべての変数Ｘ１の内、操作Ｗが影響を与える変数をＸ２とすると、Ｘ２をキャッシュＩＤの候補としてフラグメント化作業者に報告する。変数Ｘ２が、パラメータやヘッダ情報でなく、また、Ｘ２の型がプリミティブやＳｔｒｉｎｇでないときは、Ｘ２は、その型となっているクラス及び該クラスのスーパークラスに含まれるメソッドに対応付けられる。そして、該メソッドの返値の型がプリミティブかＳｔｒｉｎｇであれば、Ｘ２と該メソッドの組をキャッシュＩＤの候補とする。
【００５１】
図７は第３のツール５５の構成説明図である。第３のツール５５において、図６の第２のツール３８の要素と同一のものは同符号で示す。データ依存解析器５６は、アルゴリズム３の実行において、フラグメント化作業者がＪＳＰページにおいてフラグメントとして指定した範囲Ｙ１における操作に係る情報はＪａｖａコードの範囲の指定４８の入力に基づき把握し、また、変数Ｘ１，Ｘ２、及び操作Ｗ等のその他の情報に関してはＪａｖａ構文木４２から入力に基づき把握する。データ依存解析器５６からの出力５７は、変数表Ｖ，Ｖａ，Ｖｂ，Ｖｃ及びメソッド表Ｍｃ（ｖ）を含む。
【００５２】
フラグメント化作業者は、第３のツールの出力結果に対して、実際にキャッシュＩＤを生成するためのデータの指定を行う。このデータ指定においては所定のユーザ・インターフェースが利用される。第３のツールの実行結果が次のものであるとする。
Ｖａ  ＝  ｛ｕｓｅｒ｝
Ｖｂ  ＝  ｛ｉｄ｝
Ｖｃ  ＝  ｛ｔｈｉｎｋＰａｄ，  ｔｈｉｎｋＰａｄＤＢ｝
Ｍｃ（ｔｈｉｎｋＰａｄ）  ＝  ｛ｇｅｔＮａｍｅ（），  ｇｅｔＰｒｉｃｅ（），  ｇｅｔＮａｍｅ（）｝Ｍｃ（ｔｈｉｎｋＰａｄＤＢ）  ＝  ｛ｇｅｔＩｄ（）｝
【００５３】
ユーザ・インターフェースは次のチェックリストをコンピュータ画面に表示する。
2004348207.tif 000008
【００５４】
フラグメント化作業者はキャッシュＩＤ  を生成するために使うデータを１個又は２個以上、指定する。データの指定はフラグメント化作業者が”□”を選択することにより行われる。選択された”□”はコンピュータ画面上において”■”に変化する。次は、フラグメント化作業者によるデータ指定が行われたチェックリストを示している。
2004348207.tif 000009
【００５５】
ここで選択された項目の変数は、次の第４のツールの使用のために、Ｖｓ  ＝  ｛ｉｄ，  ｔｈｉｎｋＰａｄ｝、メソッドを  Ｍｓ（ｔｈｉｎｋＰａｄ）  ＝  ｛ｇｅｔＮａｍｅ（）｝  として記憶される。この記録は後述の図８の第４の入力６２に対応する。なお、Ｍｓ（ｔｈｉｎｋＰａｄ）は、変数ｔｈｉｎｋＰａｄに係るメソッドＭｓを意味し、Ｍｓ（ｔｈｉｎｋＰａｄ）におけるｔｈｉｎｋＰａｄは、Ｊａｖａ言語等における引数を意味するものではない。
【００５６】
第４のツールは、データが正しく各フラグメントに伝播されるように、またキャッシュＩＤの生成に必要な値が各フラグメントのパラメータに現れるように、元のＪＳＰページを分割する。なお、フラグメント化処理により、元のＪＳＰページからは、１個の親のＪＳＰページと複数個のフラグメントＪＳＰページとが生成される。データの属性に応じて、以下のように処理方法を選択する。親ＪＳＰページのパラメータはフラグメントに自動的に渡されるので、なにもしない。また、スコープが  ａｐｐｌｉｃａｔｉｏｎ，  ｓｅｓｓｉｏｎ，  ｒｅｑｕｅｓｔのデータは明示しなくても伝播されるので、それらがキャッシュＩＤの生成に使われない場合には、なにもしない。第４のツールが実装するアルゴリズム４は次の通りである。なお、アルゴリズム４には後の説明の便宜上、行番号１００〜１２６を左端に付している。
【００５７】
2004348207.tif 000010
2004348207.tif 000011
【００５８】
アルゴリズム４を要約すると、次の通りである。まず、ｖがＶａに属しているか否かの判定１が行われる（行番号１０１）。判定１の結果が「正」であれば、行番号１０２の［なにもしない］が実行される。判定１が否であれば、ｖがＶｂに属しているか否かの判定２が行われる（行番号１０３）。判定２の結果の結果が「否」であれば、ｖがＶｃに属しているか否かの判定３が行われる（行番号１１３）。判定２の結果が「正」である場合、さらに、ｖがＶｓに属しているか否かの判定２１が行われる（行番号１０４）。判定２１の結果が「正」である場合は、行番号１０５の（１）が実行され、「否」である場合は、ｖのスコープがｐａｇｅであるときは行番号１０８の（１）が実行され、また、ｖのスコープがｐａｇｅでないときは行番号１１０の［なにもしない］が実行される。判定３の結果が「正」である場合、さらに、ｖがＶｓに属しているか否かの判定３ａが行われる（行番号１１４）。判定３ａの結果が「正」である場合は、行番号１１６の（２）が実行され、また、「否」である場合は、ｖのスコープがｐａｇｅであるか否かの判定３ａａが行われる（行番号１１９）。判定３ａａの結果が「正」である場合は、行番号１２０の（３）が実行され、また、「否」である場合は、行番号１２２の［なにもしない］が実行される。
【００５９】
なお、アルゴリズム３，４は、静的な送信用Ｗｅｂページ部分に対応するフラグメントに対しても、支障なく対処できるようになっている。フラグメント化作業者が、動的な送信用Ｗｅｂページ部分に対応しない、すなわち静的な送信用Ｗｅｂページ部分に対応するフラグメントに係る範囲Ｙ１を入力ＪＳＰファイルにおいて指定した場合、アルゴリズム３では、フラグメントに渡されるデータを含む変数の集合Ｖは空集合φとなるので、Ｖａ，  Ｖｂ，  Ｖｃ  もすべて空集合になる。アルゴリズム４では、アルゴリズム３の結果を受けて、範囲Ｙ１に係るフラグメントに対してはパラメータなどの指定がない、すなわち、常に同じ値のキャッシュＩＤを生成するルールが出力されることになる。こうして、該フラグメントについては１個のコピーのみ存在し、該１個のコピーが、該フラグメントに係る送信用Ｗｅｂページ部分として使用されることになる。
【００６０】
アルゴリズム４におけるフラグメントへのデータの渡し態様は、「なにもしない」を除くと、以下の（１）〜（３）の３個あり、各態様について詳述する。なお、フラグメント  ｆｒａｇｍｅｎｔ．ｊｓｐとは、フラグメント化対象のＪＳＰページのフラグメントファイルであり、親ＪＳＰとは、フラグメント  ｆｒａｇｍｅｎｔ．ｊｓｐを結合して、フラグメント化対象のＪＳＰページと同一の送信用Ｗｅｂページを生成するＪＳＰファイルである。
【００６１】
（１）  データをフラグメントのパラメータとして渡す。：
例えば変数  ｉｄ  の値をパラメータとして渡すには、フラグメントを呼び出すときに＜ｊｓｐ：ｐａｒａｍ＞タグで指定するようにＪＳＰページを変更する。
2004348207.tif 000012
またフラグメントでは、ｒｅｑｕｅｓｔオブジェクトから値を取り出して使用する。
2004348207.tif 000013
【００６２】
変数がプリミティブ型の場合、Ｓｔｒｉｎｇ  型に変換してパラメータにする。またフラグメントでは  Ｓｔｒｉｎｇ  をプリミティブ型に戻して使用する。例えばｉｄ  の型が  ｉｎｔ  のとき、
2004348207.tif 000014
【００６３】
（２）  メソッドの実行結果をフラグメントのパラメータとして渡す。：
例えば変数ｔｈｉｎｋＰａｄに対してｇｅｔＮａｍｅ（）を実行した結果の値をパラメータとして渡すには、フラグメントを呼び出すときに＜ｊｓｐ：ｐａｒａｍ＞タグで指定するようにＪＳＰページを変更する。
2004348207.tif 000015
パラメータ名は他のパラメータと重ならないように生成する。またこのパラメータの値はフラグメントでは不要であるので、フラグメントではこのパラメータにアクセスするコードは挿入されない。
【００６４】
（３）  スコープをｒｅｑｕｅｓｔに変更する。：
ｐａｇｅスコープの変数の宣言を、ｒｅｑｕｅｓｔに変更する。変数の宣言はフラグメント化すると、親ＪＳＰとフラグメントの両方に現れる。
2004348207.tif 000016
【００６５】
第４のツールは、キャッシュＩＤを生成するルールの出力する機能も装備する。すなわち、第４のツールは、フラグメント化作業者が指定したキャッシュＩＤの生成に使用する変数の集合  Ｖｓ  とメソッドの集合Ｍｓ（ｖ）を使ってキャッシュ・ポリシーを出力する。第４のツールは次の第５のアルゴリズムも実装する。
【００６６】
2004348207.tif 000017
【００６７】
これにより、入力が  Ｖｓ  ＝  ｛ｉｄ，  ｔｈｉｎｋＰａｄ｝、Ｍｓ（ｔｈｉｎｋＰａｄ）  ＝  ｛ｇｅｔＮａｍｅ（）｝  の場合、次のようなキャッシュ・ポリシー・ファイルが生成される。
2004348207.tif 000018
【００６８】
図８は第４のツール６０の構成説明図である。第４のツール６０において、図３及び図６の要素と同一の要素は、図３及び図６の要素と同一の符号を付している。第３の入力６１は、図７の第３のツール５５の出力５７である。ＪＳＰフラグメント化器６５は、ＪＳＰ構文木３１と第１〜第４の入力２９，４６，６１，６２とに基づいて変更されたＪＳＰ構文木７０及びフラグメント構文木７１を生成する。ＪＳＰフラグメント化器６５は、ＪＳＰページそのものではなく、ＪＳＰ構文木３１を処理するようになっているので、ＪＳＰフラグメント化器６５が出力する変更されたＪＳＰ構文木７０及びフラグメント構文木７１も構文木になっている。ＪＳＰ出力器７２は、変更されたＪＳＰ構文木７０及びフラグメント構文木７１をそれぞれ変更されたＪＳＰページ７３及びフラグメントＪＳＰページ７４へ変換する。変更されたＪＳＰページ７３は前述の親ＪＳＰ  ｍａｉｎ．ｊｓｐに対応し、フラグメントＪＳＰページ７４は前述のｆｒａｇｍｅｎｔ．ｊｓｐ等のフラグメント化ファイルに対応し、変更されたＪＳＰページ７３は＜ｊｓｐ：ｉｎｃｌｕｄｅ  ｎａｍｅ＝”ｆｒａｇｍｅｎｔ．ｊｓｐ”＞等を使って、複数個のフラグメントＪＳＰページ７４を結合するようになっている。キャッシュ・ポリシー生成器７７は、前述のアルゴリズム５を実現するものであり、キャッシュ・ポリシー・ファイル７８は前述の［ｃａｃｈｅｓｐｅｃ．ｘｍｌ］に対応する。
【００６９】
図９はフラグメント化作業過程におけるフラグメント化作業者８０と統合ツール８１との関係をまとめたものである。統合ツール８１は、第１のツール２８、第２のツール３８、第３のツール５５、及び第４のツール６０を含む。フラグメント化作業者８０が行う各作業はフラグメント化作業者８０の下側において作業順に上から下へ示されている。フラグメント化作業者８０から各ツールへ渡す情報はフラグメント化作業者８０から各ツールへ向く矢印で、また、各ツールが処理結果としてフラグメント化作業者８０へ通知する事項は各ツールからフラグメント化作業者８０へ向く矢印で示されている。
【００７０】
今まで説明したＪＳＰページのフラグメント化は、ＪＳＰページの全体をフラグメント化するものであったが、ＪＳＰページの一部のみをフラグメント化して、フラグメント化した部分に係るコピーのみをキャッシュにコピー場合にも、前述した第１〜第４のツールを適宜、使用できる。ジャカルタ・プロジェクト（Ｊａｋａｒｔａ  Ｐｒｏｊｅｃｔ）のキャッシュ・タグリブ（Ｃａｃｈｅ  Ｔａｇｌｉｂ）  ［Ｊａｋａｒｔａ  Ｐｒｏｊｅｃｔ，  ”Ｃａｃｈｅ  Ｔａｇｌｉｂ  ｖｅｒｓｉｏｎ  １．０”，ｈｔｔｐ：／／ｊａｋａｒｔａ．ａｐａｃｈｅ．ｏｒｇ／ｔａｇｌｉｂｓ／ｄｏｃ／ｃａｃｈｅ−ｄｏｃ／］  ではＪＳＰページの中でキャッシュする範囲をタグによって指定する。タグには  ｎａｍｅと  ｋｅｙ  の属性が付加できる。属性  ｎａｍｅ  で個々の範囲に名前をつけ、属性  ｋｅｙで範囲のコピーを識別するＩＤを生成する式を指定する。例示すると、次の通りである。
【００７１】
2004348207.tif 000019
【００７２】
上記のページでは、ｓｅｃｔｉｏｎ  Ｂ  の範囲がキャッシュの対象になり、ａｄ  という名前がつけられる。範囲の実行結果のコピーは変数  ｔｈｉｎｋＰａｄＩｄ  の値によって識別される。同じキーを生成する場合には、キャッシュにコピーがあればｓｅｃｔｉｏｎ  Ｂは実行されず、かわりにコピーが結果として出力される。キャッシュを意識しないで作成された  ＪＳＰ  ページに  Ｃａｃｈｅ  Ｔａｇｌｉｂ  を埋め込むときに、タグを埋め込む場所を決定するのとキー表現を作成するのに本発明の手法を使うことができる。タグを埋め込む場所を決定することがフラグメントの範囲を決めることに対応し、キー表現を作成することがキャッシュＩＤを生成するルールの出力に対応する。フラグメント抽出のヒントの提示、フラグメント化の正当性のチェック、キャッシュＩＤの指定に使用できるデータの特定の各ツールは今まで説明したものと同じである。異なる点は、Ｃａｃｈｅ  Ｔａｇｌｉｂ  の場合はキャッシュされる範囲が別のページに分離されないことである。そのため、前述のアルゴリズム４は次のアルゴリズム４ａのように簡略化され、メソッドの実行結果を、キーを作るのに使うときだけローカル変数に格納するようにする。
【００７３】
2004348207.tif 000020
【００７４】
フラグメント関連作業支援装置の他の実施の形態について説明する。フラグメント関連作業支援装置は、フラグメント化作業者がＷｅｂページ・サーバの処理に関与するフラグメントに関連する作業を実施するときに該作業を支援する。Ｗｅｂページ・サーバは、例えば図１のＷｅｂページ・サーバ１２である。Ｗｅｂページ・サーバ１２は、前述したように、クライアント１５へ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュ１３に格納し、クライアント１５へ送信する送信用Ｗｅｂページに利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュ１３に有れば、該送信用Ｗｅｂページ部分は該コピーとして、全体の送信用Ｗｅｂページを送信するようになっている。動的Ｗｅｂページ生成用ソース・ファイルは、通常は、図２のＪＳＰファイル１９により説明したように、動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されている。前述したように、ジャカルタ・プロジェクト（Ｊａｋａｒｔａ  Ｐｒｏｊｅｃｔ）のキャッシュ・タグリブ（Ｃａｃｈｅ  Ｔａｇｌｉｂ）用の動的Ｗｅｂページ生成用ソース・ファイルでは、動的Ｗｅｂページ生成用ソース・ファイルの全体ではなく一部のみが適宜、フラグメントに設定される。
【００７５】
図１０はフラグメント関連作業支援装置１００の機能ブロック図である。フラグメント関連作業支援装置１００は前述の第１のツールに相当する。フラグメント関連作業支援装置１００は、登録パターン保持手段１０１、構文解析情報作成手段１０２、及び場所通知手段１０３を有している。登録パターン保持手段１０１は、動的Ｗｅｂページ生成用ソース・ファイル内の記述範囲であって１個の送信用Ｗｅｂページ部分の生成に係る一連の処理を実施する記述範囲に含まれる可能性がある各記述事項（以下、登録パターン用記述事項）に対して、それらの構文解析情報をそれぞれ登録パターンとして保持する。構文解析情報作成手段１０２は、フラグメント化作業対象とされた動的Ｗｅｂページ生成用ソース・ファイル（以下、作業対象ソース・ファイル）の構文解析情報を作成する。場所通知手段１０３は、構文解析情報を各登録パターンと照合することにより作業対象ソース・ファイルにおいて登録パターン用記述事項が存在する場所をフラグメント化作業者へ通知する。
【００７６】
登録パターン用記述事項には、クライアント１５からの送信用Ｗｅｂページ送信要求に含まれるデータへのアクセスに係る処理事項、ビーンへのアクセスに係る処理事項、及び／又はループ処理に係る処理事項が含まれる。場所通知手段１０３は、登録パターン用記述事項の場所と共に該登録パターン用記述事項の説明情報、例えば登録パターン用記述事項とはどのような種類のものか、該登録パターン用記述事項とは具体的に何なのか等の説明情報を通知する。
【００７７】
図１１はフラグメント関連作業支援装置１１０の機能ブロック図である。フラグメント関連作業支援装置１１０は前述の第２のツールに相当する。フラグメント関連作業支援装置１１０は、集合算出手段１１１、判定手段１１２、及びフラグメント化可否情報通知手段１１３を有し、フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対する処理を実施する。集合算出手段１１１は、動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＡ１外の記述部分に基づいて実行される操作Ｂ２が参照する変数の集合Ｃ１を算出する。判定手段１１２は、集合Ｃ１が、指定フラグメントＡ１内の記述部分に基づいて実行される操作Ｂ１からの影響を受ける変数を含むか否かを判定する。フラグメント化可否情報通知手段１１３は、判定手段１１２の判定が「正」であれば、指定フラグメントＡ１は、フラグメントとして不的確である旨を通知する。
【００７８】
図１２はフラグメント関連作業支援装置１２０の機能ブロック図である。フラグメント関連作業支援装置１２０は前述の第３のツールに相当する。フラグメント関連作業支援装置１２０は、第１の集合算出手段１２１、第２の集合算出手段１２２、第３の集合算出手段１２３、及びＩＤ候補通知手段１２４を有し、フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＤ１に対する処理を行う。第１の集合算出手段１２１は、指定フラグメントＤ１内の記述部分に基づいて実行される操作Ｅ１が参照する変数の集合Ｆ１を算出する。第２の集合算出手段１２２は、動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＤ１外の記述部分に基づいて実行される操作であって集合Ｆ１の変数に影響を及ぼす操作Ｅ２の集合Ｆ２を算出する。第３の集合算出手段１２３は、集合Ｆ２に含まれる操作Ｅ２が影響を与える変数であってかつ集合Ｆ１に属する変数の集合Ｆ３を算出する。ＩＤ候補通知手段１２４は、集合Ｆ３に属する変数Ｇに係る情報を指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知する。
【００７９】
図１３は図１２のフラグメント関連作業支援装置１２０に機能追加したものの機能ブロック図である。機能追加部分及び変更部分についてのみ説明する。フラグメント関連作業支援装置１２０は、第１のＩＤ候補割当て手段１２７、第２のＩＤ候補割当て手段１２８、及び第３のＩＤ候補割当て手段１２９を追加装備する。第１のＩＤ候補割当て手段１２７は、変数Ｇがパラメータ又はヘッダ情報であるか否かと言う第１の判定を行い、該判定の結果が「正」であれば、該変数Ｇを指定フラグメントＤ１についての第１の種類のＩＤ候補に割当てる。第２のＩＤ候補割当て手段１２８は、第１の判定が「否」であるとき変数Ｇの型がプリミティブ又はストリングであるか否かと言う第２の判定を行い、該判定結果が「正」であれば該変数Ｇを指定フラグメントＤ１についての第２の種類のＩＤ候補に割当てる。第３のＩＤ候補割当て手段１２９は、第１及び第２の判定結果が共に否であるとき、変数Ｇの型としてのクラスと該クラスのスーパークラスとに属するメソッドであって返り値の型がプリミティブ又はストリングであるメソッドＨの集合Ｉを変数Ｇに対応付け（以下、Ｇに対応付けられたＩを「Ｉ（Ｇ）」と言う。）、該Ｉ（Ｇ）を指定フラグメントＤ１についての第３の種類のＩＤ候補に割当てる。ＩＤ候補通知手段１２４は、指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知する情報には、各ＩＤ候補の種類に係る情報を含める。
【００８０】
図１４はフラグメント関連作業支援装置１３２の機能ブロック図である。フラグメント関連作業支援装置１３２は前述の第３のツールに相当する。フラグメント関連作業支援装置１３２は、第１の引渡し設定手段１３３、第２の引渡し設定手段１３４、第３の引渡し設定手段１３５、第４の引渡し設定手段１３６、第５の引渡し設定手段１３７、第６の引渡し設定手段１３８、及び第７の引渡し設定手段１３９を有し、フラグメント化作業者がＩＤ候補通知手段１２４（図１３）から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対する処理を行う。第１の引渡し設定手段１３３は、該変数Ｇが第１の種類の変数であるか否かと言う第５の判定Ｓ５を行い、該判定Ｓ５の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない。第２の引渡し設定手段１３４は、該変数Ｇが第２の種類の変数であるか否かと言う第６の判定Ｓ６を行い、該判定Ｓ６の結果が「正」である場合、該変数Ｇが選択ＩＤであるか否かの第１の子判定Ｓ６＿１を行い、該判定第１の子判定Ｓ６＿１の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する。第３の引渡し設定手段１３５は、第１の子判定Ｓ６＿１の結果が「否」である場合に、該変数Ｇのスコープがページであるか否かの第１の孫判定Ｓ６＿１＿１を行い、該判定第１の孫判定Ｓ６＿１＿１の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する。第４の引渡し設定手段１３６は、第１の孫判定Ｓ６＿１＿１の結果が「否」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない。第５の引渡し設定手段１３７は、該変数Ｇが第３の種類の変数であるか否かと言う第７の判定Ｓ７を行い、該判定Ｓ７の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かと言う第２の子判定Ｓ７＿１を行い、該判定Ｓ７＿１の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する。第６の引渡し設定手段１３８は、第２の子判定Ｓ７＿１の結果が「否」である場合に該変数Ｇのスコープがページであるか否かの第２の孫判定Ｓ７＿１＿１を行い、該判定第２の孫判定Ｓ７＿１＿１の結果が「正」であれば、該指定フラグメントＤ１における該変数Ｇのスコープをリクエストへ変更する。第７の引渡し設定手段１３９は、第２の孫判定Ｓ７＿１＿１の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない。
【００８１】
図１５はフラグメント関連作業支援装置１４４の機能ブロック図である。フラグメント関連作業支援装置１４４は前述の第４のツールに相当する。フラグメント関連作業支援装置１４４は、第１のコンポーネント設定手段１４５、第２のコンポーネント設定手段１４６、及びポリシー・ファイル出力手段１４８を有し、フラグメント化作業者がＩＤ候補通知手段１２４（図１３）から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対する処理を行う。第１のコンポーネント設定手段１４５は、該変数Ｇが第１又は第２の種類である場合、該変数Ｇをコンポーネントに設定する。第２のコンポーネント設定手段１４６は、該変数Ｇが選択ＩＤが第３の種類の変数Ｇである場合は、該変数Ｇと該変数Ｇに対応付けられるメソッドＩ（Ｇ）との組から作られるパラメータ名をコンポーネントに設定する。ポリシー・ファイル出力手段１４８は、第１及び第２のコンポーネント設定手段１４６により設定されたコンポーネントをコンポーネント情報に含めたポリシー・ファイルを出力する。
【００８２】
なお、「ポリシー・ファイル」とＷｅｂページ・サーバ１２の処理との関係は次のように定義される。すなわち、Ｗｅｂページ・サーバ１２は、クライアント１５からのＷｅｂページ送信要求に対してポリシー・ファイル内のコンポーネント情報に基づき各送信用Ｗｅｂページ部分を識別して、識別した各送信用Ｗｅｂページ部分についてのキャッシュ内のコピーの使用の可否を判断する。
【００８３】
図１６はフラグメント関連作業支援装置１５１の機能ブロック図である。フラグメント関連作業支援装置１５１はジャカルタ・プロジェクトのキャッシュ・タグリブ（Ｃａｃｈｅ  Ｔａｇｌｉｂ）用の第４のツールに相当する。フラグメント関連作業支援装置１５１は、第１０の引渡し設定手段１５２、第１１の引渡し設定手段１５３、及び第１２の引渡し設定手段１５４を有し、フラグメント化作業者がＩＤ候補通知手段１２４（図１３）から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対する処理を行う。第１０の引渡し設定手段１５２は、該変数Ｇが第１及び第２の種類の変数であるか否かと言う第１０の判定Ｓ１０を行い、該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない。第１１の引渡し設定手段１５３は、該変数Ｇが第３の種類の変数であるか否かと言う第１１の判定Ｓ１１を行い、該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かの第１１の子判定Ｓ１１＿１を行い、該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する。第１２の引渡し設定手段１５４は、第１１の子判定Ｓ１１＿１の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない。
【００８４】
次に、フラグメント関連作業支援方法の実施の形態について説明する。該方法はフラグメント化作業者がＷｅｂページ・サーバ１２による処理の実施に予め必要な作業を実施するときに該作業を支援する。なお、クライアント１５へ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分される。また、Ｗｅｂページ・サーバ１２は、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュ１３に格納し、クライアント１５へ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュ１３に有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュ１３に無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアント１５へ送信する処理を実施する。また、例えば、動的Ｗｅｂページ生成用ソース・ファイルはＪＳＰファイルであり、動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されている。
【００８５】
図１７は第１のツール２８の機能を実現する方法のフローチャートである。Ｓ１６０では、動的Ｗｅｂページ生成用ソース・ファイル内の記述範囲であって１個の送信用Ｗｅｂページ部分を生成する一連の処理に係る記述範囲に含まれる可能性がある各記述事項（以下、登録パターン用記述事項）に対して、それらの構文解析情報をそれぞれ登録パターンとして保持する。Ｓ１６１では、作業対象の動的Ｗｅｂページ生成用ソース・ファイル（以下、作業対象ソース・ファイル）の構文解析情報を作成する。Ｓ１６２では、構文解析情報を各登録パターンと照合することにより作業対象ソース・ファイルにおいて登録パターン用記述事項が存在する場所をフラグメント化作業者へ通知する。
【００８６】
登録パターン用記述事項には、クライアント１５からの送信用Ｗｅｂページ送信要求に含まれるデータへのアクセスに係る処理事項、ビーンへのアクセスに係る処理事項、及び／又はループ処理に係る処理事項が含まれる。Ｓ１６２では、登録パターン用記述事項の場所と共に該登録パターン用記述事項の説明情報を通知する。
【００８７】
図１８は第２のツール３８の機能を実現する方法のフローチャートである。該方法では、フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対して、所定の処理を実施する。Ｓ１６５では、動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＡ１外の記述部分に基づいて実行される操作Ｂ２が参照する変数の集合Ｃ１を算出する。Ｓ１６６では、集合Ｃ１が、指定フラグメントＡ１内の記述部分に基づいて実行される操作Ｂ１からの影響を受ける変数を含むか否かを判定し、判定が「正」であれば、Ｓ１６７へ進み、「否」であれば、該方法を終了する。Ｓ１６７では、指定フラグメントＡ１は、フラグメントとして不的確である旨を通知する。
【００８８】
図１９は第３のツール５５の機能を実現する方法のフローチャートである。該方法では、フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＤ１に対して所定の処理を行う。Ｓ１７１では、指定フラグメントＤ１内の記述部分に基づいて実行される操作Ｅ１が参照する変数の集合Ｆ１を算出する。Ｓ１７２では、動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＤ１外の記述部分に基づいて実行される操作であって集合Ｆ１の変数に影響を及ぼす操作Ｅ２の集合Ｆ２を算出する。Ｓ１７３では、集合Ｆ２に含まれる操作Ｅ２が影響を与える変数であってかつ集合Ｆ１に属する変数の集合Ｆ３を算出する。Ｓ１７４では、集合Ｆ３に属する変数Ｇに係る情報を指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知する。
【００８９】
図２０は図１９のフローチャートに係る方法を改善した方法のフローチャートである。Ｓ１７７〜Ｓ１８２がＳ１７３とＳ１７４との間に挿入される。変数Ｇがパラメータ又はヘッダ情報であるか否かと言う第１の判定（Ｓ１７７）を行い、該判定の結果が「正」であれば、Ｓ１７８において、該変数Ｇは第１の種類の変数とし、第１の種類の変数Ｇは指定フラグメントＤ１についての第１の種類のＩＤ候補に割当てる。第１の判定（Ｓ１７７）が「否」であるとき、変数Ｇの型がプリミティブ又はストリングであるか否かと言う第２の判定（Ｓ１７９）を行い、該判定結果が「正」であれば、Ｓ１８０において、該変数Ｇを第２の種類の変数とし、第２の種類の変数Ｇは指定フラグメントＤ１についての第２の種類のＩＤ候補に割当てる。第１及び第２の判定結果が共に否であるとき、Ｓ１８２において、変数Ｇは第３の種類の変数とし、第３の種類の変数Ｇは該変数Ｇの型としてのクラスと該クラスのスーパークラスとに属するメソッドであって返り値の型がプリミティブ又はストリングであるメソッドＨの集合Ｉを変数Ｇに対応付け（以下、Ｇに対応付けられたＩを「Ｉ（Ｇ）」と言う。）、該Ｉ（Ｇ）を指定フラグメントＤ１についての第３の種類のＩＤ候補に割当てる。Ｓ１７４では、指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知する情報には、各ＩＤ候補の種類に係る情報を含める。
【００９０】
図２１は第４のツール６０のＩＤ引渡し機能を実現する方法のフローチャートである。該方法では、フラグメント化作業者がＩＤ候補通知ステップＳ１７４から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対して所定の処理を行う。Ｓ１８５では、該変数Ｇが第１の種類の変数であるか否かと言う第５の判定を行い、該判定の結果が「正」であれば、Ｓ１８６において、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１の引渡し設定を実施する。Ｓ１８７では、該変数Ｇが第２の種類の変数であるか否かと言う第６の判定を行い、該判定の結果が「正」である場合、Ｓ１８８において、該変数Ｇが選択ＩＤであるか否かの第１の子判定を行い、該判定の結果が「正」であれば、Ｓ１８９において、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第２の引渡し設定を実施する。Ｓ１８８における第１の子判定の結果が「否」である場合に、Ｓ１９０において、該変数Ｇのスコープがページであるか否かの第１の孫判定を行い、該判定の結果が「正」であれば、Ｓ１９１において、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第３の引渡し設定を実施する。Ｓ１９０における第１の孫判定の結果が「否」であれば、Ｓ１９２において、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第４の引渡し設定を実施する。Ｓ１９３では、該変数Ｇが第３の種類の変数であるか否かと言う第７の判定を行い、該判定の結果が「正」である場合に、Ｓ１９４において、該変数Ｇが選択ＩＤに係る変数であるか否かと言う第２の子判定を行い、該判定の結果が「正」であれば、Ｓ１９５において、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第５の引渡し設定を実施する。Ｓ１９４における第２の子判定の結果が「否」である場合に、Ｓ１９６において、該変数Ｇのスコープがページであるか否かの第２の孫判定を行い、該判定の結果が「正」であれば、Ｓ１９７において、該指定フラグメントＤ１における該変数Ｇのスコープをリクエストへ変更する第６の引渡し設定を実施する。Ｓ１９６における第２の孫判定の結果が「否」である場合に、Ｓ１９８において、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第７の引渡し設定を実施する。
【００９１】
図２２は第４のツール６０のポリシー・ファイル出力機能を実現する方法のフローチャートである。該方法では、フラグメント化作業者がＩＤ候補通知ステップＳ１７４から通知された種類別ＩＤ候補の中から選択した１個以上の選択ＩＤに対して所定の処理を行う。Ｓ２０５では、第１又は第２の種類の変数である選択ＩＤは、該選択ＩＤをポリシー・ファイルのコンポーネントに設定する。Ｓ２０６では、第３の種類の変数に係る選択ＩＤは、該選択ＩＤと該選択ＩＤに係るメソッドの組からなるパラメータ名をポリシー・ファイルのコンポーネントに設定する。Ｓ２０７では、第１及び第２のコンポーネント設定ステップＳ２０５，Ｓ２０６の設定に基づくポリシー・ファイルを出力する。
【００９２】
図２３はジャカルタ・プロジェクトのキャッシュ・タグリブ（Ｃａｃｈｅ  Ｔａｇｌｉｂ）用の第４のツールの機能を実現する方法のフローチャートである。該方法は、フラグメント化作業者がＩＤ候補通知手段から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対して所定の処理を行う。Ｓ２１０では、該変数Ｇが第１及び第２の種類の変数であるか否かと言う第１０の判定を行い、該判定の結果が「正」であれば、Ｓ２１１において、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１０の引渡し設定を実施する。Ｓ２１２では、該変数Ｇが第３の種類の変数であるか否かと言う第１１の判定を行い、該判定の結果が「正」である場合に、Ｓ２１３において、該変数Ｇが選択ＩＤに係る変数であるか否かの第１１の子判定を行い該判定の結果が「正」であれば、Ｓ２１４において、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第１１の引渡し設定を実施する。Ｓ２１３における第１１の子判定の結果が「否」である場合に、Ｓ２１５において、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１２の引渡し設定を実施する。
【００９３】
図２４はプログラムを実行するためのハードウェア構成図である。本発明に係る装置の各機能を実現するプログラムは例えば図２４のハードウェアを使用して実行される。システム・バス２２０には、ＣＰＵ２２１、主記憶装置２２２及び入出力制御装置２２３が接続される。前述した方法は、コード化されたプログラムとして実行可能となっている。入出力制御装置２２３には、ハード・ディスク・インターフェース等が含まれ、ＣＰＵ２２１が実行する各種プログラムはハード・ディスク装置等にストアされている。プログラムは、ＣＰＵ２２１において実行されるのに先立ち、主記憶装置２２２にストアされる。ＣＰＵ２２１は、主記憶装置２２２の命令行を順次、読み出して、該プログラムを実行する。
【００９４】
まとめとして本発明の構成に関して以下の事項を開示する。
（１）：クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援装置において、
動的Ｗｅｂページ生成用ソース・ファイル内の記述範囲であって１個の送信用Ｗｅｂページ部分を生成する一連の処理に係る記述範囲に含まれる可能性がある各記述事項（以下、登録パターン用記述事項）に対して、それらの構文解析情報をそれぞれ登録パターンとして保持する登録パターン保持手段、
作業対象の動的Ｗｅｂページ生成用ソース・ファイル（以下、作業対象ソース・ファイル）の構文解析情報を作成する構文解析情報作成手段、及び
前記構文解析情報を各登録パターンと照合することにより作業対象ソース・ファイルにおいて登録パターン用記述事項が存在する場所をフラグメント化作業者へ通知する場所通知手段、
を有していることを特徴とするフラグメント関連作業支援装置。
（２）：動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする（１）記載のフラグメント関連作業支援装置。
（３）：前記動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されていることを特徴とする（１）記載のフラグメント関連作業支援装置。
（４）：前記登録パターン用記述事項には、クライアントからの送信用Ｗｅｂページ送信要求に含まれるデータへのアクセスに係る処理事項、ビーンへのアクセスに係る処理事項、及び／又はループ処理に係る処理事項が含まれることを特徴とする（１）記載のフラグメント関連作業支援装置。
（５）：前記場所通知手段は、登録パターン用記述事項の場所と共に該登録パターン用記述事項の説明情報を通知することを特徴とする（１）記載のフラグメント関連作業支援装置。
【００９５】
（６）：クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援装置において、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対し、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＡ１外の記述部分に基づいて実行される操作Ｂ２が参照する変数の集合Ｃ１を算出する集合算出手段、
集合Ｃ１が、指定フラグメントＡ１内の記述部分に基づいて実行される操作Ｂ１からの影響を受ける変数を含むか否かを判定する判定手段、及び
前記判定手段の判定が「正」であれば、指定フラグメントＡ１は、フラグメントとして不的確である旨を通知するフラグメント化可否情報通知手段、
を有していることを特徴とするフラグメント関連作業支援装置。
（７）：動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする（６）記載のフラグメント関連作業支援装置。
（８）：前記動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されていることを特徴とする（６）記載のフラグメント関連作業支援装置。
【００９６】
（９）：クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援装置において、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＤ１に対し、
指定フラグメントＤ１内の記述部分に基づいて実行される操作Ｅ１が参照する変数の集合Ｆ１を算出する第１の集合算出手段、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＤ１外の記述部分に基づいて実行される操作であって集合Ｆ１の変数に影響を及ぼす操作Ｅ２の集合Ｆ２を算出する第２の集合算出手段、
集合Ｆ２に含まれる操作Ｅ２が影響を与える変数であってかつ集合Ｆ１に属する変数の集合Ｆ３を算出する第３の集合算出手段、及び
集合Ｆ３に属する変数Ｇに係る情報を指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知するＩＤ候補通知手段、
を有していることを特徴とするフラグメント関連作業支援装置。
（１０）：変数Ｇがパラメータ又はヘッダ情報であるか否かと言う第１の判定を行い該判定の結果が「正」であれば該変数Ｇは第１の種類の変数とし第１の種類の変数Ｇは指定フラグメントＤ１についての第１の種類のＩＤ候補に割当てる第１のＩＤ候補割当て手段、
第１の判定が「否」であるとき変数Ｇの型がプリミティブ又はストリングであるか否かと言う第２の判定を行い該判定結果が「正」であれば該変数Ｇを第２の種類の変数とし第２の種類の変数Ｇは指定フラグメントＤ１についての第２の種類のＩＤ候補に割当てる第２のＩＤ候補割当て手段、及び
第１及び第２の判定結果が共に否であるとき変数Ｇは第３の種類の変数とし第３の種類の変数Ｇは該変数Ｇの型としてのクラスと該クラスのスーパークラスとに属するメソッドであって返り値の型がプリミティブ又はストリングであるメソッドＨの集合Ｉを変数Ｇに対応付け（以下、Ｇに対応付けられたＩを「Ｉ（Ｇ）」と言う。）該Ｉ（Ｇ）を指定フラグメントＤ１についての第３の種類のＩＤ候補に割当てる第３のＩＤ候補割当て手段、
を有し、
前記ＩＤ候補通知手段は、指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知する情報には、各ＩＤ候補の種類に係る情報を含めることを特徴とする（９）記載のフラグメント関連作業支援装置。
（１１）：フラグメント化作業者が前記ＩＤ候補通知手段から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対し、
該変数Ｇが第１の種類の変数であるか否かと言う第５の判定を行い該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１の引渡し設定手段、
該変数Ｇが第２の種類の変数であるか否かと言う第６の判定を行い該判定の結果が「正」である場合、該変数Ｇが選択ＩＤであるか否かの第１の子判定を行い該判定の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第２の引渡し設定手段、
前記第１の子判定の結果が「否」である場合に、該変数Ｇのスコープがページであるか否かの第１の孫判定を行い該判定の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第３の引渡し設定手段、
前記第１の孫判定の結果が「否」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第４の引渡し設定手段、
該変数Ｇが第３の種類の変数であるか否かと言う第７の判定を行い該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かと言う第２の子判定を行い該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第５の引渡し設定手段、
第２の子判定の結果が「否」である場合に該変数Ｇのスコープがページであるか否かの第２の孫判定を行い該判定の結果が「正」であれば、該指定フラグメントＤ１における該変数Ｇのスコープをリクエストへ変更する第６の引渡し設定手段、及び
第２の孫判定の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第７の引渡し設定手段、
を有していることを特徴とする（１０）記載のフラグメント関連作業支援装置。
（１２）：前記Ｗｅｂページ・サーバによる前記処理には、前記Ｗｅｂページ・サーバは、クライアントからのＷｅｂページ送信要求に対してポリシー・ファイル内のコンポーネント情報に基づき各送信用Ｗｅｂページ部分を識別して、識別した各送信用Ｗｅｂページ部分についてのキャッシュ内のコピーの使用の可否を判断すると言う処理が含まれており、
フラグメント化作業者が前記ＩＤ候補通知手段から通知された種類別ＩＤ候補の中から選択した１個以上の選択ＩＤに対して、
第１又は第２の種類の変数である選択ＩＤは、該選択ＩＤをポリシー・ファイルのコンポーネントに設定する第１のコンポーネント設定手段、
第３の種類の変数に係る選択ＩＤは、該選択ＩＤと該選択ＩＤに係るメソッドの組からなるパラメータ名をポリシー・ファイルのコンポーネントに設定する第２のコンポーネント設定手段、及び
前記第１及び前記第２のコンポーネント設定手段の設定に基づくポリシー・ファイルを出力するポリシー・ファイル出力手段、
を有していることを特徴とする（１０）記載のフラグメント関連作業支援装置。
（１３）：フラグメント化作業者が前記ＩＤ候補通知手段から通知された種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対し、
該変数Ｇが第１及び第２の種類の変数であるか否かと言う第１０の判定を行い該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１０の引渡し設定手段、
該変数Ｇが第３の種類の変数であるか否かと言う第１１の判定を行い該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かの第１１の子判定を行い該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第１１の引渡し設定手段、及び
第１１の子判定の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１２の引渡し設定手段、
を有していることを特徴とする（１０）記載のフラグメント関連作業支援装置。
（１４）：動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする（９）記載のフラグメント関連作業支援装置。
【００９７】
（１５）：クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援方法において、
動的Ｗｅｂページ生成用ソース・ファイル内の記述範囲であって１個の送信用Ｗｅｂページ部分を生成する一連の処理に係る記述範囲に含まれる可能性がある各記述事項（以下、登録パターン用記述事項）に対して、それらの構文解析情報をそれぞれ登録パターンとして保持する登録パターン保持ステップ、
作業対象の動的Ｗｅｂページ生成用ソース・ファイル（以下、作業対象ソース・ファイル）の構文解析情報を作成する構文解析情報作成ステップ、及び
前記構文解析情報を各登録パターンと照合することにより作業対象ソース・ファイルにおいて登録パターン用記述事項が存在する場所をフラグメント化作業者へ通知する場所通知ステップ、
を有していることを特徴とするフラグメント関連作業支援方法。
（１６）：動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする（１５）記載のフラグメント関連作業支援方法。
（１７）：前記動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されていることを特徴とする（１５）記載のフラグメント関連作業支援方法。
（１８）：前記登録パターン用記述事項には、クライアントからの送信用Ｗｅｂページ送信要求に含まれるデータへのアクセスに係る処理事項、ビーンへのアクセスに係る処理事項、及び／又はループ処理に係る処理事項が含まれることを特徴とする（１５）記載のフラグメント関連作業支援方法。
（１９）：前記場所通知ステップでは、登録パターン用記述事項の場所と共に該登録パターン用記述事項の説明情報を通知することを特徴とする（１５）記載のフラグメント関連作業支援方法。
【００９８】
（２０）：クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援方法において、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＡ１に対し、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＡ１外の記述部分に基づいて実行される操作Ｂ２が参照する変数の集合Ｃ１を算出する集合算出ステップ、
集合Ｃ１が、指定フラグメントＡ１内の記述部分に基づいて実行される操作Ｂ１からの影響を受ける変数を含むか否かを判定する判定ステップ、及び
前記判定ステップの判定が「正」であれば、指定フラグメントＡ１は、フラグメントとして不的確である旨を通知するフラグメント化可否情報通知ステップ、を有していることを特徴とするフラグメント関連作業支援方法。
（２１）：動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする（２０）記載のフラグメント関連作業支援方法。
（２２）：前記動的Ｗｅｂページ生成用ソース・ファイル全体がフラグメント化されていることを特徴とする（２０）記載のフラグメント関連作業支援方法。
【００９９】
（２３）：クライアントへ送信する送信用Ｗｅｂページを生成する基になる動的Ｗｅｂページ生成用ソース・ファイルが、少なくとも一部において１個以上のフラグメントに区分され、
Ｗｅｂページ・サーバは、１個以上のフラグメントの各々に基づいて生成された送信用Ｗｅｂページ部分のコピーをキャッシュに格納し、クライアントへ送信する送信用Ｗｅｂページの生成に利用可能な送信用Ｗｅｂページ部分のコピーがキャッシュに有れば、該送信用Ｗｅｂページ部分は該コピーを割り当て、また、送信用Ｗｅｂページ部分のコピーがキャッシュに無ければ、フラグメントに基づく送信用Ｗｅｂページ部分を新規に生成し、これら送信用Ｗｅｂページ部分を含む全体の送信用Ｗｅｂページをクライアントへ送信する処理を実施し、
フラグメント化作業者が前記Ｗｅｂページ・サーバによる前記処理の実施のために予め必要な作業を実施するときに該作業を支援するフラグメント関連作業支援方法において、
フラグメント化作業者が動的Ｗｅｂページ生成用ソース・ファイルにおいて指定した指定フラグメントＤ１に対し、
指定フラグメントＤ１内の記述部分に基づいて実行される操作Ｅ１が参照する変数の集合Ｆ１を算出する第１の集合算出ステップ、
動的Ｗｅｂページ生成用ソース・ファイル内の記述部分であってかつ指定フラグメントＤ１外の記述部分に基づいて実行される操作であって集合Ｆ１の変数に影響を及ぼす操作Ｅ２の集合Ｆ２を算出する第２の集合算出ステップ、
集合Ｆ２に含まれる操作Ｅ２が影響を与える変数であってかつ集合Ｆ１に属する変数の集合Ｆ３を算出する第３の集合算出ステップ、及び
集合Ｆ３に属する変数Ｇに係る情報を指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知するＩＤ候補通知ステップ、
を有していることを特徴とするフラグメント関連作業支援方法。
（２４）：変数Ｇがパラメータ又はヘッダ情報であるか否かと言う第１の判定を行い該判定の結果が「正」であれば該変数Ｇは第１の種類の変数とし第１の種類の変数Ｇは指定フラグメントＤ１についての第１の種類のＩＤ候補に割当てる第１のＩＤ候補割当てステップ、
第１の判定が「否」であるとき変数Ｇの型がプリミティブ又はストリングであるか否かと言う第２の判定を行い該判定結果が「正」であれば該変数Ｇを第２の種類の変数とし第２の種類の変数Ｇは指定フラグメントＤ１についての第２の種類のＩＤ候補に割当てる第２のＩＤ候補割当てステップ、及び
第１及び第２の判定結果が共に否であるとき変数Ｇは第３の種類の変数とし第３の種類の変数Ｇは該変数Ｇの型としてのクラスと該クラスのスーパークラスとに属するメソッドであって返り値の型がプリミティブ又はストリングであるメソッドＨの集合Ｉを変数Ｇに対応付け（以下、Ｇに対応付けられたＩを「Ｉ（Ｇ）」と言う。）該Ｉ（Ｇ）を指定フラグメントＤ１についての第３の種類のＩＤ候補に割当てる第３のＩＤ候補割当てステップ、
を有し、
前記ＩＤ候補通知ステップでは、指定フラグメントＤ１についてのＩＤ候補としてフラグメント化作業者へ通知する情報には、各ＩＤ候補の種類に係る情報を含めることを特徴とする（２３）記載のフラグメント関連作業支援方法。
（２５）：フラグメント化作業者が前記ＩＤ候補通知ステップにおいて通知した種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対し、
該変数Ｇが第１の種類の変数であるか否かと言う第５の判定を行い該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１の引渡し設定ステップ、
該変数Ｇが第２の種類の変数であるか否かと言う第６の判定を行い該判定の結果が「正」である場合、該変数Ｇが選択ＩＤであるか否かの第１の子判定を行い該判定の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第２の引渡し設定ステップ、
前記第１の子判定の結果が「否」である場合に、該変数Ｇのスコープがページであるか否かの第１の孫判定を行い該判定の結果が「正」であれば、該変数Ｇを該指定フラグメントＤ１への引渡しデータとして明示的に設定する第３の引渡し設定ステップ、
前記第１の孫判定の結果が「否」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第４の引渡し設定ステップ、
該変数Ｇが第３の種類の変数であるか否かと言う第７の判定を行い該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かと言う第２の子判定を行い該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第５の引渡し設定ステップ、
第２の子判定の結果が「否」である場合に該変数Ｇのスコープがページであるか否かの第２の孫判定を行い該判定の結果が「正」であれば、該指定フラグメントＤ１における該変数Ｇのスコープをリクエストへ変更する第６の引渡し設定ステップ、及び
第２の孫判定の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第７の引渡し設定ステップ、
を有していることを特徴とする（２４）記載のフラグメント関連作業支援方法。
（２６）：前記Ｗｅｂページ・サーバによる前記処理には、前記Ｗｅｂページ・サーバは、クライアントからのＷｅｂページ送信要求に対してポリシー・ファイル内のコンポーネント情報に基づき各送信用Ｗｅｂページ部分を識別して、識別した各送信用Ｗｅｂページ部分についてのキャッシュ内のコピーの使用の可否を判断すると言う処理が含まれており、
フラグメント化作業者が前記ＩＤ候補通知ステップにおいて通知した種類別ＩＤ候補の中から選択した１個以上の選択ＩＤに対して、
第１又は第２の種類の変数である選択ＩＤは、該選択ＩＤをポリシー・ファイルのコンポーネントに設定する第１のコンポーネント設定ステップ、
第３の種類の変数に係る選択ＩＤは、該選択ＩＤと該選択ＩＤに係るメソッドの組からなるパラメータ名をポリシー・ファイルのコンポーネントに設定する第２のコンポーネント設定ステップ、及び
前記第１及び前記第２のコンポーネント設定ステップの設定に基づくポリシー・ファイルを出力するポリシー・ファイル出力ステップ、
を有していることを特徴とする（２４）記載のフラグメント関連作業支援方法。
（２７）：フラグメント化作業者が前記ＩＤ候補通知ステップにおいて通知した種類別ＩＤ候補の中から１個以上選択したものを選択ＩＤとし、集合Ｆ３に属する各変数Ｇに対し、
該変数Ｇが第１及び第２の種類の変数であるか否かと言う第１０の判定を行い該判定の結果が「正」であれば、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１０の引渡し設定ステップ、
該変数Ｇが第３の種類の変数であるか否かと言う第１１の判定を行い該判定の結果が「正」である場合に該変数Ｇが選択ＩＤに係る変数であるか否かの第１１の子判定を行い該判定の結果が「正」であれば、該変数Ｇに対応付けられるメソッドＩ（Ｇ）の実行結果を該指定フラグメントＤ１への引渡しデータとして明示的に設定する第１１の引渡し設定ステップ、及び
第１１の子判定の結果が「否」である場合に、指定フラグメントＤ１への引渡しデータについての明示的な設定は行わない第１２の引渡し設定ステップ、
を有していることを特徴とする（２４）記載のフラグメント関連作業支援方法。
（２８）：動的Ｗｅｂページ生成用ソース・ファイルがＪＳＰファイルであり、前記送信用ＷｅｂページがＨＴＭＬファイルであることを特徴とする（２３）記載のフラグメント関連作業支援方法。
（２９）：（１）〜（１４）のいずれかのフラグメント関連作業支援装置における各手段としてコンピュータを機能させるためのフラグメント関連作業支援プログラム。
【０１００】
【発明の効果】
本発明によれば、１個の送信用Ｗｅｂページ部分を生成する一連の処理に係る、動的Ｗｅｂページ生成用ソース・ファイルの記述範囲に含まれる可能性がある記述事項が登録パターンとして保持され、作業対象の動的Ｗｅｂページ生成用ソース・ファイル内に対して、各登録パターンに対応する記述事項の場所を通知するようになっているので、フラグメント化作業者は作業対象の動的Ｗｅｂページ生成用ソース・ファイルを適切なフラグメントに能率よく区分することができる。
【図面の簡単な説明】
【図１】インターネット・システムの概略図である。
【図２】ＪＳＰとクライアントへ送られたＨＴＭＬファイルに基づきクライアントのディスプレイにおいて表示される表示内容との関係を示す図である。
【図３】第１のツールの構成説明図である。
【図４】第１のツールに登録されるパターン例及び該パターン例を構文解析して出力される構文木を示している。
【図５】入力ＪＳＰファイルを構文解析して出力される構文木と共に、該構文木において図４のパターンがマッチングした場所を示す図である。
【図６】第２のツールの構成説明図である。
【図７】第３のツールの構成説明図である。
【図８】第４のツールの構成説明図である。
【図９】フラグメント化作業過程におけるフラグメント化作業者と統合ツール８１との関係をまとめたものである。
【図１０】フラグメント関連作業支援装置の機能ブロック図である。
【図１１】フラグメント関連作業支援装置の機能ブロック図である。
【図１２】フラグメント関連作業支援装置の機能ブロック図である。
【図１３】図１２のフラグメント関連作業支援装置に機能追加したものの機能ブロック図である。
【図１４】フラグメント関連作業支援装置の機能ブロック図である。
【図１５】フラグメント関連作業支援装置の機能ブロック図である。
【図１６】フラグメント関連作業支援装置の機能ブロック図である。
【図１７】第１のツールの機能を実現する方法のフローチャートである。
【図１８】第２のツールの機能を実現する方法のフローチャートである。
【図１９】第３のツールの機能を実現する方法のフローチャートである。
【図２０】図１９のフローチャートに係る方法を改善した方法のフローチャートである。
【図２１】第４のツールのＩＤ引渡し機能を実現する方法のフローチャートである。
【図２２】第４のツールのポリシー・ファイル出力機能を実現する方法のフローチャートである。
【図２３】ジャカルタ・プロジェクトのキャッシュ・タグリブ（Ｃａｃｈｅ  Ｔａｇｌｉｂ）用の第４のツールの機能を実現する方法のフローチャートである。
【図２４】プログラムを実行するためのハードウェア構成図である。
【符号の説明】
１００：フラグメント関連作業支援装置１００、１０１：登録パターン保持手段、１０２：構文解析情報作成手段、１０３：場所通知手段、１１０：フラグメント関連作業支援装置、１１１：集合算出手段、１１２：判定手段、１１３：フラグメント化可否情報通知手段、１２０：フラグメント関連作業支援装置、１２１：第１の集合算出手段、１２２：第２の集合算出手段、１２３：第３の集合算出手段、１２４：ＩＤ候補通知手段、１２７：第１のＩＤ候補割当て手段、１２８：第２のＩＤ候補割当て手段、１２９：第３のＩＤ候補割当て手段、１３２：フラグメント関連作業支援装置、１３３：第１の引渡し設定手段、１３４：第２の引渡し設定手段、１３５：第３の引渡し設定手段、１３６：第４の引渡し設定手段、１３７：第５の引渡し設定手段、１３８：第６の引渡し設定手段、１３９：第７の引渡し設定手段、１４４：フラグメント関連作業支援装置、１４５：第１のコンポーネント設定手段、１４６：第２のコンポーネント設定手段、１４８：ポリシー・ファイル出力手段、１５１：フラグメント関連作業支援装置、１５２：第１０の引渡し設定手段、１５３：第１１の引渡し設定手段、１５４：第１２の引渡し設定手段。
【図１】
2004348207.tif 000021
【図２】
2004348207.tif 000022
【図３】
2004348207.tif 000023
【図４】
2004348207.tif 000024
【図５】
2004348207.tif 000025
【図６】
2004348207.tif 000026
【図７】
2004348207.tif 000027
【図８】
2004348207.tif 000028
【図９】
2004348207.tif 000029
【図１０】
2004348207.tif 000030
【図１１】
2004348207.tif 000031
【図１２】
2004348207.tif 000032
【図１３】
2004348207.tif 000033
【図１４】
2004348207.tif 000034
【図１５】
2004348207.tif 000035
【図１６】
2004348207.tif 000036
【図１７】
2004348207.tif 000037
【図１８】
2004348207.tif 000038
【図１９】
2004348207.tif 000039
【図２０】
2004348207.tif 000040
【図２１】
2004348207.tif 000041
【図２２】
2004348207.tif 000042
【図２３】
2004348207.tif 000043
【図２４】
2004348207.tif 000044