(57)【要約】【課題】複数のＷｅｂブラウザでＷｅｂアプリケーションを操作しても、データの不整合が生じないようにする。【解決手段】Ｗｅｂサーバ１１は、遷移元ページでデータを編集し、編集したデータを遷移先ページで表示するＷｅｂアプリケーションを提供する。Ｗｅｂサーバ１１では、遷移元ページＰ１１で編集されたページデータＤ１１とページデータＤ１１を識別するＧＵＩＤ Ｇ１１とがページデータ管理テーブルＴＡ１１に追加される一方で、ＧＵＩＤ Ｇ１１が、Ｗｅｂサーバ１１からＷｅｂクライアント１３へ送信され、Ｗｅｂクライアント１３が返信したＧＵＩＤ  Ｇ１１に関連づけされたページデータＤ１１がＷｅｂサーバ１１からＷｅｂクライアント１３へ送信され、Ｗｅｂクライアント１３のＷｅｂブラウザ１３１にページデータＤ１１が表示される。【選択図】図４
2008090653.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂアプリケーションを提供するＷｅｂサーバであって、
Ｗｅｂクライアントにおけるページの遷移ごとにユニークな識別子を発行する発行手段と、
前記Ｗｅｂクライアントにおける第１ページから第２ページへの遷移にあたって、前記第１ページが対象とする第１データと前記発行手段が発行した第１識別子とを関連づけし、前記第１データと前記第１識別子との関連づけの情報を記憶手段に格納する関連づけ手段と、
前記第１識別子を前記Ｗｅｂクライアントへ送信する送信手段と、
前記Ｗｅｂクライアントが返信した前記第１識別子を受信する受信手段と、
前記受信手段が受信した前記第１識別子と関連づけされた前記第１データを前記第２ページが対象とする第２データとして取得する取得手段と、
を備えることを特徴とするＷｅｂサーバ。
【請求項２】
請求項１に記載のＷｅｂサーバにおいて、
前記第２ページから第３ページへの遷移に同期して前記第１データと前記第１識別子との関連づけの情報を前記記憶手段から削除する削除手段、
をさらに備えることを特徴とするＷｅｂサーバ。
【請求項３】
請求項２に記載のＷｅｂサーバにおいて、
前記削除手段は、
前記第１識別子の発行時刻からの経過時間に応じて前記第１データと前記第１識別子との関連づけの情報を前記記憶手段から削除する、
ことを特徴とするＷｅｂサーバ。
【請求項４】
請求項１ないし請求項３のいずれかに記載のＷｅｂサーバであって、
前記第１データを対象とすることができるページを前記第１ページの遷移先のみに制限する制限手段、
をさらに備えることを特徴とするＷｅｂサーバ。
【請求項５】
Ｗｅｂアプリケーションにおけるデータ処理方法であって、
Ｗｅｂクライアントにおけるページの遷移ごとにユニークな識別子を発行する発行工程と、
前記Ｗｅｂクライアントにおける第１ページから第２ページへの遷移にあたって、前記第１ページが対象とする第１データと前記発行工程で発行した第１識別子とを関連づけし、前記第１データと前記第１識別子との関連づけの情報を記憶手段に格納する関連づけ工程と、
前記第１識別子を前記Ｗｅｂクライアントへ送信する送信工程と、
前記Ｗｅｂクライアントが返信した前記第１識別子を受信する受信工程と、
前記受信工程で受信した前記第１識別子と関連づけされた前記第１データを前記第２ページが対象とする第２データとして取得する取得工程と、
を備えることを特徴とするデータ処理方法。
【請求項６】
Ｗｅｂアプリケーションを提供するＷｅｂアプリケーションプログラムであって、コンピュータに、
Ｗｅｂクライアントにおけるページの遷移ごとにユニークな識別子を発行する発行手順と、
前記Ｗｅｂクライアントにおける第１ページから第２ページへの遷移にあたって、前記第１ページが対象とする第１データと前記発行手順で発行した第１識別子とを関連づけし、前記第１データと前記第１識別子との関連づけの情報を記憶手段に格納する関連づけ手順と、
前記第１識別子を前記Ｗｅｂクライアントへ送信する送信手順と、
前記Ｗｅｂクライアントが返信した前記第１識別子を受信する受信手順と、
前記受信手順で受信した前記第１識別子と関連づけされた前記第１データを前記第２ページが対象とする第２データとして取得する取得手順と、
を実行させることにより、Ｗｅｂサーバとして機能させることを特徴とするＷｅｂアプリケーションプログラム。
【請求項７】
Ｗｅｂアプリケーションシステムであって、
Ｗｅｂアプリケーションを提供するＷｅｂサーバと、
Ｗｅｂクライアントと、
を備え、
前記Ｗｅｂサーバは、
前記Ｗｅｂクライアントにおけるページの遷移ごとにユニークな識別子を発行する発行手段と、
前記Ｗｅｂクライアントにおける第１ページから第２ページへの遷移にあたって、前記第１ページが対象とする第１データと前記発行手段が発行した第１識別子とを関連づけし、前記第１データと前記第１識別子との関連づけの情報を記憶手段に格納する関連づけ手段と、
前記第１識別子を前記Ｗｅｂクライアントへ送信する送信手段と、
前記Ｗｅｂクライアントが返信した前記第１識別子を受信する受信手段と、
前記受信手段が受信した前記第１識別子と関連づけされた前記第１データを前記第２ページが対象とする第２データとして取得する取得手段と、
を備えることを特徴とするＷｅｂアプリケーションシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂアプリケーションを提供するＷｅｂサーバ及びこれに関連する技術に関する。
【背景技術】
【０００２】
Ｗｅｂアプリケーションとは、Ｗｅｂサーバが提供するアプリケーションをＷｅｂクライアントで操作できるようにしたものである。一般的にいって、Ｗｅｂアプリケーションでは、アプリケーションの操作が１回のページの表示で完結することはないため、アプリケーションの操作を完結するためには、ＷｅｂサーバとＷｅｂクライアントとの間で通信を繰り返し、Ｗｅｂクライアントにおいてページを遷移させる必要がある。
【０００３】
しかし、ＷｅｂサーバとＷｅｂクライアントとの間の通信に用いられるＨＴＴＰでは、ＨＴＴＰ通信が各々独立しているため、複数のＨＴＴＰ通信の関連性をＷｅｂサーバが認識できないという問題があった。また、ＨＴＴＰ通信の通信相手のＷｅｂクライアントをＷｅｂサーバが識別できないことも問題となっていた。
【０００４】
この問題を解決するため、Ｗｅｂクライアントで行われる一連の操作に伴うＨＴＴＰ通信をひとまとめにして管理するセッション管理がＷｅｂアプリケーションに導入されるようになった。
【０００５】
セッション管理とは、一連のＨＴＴＰ通信の最初に、セッションＩＤと呼ばれる識別子をＷｅｂクライアントに対して発行し、続くＨＴＴＰ通信の際にセッションＩＤをＷｅｂクライアントから受け取ることにより、複数のＨＴＴＰ通信が一連のものであることをＷｅｂサーバが認識できるようにしたものである。このようなセッションＩＤのやり取りは、Cookieやクエリ文字を用いて行われることが多い。そして、セッション管理を行う場合、セッションＩＤと関連づけされたセッション変数という記憶領域が準備され、一連の操作で使用するデータを当該記憶領域に記憶させておくことにより、ページが遷移しても、遷移元ページから遷移先ページへ編集や表示の対象とするデータを引き渡しできるようになっている。
【０００６】
続いて、このようなセッション管理の具体例について、図１９を参照しながら説明する。図１９は、遷移元ページでデータを編集し、編集したデータを遷移先ページで表示するＷｅｂアプリケーションにおける従来のセッション管理を説明する図となっている。
【０００７】
図１９に示すように、このＷｅｂアプリケーションでは、遷移元ページＰ９１で編集されたデータＤ９１をセッション変数９１に保存し、遷移先ページＰ９３へ遷移する際に、データＤ９１をセッション変数９１から取得して遷移先ページＰ９３で表示している。
【０００８】
なお、特許文献１は、本発明と関連する先行技術文献であり、従来のセッション管理について開示している。
【０００９】
【特許文献１】特開２００４−２６５０４９号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかし、従来のセッション管理では、複数のＷｅｂブラウザでセッション変数を共有することに起因するデータの不整合が生じるという問題があった。
【００１１】
この問題について、図２０を参照しながら説明する。図２０も、遷移元ページでデータを編集し、編集したデータを遷移先ページで表示するＷｅｂアプリケーションにおける従来のセッション管理を説明する図となっているが、複数のＷｅｂブラウザでデータを編集及び表示している点が図１９と異なっている。
【００１２】
図２０に示すように、Ｗｅｂブラウザ９３１ｐの遷移元ページＰ９１ｐでデータＤ９１ｐを編集し、その後に、Ｗｅｂブラウザ９３１ｑの遷移元ページＰ９１ｑでデータＤ９１ｑを編集したとすると、図１９について説明したのと同様に、遷移元ページＰ９１ｐで編集されたデータＤ９１ｐがセッション変数９１７に保存され、その後に、遷移元ページＰ９１ｑで編集されたデータＤ９１ｑがセッション変数９１７に保存される。しかし、Ｗｅｂブラウザ９３１ｐとＷｅｂブラウザ９３１ｑとはセッション変数９１７を共有しているので、データＤ９１ｑをセッション変数９１７に保存する際に、データＤ９１ｑがデータＤ９１ｑを上書きしてしまうという事態が生じる。このため、Ｗｅｂブラウザ９３１ｑにおいて遷移元ページＰ９１ｑから遷移先ページＰ９３ｑへ遷移すると、遷移先ページＰ９３ｑでは、データＤ９１ｑを正しく取得して表示できるが、Ｗｅｂブラウザ９３１ｐにおいて遷移元ページＰ９１ｐから遷移先ページＰ９３ｐへ遷移すると、遷移先ページＰ９３ｐでは、データＤ９１ｐを正しく取得できず、誤ったデータＤ９１ｑを表示してしまう。
【００１３】
このようなデータの不整合の原因となるセッション変数の共有は、既に起動しているＷｅｂブラウザのメニューから新規ウィンドウの作成を指示し、複数のＷｅｂブラウザでＷｅｂアプリケーションを操作した場合に起こりうる。例えば、著名なＷｅｂブラウザであるInternet Explorer（登録商標）では、既に表示している第１のウィンドウの［ファイル］メニューから［新規作成］に続いて［ウィンドウ］を選択すると、第１のウィンドウとセッション変数を共有する第２のウィンドウが新規作成され、第１のウィンドウ及び第２のウィンドウの両方でＷｅｂアプリケーションを操作すると、上述したようなデータの不整合が生じる。
【００１４】
本発明は、この問題を解決するためになされたもので、複数のＷｅｂブラウザでＷｅｂアプリケーションを操作しても、データの不整合が生じないようにすることを目的とする。
【課題を解決するための手段】
【００１５】
上記課題を解決するため、請求項１の発明は、Ｗｅｂアプリケーションを提供するＷｅｂサーバであって、Ｗｅｂクライアントにおけるページの遷移ごとにユニークな識別子を発行する発行手段と、前記Ｗｅｂクライアントにおける第１ページから第２ページへの遷移にあたって、前記第１ページが対象とする第１データと前記発行手段が発行した第１識別子とを関連づけし、前記第１データと前記第１識別子との関連づけの情報を記憶手段に格納する関連づけ手段と、前記第１識別子を前記Ｗｅｂクライアントへ送信する送信手段と、前記Ｗｅｂクライアントが返信した前記第１識別子を受信する受信手段と、前記受信手段が受信した前記第１識別子と関連づけされた前記第１データを前記第２ページが対象とする第２データとして取得する取得手段と、を備える。
【００１６】
請求項２の発明は、請求項１に記載のＷｅｂサーバにおいて、前記第２ページから第３ページへの遷移に同期して前記第１データと前記第１識別子との関連づけの情報を前記記憶手段から削除する削除手段、をさらに備える。
【００１７】
請求項３の発明は、請求項２に記載のＷｅｂサーバにおいて、前記削除手段は、前記第１識別子の発行時刻からの経過時間に応じて前記第１データと前記第１識別子との関連づけの情報を前記記憶手段から削除する。
【００１８】
請求項４の発明は、請求項１ないし請求項３のいずれかに記載のＷｅｂサーバであって、前記第１データを対象とすることができるページを前記第１ページの遷移先のみに制限する制限手段、をさらに備える。
【００１９】
請求項５の発明は、Ｗｅｂアプリケーションにおけるデータ処理方法であって、Ｗｅｂクライアントにおけるページの遷移ごとにユニークな識別子を発行する発行工程と、前記Ｗｅｂクライアントにおける第１ページから第２ページへの遷移にあたって、前記第１ページが対象とする第１データと前記発行工程で発行した第１識別子とを関連づけし、前記第１データと前記第１識別子との関連づけの情報を記憶手段に格納する関連づけ工程と、前記第１識別子を前記Ｗｅｂクライアントへ送信する送信工程と、前記Ｗｅｂクライアントが返信した前記第１識別子を受信する受信工程と、前記受信工程で受信した前記第１識別子と関連づけされた前記第１データを前記第２ページが対象とする第２データとして取得する取得工程と、を備えることを特徴とする。
【００２０】
請求項６の発明は、Ｗｅｂアプリケーションを提供するＷｅｂアプリケーションプログラムであって、コンピュータに、Ｗｅｂクライアントにおけるページの遷移ごとにユニークな識別子を発行する発行手順と、前記Ｗｅｂクライアントにおける第１ページから第２ページへの遷移にあたって、前記第１ページが対象とする第１データと前記発行手順で発行した第１識別子とを関連づけし、前記第１データと前記第１識別子との関連づけの情報を記憶手段に格納する関連づけ手順と、前記第１識別子を前記Ｗｅｂクライアントへ送信する送信手順と、前記Ｗｅｂクライアントが返信した前記第１識別子を受信する受信手順と、前記受信手順で受信した前記第１識別子と関連づけされた前記第１データを前記第２ページが対象とする第２データとして取得する取得手順と、を実行させることにより、Ｗｅｂサーバを実現する。
【００２１】
請求項７の発明は、Ｗｅｂアプリケーションシステムであって、Ｗｅｂアプリケーションを提供するＷｅｂサーバと、Ｗｅｂクライアントと、を備え、前記Ｗｅｂサーバは、前記Ｗｅｂクライアントにおけるページの遷移ごとにユニークな識別子を発行する発行手段と、前記Ｗｅｂクライアントにおける第１ページから第２ページへの遷移にあたって、前記第１ページが対象とする第１データと前記発行手段が発行した第１識別子とを関連づけし、前記第１データと前記第１識別子との関連づけの情報を記憶手段に格納する関連づけ手段と、前記第１識別子を前記Ｗｅｂクライアントへ送信する送信手段と、前記Ｗｅｂクライアントが返信した前記第１識別子を受信する受信手段と、前記受信手段が受信した前記第１識別子と関連づけされた前記第１データを前記第２ページが対象とする第２データとして取得する取得手段と、を備える。
【発明の効果】
【００２２】
本発明によれば、第１ページから第２ページへ引き渡すデータが第１識別子によって識別されるので、データの不整合を防止できる。
【００２３】
請求項２の発明によれば、不要となった関連づけの情報が記憶手段から削除されるので、記憶手段の記憶容量を無駄に消費することが少なくなる。
【００２４】
請求項３の発明によれば、Ｗｅｂクライアントにおいてページの遷移が中止された場合に残存する関連づけの情報が記憶手段から削除されるので、記憶手段の記憶容量を無駄に消費することがさらに少なくなる。
【００２５】
請求項４の発明によれば、第１ページが対象とした第１データを第１ページの遷移先以外が対象とすることができないので、同一のデータを同時に対象とすることを防止できる。
【発明を実施するための最良の形態】
【００２６】
本発明では、Ｗｅｂアプリケーションにおいて、遷移元ページから遷移先ページへ引き渡すデータを遷移ごとにユニークなグローバル一意識別子（以下、「ＧＵＩＤ」）で識別し、遷移ごとにデータを分離して引き渡すことにより、複数のＷｅｂブラウザでＷｅｂアプリケーションを操作してもデータの不整合が生じないようにしている。
【００２７】
以下では、本発明の望ましい実施形態について説明するが、第１実施形態及び第２実施形態は、遷移元ページでデータを編集し、編集したデータを遷移先ページで表示するＷｅｂアプリケーションに関する実施形態となっており、第３実施形態は、遷移元ページでデータを選択し、選択したデータを遷移先ページで編集するＷｅｂアプリケーションに関する実施形態となっている。
【００２８】
なお、第１実施形態及び第２実施形態は、Ｗｅｂアプリケーションに本発明を適用した一般的適用例について説明しており、第３実施形態は、半導体製造装置のレシピを編集するＷｅｂアプリケーションに本発明を適用した具体的適用例について説明している。ただし、第３実施形態は、半導体製造装置のレシピを編集するＷｅｂアプリケーションに本発明の提供範囲を制限すべきことを意味しない。すなわち、本発明は、電子商取引に用いるＷｅｂアプリケーション等にも適用することができる。
【００２９】
＜１  第１実施形態＞
＜１．１  Ｗｅｂアプリケーションシステムの全体概略構成＞
図１は、本発明の第１実施形態に係るＷｅｂアプリケーションシステム１の全体概略構成を示すブロック図である。
【００３０】
図１に示すように、Ｗｅｂアプリケーションシステム１は、Ｗｅｂサーバ１１とＷｅｂクライアント１３とを備える。Ｗｅｂサーバ１１とＷｅｂクライアント１３とは、ネットワーク１５を介して接続され、通信を行うことができる。なお、図１は、Ｗｅｂアプリケーションシステム１が含むＷｅｂクライアント１３の数が１個である場合を示しているが、Ｗｅｂアプリケーションシステム１が含むＷｅｂクライアント１３の数は２個以上であってもよい。
【００３１】
Ｗｅｂサーバ１１は、少なくともＣＰＵ１１ａ及びメモリ１１ｂを備えるコンピュータであり、メモリ１１ｂ上のプログラムＰＧ１１を実行することにより、Ｗｅｂアプリケーションを提供する。また、Ｗｅｂサーバ１１は、Ｗｅｂクライアント１３との通信を制御する通信制御部１１ｃを備える。
【００３２】
Ｗｅｂクライアント１３も、少なくともＣＰＵ１３ａ及びメモリ１３ｂを備えるコンピュータであり、メモリ１３ｂ上のプログラムＰＧ１３を実行することにより、Ｗｅｂアプリケーションの操作用の端末として機能する。また、Ｗｅｂクライアント１３は、Ｗｅｂサーバ１１との通信を制御する通信制御部１３ｃを備える。
【００３３】
＜１．２  Ｗｅｂサーバの構成＞
図２は、Ｗｅｂサーバ１１の構成を示すブロック図である。
【００３４】
図２に示すように、Ｗｅｂサーバ１１は、ＧＵＩＤ Ｇ１を発行するグローバル一意識別子発行部（以下、「ＧＵＩＤ発行部」）１１１と、ページデータＤ１を管理するページデータ管理部１１３とＷｅｂアプリケーションにおいて処理対象となるデータを記憶するアプリケーションキャッシュ領域１１７とを備える。ＧＵＩＤ発行部１１１及びページデータ管理部１１３は、コンピュータにプログラムＰＧ１１を実行させることにより実現される機能を表している。また、アプリケーションキャッシュ領域１１７は、アプリケーションごとにメモリ１１ｂに準備される記憶領域のひとつである。
【００３５】
ＧＵＩＤ発行部１１１は、Ｗｅｂクライアント１３におけるページの遷移ごとにユニークなＧＵＩＤ Ｇ１を発行する。
【００３６】
ページデータ管理部１１３は、遷移元ページから遷移先ページへの遷移にあたって、遷移元ページが編集対象としたページデータＤ１とＧＵＩＤ発行部１１１が発行したＧＵＩＤ Ｇ１とを関連づけし、関連づけしたページデータＤ１とＧＵＩＤ Ｇ１とをアプリケーションキャッシュ領域１１７上のページデータ管理テーブルＴＡ１１に追加する。また、ページデータ管理部１１３は、Ｗｅｂクライアント１３が返信したＧＵＩＤ Ｇ１と関連づけされたページデータＤ１を、遷移先ページが表示対象とするページデータＤ１としてページデータ管理テーブルＴＡ１１から取得する。
【００３７】
＜１．３  Ｗｅｂアプリケーションシステムにおける処理＞
図３は、Ｗｅｂサーバ１１及びＷｅｂクライアント１３が、それぞれ、プログラムＰＧ１１,ＰＧ１３にしたがって実行する処理の流れを示すフローチャートである。図３において、「（Ｓ）」及び「（Ｃ）」は、それぞれ、Ｗｅｂサーバ１１が実行する処理及びＷｅｂクライアント１３が実行する処理を示しており、「（Ｓ→Ｃ）」及び「（Ｃ→Ｓ）」は、それぞれ、Ｗｅｂサーバ１１からＷｅｂクライアント１３への送信処理及びＷｅｂクライアント１３からＷｅｂサーバ１１への送信処理を示している。当該送信処理は、通信制御部１１ｃ及び１３ｃが協働して実行する処理である。また、図４は、Ｗｅｂサーバ１１とＷｅｂクライアント１３との間でやり取りされる情報を示す図である。
【００３８】
図３及び図４に示すように、遷移元ページＰ１１から遷移先ページＰ１３へのページの遷移にあたっては、まず、遷移元ページＰ１１で編集されたページデータＤ１１が、Ｗｅｂクライアント１３からＷｅｂサーバ１１へ送信される（ステップＳ１０１）。
【００３９】
ページデータＤ１１を受信したＷｅｂサーバ１１では、ＧＵＩＤ発行部１１１が、ＧＵＩＤ Ｇ１１を発行し（ステップＳ１０２）、ページデータ管理部１１３が、ＧＵＩＤ Ｇ１１とページデータＤ１１とを関連づけした上で（ステップＳ１０３）、ページデータ管理テーブルＴＡ１１に追加する（ステップＳ１０４）。ステップＳ１０１〜Ｓ１０４により、遷移先ページＰ１３へ引き渡すページデータＤ１１が、ＧＵＩＤ Ｇ１１によって識別された状態で、アプリケーションキャッシュ領域１１７に格納されたことになる。これにより、複数のページデータＤ１１を格納する記憶領域として、アプリケーションキャッシュ領域１１７という共通の記憶領域を利用できるようになる。
【００４０】
さらに、ＧＵＩＤ Ｇ１１は、Ｗｅｂサーバ１１からＷｅｂクライアント１３へ送信される（ステップＳ１０５）。ステップＳ１０５により、Ｗｅｂクライアント１３は、遷移先ページＰ１３で表示するページデータＤ１１をページデータ管理テーブルＴＡ１１から取得する検索キーを得たことになる。
【００４１】
ＧＵＩＤ Ｇ１１を受信したＷｅｂクライアント１３は、ＧＵＩＤ Ｇ１１をＵＲＬのクエリ文字列に設定する（ステップＳ１０６）。そして、ＧＵＩＤ Ｇ１１は、当該ＵＲＬのＨＴＴＰリクエストとして、Ｗｅｂクライアント１３からＷｅｂサーバ１１へ返信される（ステップＳ１０７）。
【００４２】
これに対して、Ｗｅｂサーバ１１では、ページデータ管理部１１３が、当該ＵＲＬのクエリ文字列からＧＵＩＤ Ｇ１１を抽出し（ステップＳ１０８）、ＧＵＩＤ Ｇ１１を検索キーとしてページデータ管理テーブルＴＡ１１を検索することにより、ページデータＤ１１を取得する（ステップ１０９）。ページデータＤ１１は、Ｗｅｂサーバ１１からＷｅｂクライアント１３へ送信され（ステップＳ１１０）、Ｗｅｂクライアント１３のＷｅｂブラウザ１３１にページデータＤ１１が表示される（ステップＳ１１１）。ステップＳ１１１により、Ｗｅｂブラウザ１３１における遷移元ページＰ１１から遷移先ページＰ１３への遷移が完了したことになる。
【００４３】
ここで、遷移先ページＰ１３が表示するページデータＤ１１は、遷移元ページＰ１１で編集されたものであるから、遷移元ページＰ１１から遷移先ページＰ１３へのページデータＤ１１の引き渡しは適切に行われている。つまり、Ｗｅｂアプリケーションシステム１では、Ｗｅｂクライアント１３におけるページの遷移の際に、遷移先ページＰ１３へ引き渡すページデータＤ１１を取得する検索キーをＷｅｂクライアント１３に与えることにより、ページの遷移が適切に行われるようにしている。
【００４４】
なお、当該検索キーは、ページの遷移ごとにユニークなＧＵＩＤ Ｇ１であるから、Ｗｅｂアプリケーションシステム１では、ページの遷移ごとに対象とするページデータＤ１を分離して引き渡しでき、複数のＷｅｂブラウザ１３１でＷｅｂアプリケーションを操作しても、ページデータＤ１の混同が生じることはない。
【００４５】
例えば、図５に示すように、Ｗｅｂブラウザ１３１ｐの遷移元ページＰ１１ｐでデータＤ１１ｐを編集し、その後に、Ｗｅｂブラウザ１３１ｑの遷移元ページＰ１１ｑでデータＤ１１ｑを編集したとすると、遷移元ページＰ１１ｐで編集されたデータＤ１１ｐも、遷移元ページＰ１１ｑで編集されたデータＤ１１ｑもアプリケーションキャッシュ領域１１７に保存されるが、データＤ１１ｐ，Ｄ１１ｑは、ＧＵＩＤ Ｇ１１ｐ，Ｇ１１ｑによって相互に識別されているので、データＤ１１ｑがデータＤ１１ｐを上書きすることはない。これにより、Ｗｅｂブラウザ１３１ｐにおいて遷移元ページＰ１１ｐから遷移先ページＰ１３ｐへ遷移すると、遷移先ページＰ１３ｐでは、データＤ１１ｐを正しく取得して表示でき、Ｗｅｂブラウザ１３１ｑにおいて遷移元ページＰ１１ｑから遷移先ページＰ１３ｑへ遷移すると、遷移先ページＰ１３ｑでは、データＤ１１ｑを正しく取得して表示できる。すなわち、Ｗｅｂアプリケーションシステム１は、複数のＷｅｂブラウザ１３１ｐ，１３１ｑでＷｅｂアプリケーションを操作してもデータの不整合が起こらないという利点を有している。
【００４６】
＜２  第２実施形態＞
＜２．１  Ｗｅｂアプリケーションシステムの全体概略構成＞
図１は、本発明の第２実施形態に係るＷｅｂアプリケーションシステム２の全体概略構成を示すブロック図ともなっている。Ｗｅｂアプリケーションシステム２は、Ｗｅｂアプリケーションシステム１と類似の構成を有しているが、不要となったページデータを削除できる点でＷｅｂアプリケーションシステム１と異なっている。
【００４７】
図１に示すように、Ｗｅｂアプリケーションシステム２は、Ｗｅｂアプリケーションシステム１と同様に、Ｗｅｂサーバ２１とＷｅｂクライアント２３とを備え、Ｗｅｂサーバ２１とＷｅｂクライアント２３とは、ネットワーク２５を介して接続され、通信を行うことができる。
【００４８】
Ｗｅｂサーバ２１は、少なくともＣＰＵ２１ａ及びメモリ２１ｂを備えるコンピュータであり、メモリ２１ｂ上のプログラムＰＧ２１を実行することにより、Ｗｅｂアプリケーションを提供する。また、Ｗｅｂサーバ２１は、Ｗｅｂクライアント２３との通信を制御する通信制御部２１ｃを備える。
【００４９】
Ｗｅｂクライアント２３も、少なくともＣＰＵ２３ａ及びメモリ２３ｂを備えるコンピュータであり、メモリ２３ｂ上のプログラムＰＧ２３を実行することにより、Ｗｅｂアプリケーションの操作用の端末として機能する。また、Ｗｅｂクライアント２３は、Ｗｅｂサーバ２１との通信を制御する通信制御部２３ｃを備える。
【００５０】
＜２．２  Ｗｅｂサーバの構成＞
図６は、Ｗｅｂサーバ２１の構成を示すブロック図である。
【００５１】
図６に示すように、Ｗｅｂサーバ２１は、ＧＵＩＤ Ｇ２を発行するＧＵＩＤ発行部２１１と、ページデータＤ２を管理するページデータ管理部２１３と、Ｗｅｂアプリケーションにおいて処理対象となるデータを記憶するアプリケーションキャッシュ領域２１７とを備える。ＧＵＩＤ発行部２１１及びページデータ管理部２１３は、コンピュータにプログラムＰＧ２１を実行させることにより実現される機能を表している。また、アプリケーションキャッシュ領域２１７は、アプリケーションごとにメモリ２１ｂに準備される記憶領域のひとつである。
【００５２】
ＧＵＩＤ発行部２１１及びページデータ管理部２１３は、それぞれ、Ｗｅｂサーバ１１のＧＵＩＤ発行部１１１及びページデータ管理部１１３と同様の機能を有する。加えて、ＧＵＩＤ発行部２１１は、ＧＵＩＤ Ｇ２の発行時刻を示すタイムスタンプＴ２を発行し、ページデータ管理部２１３は、不要となったページデータＤ２を削除する。
【００５３】
この点についてより具体的に説明すると、ページデータ管理部２１３は、関連づけしたＧＵＩＤ Ｇ２とページデータＤ２とをアプリケーションキャッシュ領域２１７上のページデータ管理テーブルＴＡ２１に追加する際に、タイムスタンプＴ２をページデータ管理テーブルＴＡ２１に登録する。また、ページデータ管理部２１３は、不要となったページデータＤ２を、関連づけされたＧＵＩＤ Ｇ２及びタイムスタンプＴ２とともに、ページデータ管理テーブルＴＡ２１から削除する。
【００５４】
＜２．３  Ｗｅｂアプリケーションシステムにおける処理＞
図７及び図８は、Ｗｅｂサーバ２１及びＷｅｂクライアント２３が、それぞれ、プログラムＰＧ２１,ＰＧ２３にしたがって実行する処理の流れを示すフローチャートである。図７及び図８において、「（Ｓ）」及び「（Ｃ）」は、それぞれ、Ｗｅｂサーバ２１が実行する処理及びＷｅｂクライアント２３が実行する処理を示しており、「（Ｓ→Ｃ）」及び「（Ｃ→Ｓ）」は、ぞれぞれ、Ｗｅｂサーバ２１からＷｅｂクライアント２３への送信処理及びＷｅｂクライアント２３からＷｅｂサーバ２１への送信処理を示している。当該送信処理は、通信制御部２１ｃ及び２３ｃが協働して実行する処理である。また、図９は、Ｗｅｂサーバ２１とＷｅｂクライアント２３との間でやり取りされる情報を示す図である。
【００５５】
図７〜図９に示すように、遷移元ページＰ２１から遷移先ページＰ２３への遷移にあたっては、まず、不要となったＧＵＩＤ Ｇ２２が、Ｗｅｂクライアント２３からＷｅｂサーバ２１へ送信される（ステップＳ２０１）。ここで、「不要となったＧＵＩＤ」とは、以前のページの遷移において検索キーとして用いられ、以後のページの遷移において検索キーとして用いられることがないＧＵＩＤである。不要となったＧＵＩＤ Ｇ２２の送信をページの遷移のたびに行うならば、直前のページの遷移において検索キーとして用いられたＧＵＩＤとすればよい。
【００５６】
不要となったＧＵＩＤ Ｇ２２を受信したＷｅｂサーバ２１では、ページデータ管理部２１３が、ＧＵＩＤ Ｇ２２を検索キーとしてページデータ管理テーブルＴＡ２１を検索する。ここで、ページデータ管理部２１３は、ページデータ管理テーブルＴＡ２１にＧＵＩＤ Ｇ２２が存在すれば（ステップＳ２０２で"YES"）、ＧＵＩＤ Ｇ２２並びにＧＵＩＤ Ｇ２２と関連づけされたページデータＤ２２及びタイムスタンプＴ２２をページデータ管理テーブルＴＡ２１から削除し（ステップＳ２０３）、存在しなければ（ステップＳ２０２で"NO"）、特に処理を行わない。
【００５７】
ステップＳ２０１〜Ｓ２０３により、遷移元ページＰ２１から遷移先ページＰ２３への遷移と同期して、以後のページの遷移で用いられることがない、ＧＵＩＤ Ｇ２２、ページデータＤ２２及びタイムスタンプＴ２２がページデータ管理テーブルＴＡ２１から削除されるので、アプリケーションキャッシュ領域２１７の記憶容量を無駄に消費しなくなり、Ｗｅｂサーバ２１を長時間連続して運用できるようになる。
【００５８】
ステップＳ２０４〜Ｓ２１４では、図３のステップＳ１０１〜Ｓ１１１と同様に、遷移元ページＰ２１から遷移先ページＰ２３への遷移が行われる。すなわち、遷移元ページＰ２１で編集されたページデータＤ２１とＧＵＩＤ Ｇ２１とがページデータ管理テーブルＴＡ２１に追加される一方で、ＧＵＩＤ Ｇ２１が、Ｗｅｂサーバ２１からＷｅｂクライアント２３へ送信され、Ｗｅｂクライアント２３が返信したＧＵＩＤ  Ｇ２１に関連づけされたページデータＤ２１がＷｅｂサーバ２１からＷｅｂクライアント２３へ送信され、Ｗｅｂクライアント２３のＷｅｂブラウザ２３１にページデータＤ２１が表示される。ただし、Ｗｅｂサーバ２１では、ページデータ管理部２１３が、ＧＵＩＤ Ｇ２１とページデータＤ２１とを関連づけするだけでなく、タイムスタンプＴ２１も関連づけした上で（ステップＳ２０６）、ページデータ管理テーブルＴＡ２１に追加する（ステップＳ２０７）点がＷｅｂサーバ１と異なっている。
【００５９】
図１０は、Ｗｅｂサーバ２１がプログラムＰＧ２１にしたがって一定周期で実行する処理の流れを示すフローチャートである。
【００６０】
図１０に示すように、Ｗｅｂサーバ２１では、ページデータ管理部２１３が、ループ始端のステップＳ２５１とループ終端のステップＳ２５５との間のステップＳ２５２〜Ｓ２５４を、ページデータ管理テーブルＴＡ２１の全てのデータについて繰り返し実行する。
【００６１】
すなわち、ページデータ管理部２１３は、タイムスタンプＴ２及び現在時刻から、ＧＵＩＤ Ｇ２の発行時刻からの経過時間を算出し（ステップＳ２５２）、経過時間が設定時間を超えている場合のみ（ステップＳ２５３で"YES"）、ＧＵＩＤ Ｇ２、ページデータＤ２及びタイムスタンプＴ２をページデータ管理テーブルＴＡ２１から削除する（ステップＳ２５４）。このように、経過時間に応じてＧＵＩＤ Ｇ２、ページデータＤ２及びタイムスタンプＴ２をページデータ管理テーブルＴＡ２１から削除するようにすれば、ページの遷移が中止された場合（例えば、Ｗｅｂブラウザ２３１のウィンドウが閉じられた場合）に残存するページデータＤ２をページデータ管理テーブルＴＡ２１から削除できるので、アプリケーションキャッシュ領域２１７の記憶容量を無駄に消費することがなくなり、Ｗｅｂサーバ２１をさらに長時間連続して運用できるようになる。
【００６２】
なお、ステップＳ２５１〜Ｓ２５５を周期的に実行するのに代えて、又は、ステップＳ２５１〜Ｓ２５５を周期的に実行するのに加えて、又は、アプリケーションキャッシュ領域２１７の記憶容量が少なくなったときに、経過時間が長いものから順にＧＵＩＤ Ｇ２、ページデータＤ２及びタイムスタンプＴ２をページデータ管理テーブルＴＡ２１から削除するようにしてもよい。
【００６３】
このようなＷｅｂアプリケーションシステム２も、Ｗｅｂアプリケーションシステム１と同様に、複数のＷｅｂブラウザでＷｅｂアプリケーションを操作してもデータの不整合が起こらないという利点を有している。
【００６４】
＜３  第３実施形態＞
＜３．１  Ｗｅｂアプリケーションシステムの全体概略構成＞
図１は、本発明の第３実施形態に係るＷｅｂアプリケーションシステム３の全体概略構成を示すブロック図ともなっている。Ｗｅｂアプリケーションシステム３は、Ｗｅｂアプリケーションシステム１と類似の構成を有しているが、不要となったレシピを削除できる点及びレシピの同時編集を防止できる点でＷｅｂアプリケーションシステム１と異なっている。なお、ここでいう「レシピ」とは、半導体製造装置の制御手順を記述したデータである。
【００６５】
図１に示すように、Ｗｅｂアプリケーションシステム３は、Ｗｅｂアプリケーションシステム１と同様に、Ｗｅｂサーバ３１とＷｅｂクライアント３３とを備え、Ｗｅｂサーバ３１とＷｅｂクライアント３３とは、ネットワーク３５を介して接続され、通信を行うことができる。
【００６６】
Ｗｅｂサーバ３１は、少なくともＣＰＵ３１ａ及びメモリ３１ｂを備えるコンピュータであり、メモリ３１ｂ上のプログラムＰＧ３１を実行することにより、Ｗｅｂアプリケーションを提供する。また、Ｗｅｂサーバ３１は、Ｗｅｂクライアント３３との通信を制御する通信制御部３１ｃを備える。
【００６７】
Ｗｅｂクライアント３３も、少なくともＣＰＵ３３ａ及びメモリ３３ｂを備えるコンピュータであり、メモリ３３ｂ上のプログラムＰＧ３３を実行することにより、Ｗｅｂアプリケーションの操作用の端末として機能する。また、Ｗｅｂクライアント３３は、Ｗｅｂサーバ３１との通信を制御する通信制御部３３ｃを備える。
【００６８】
＜３．２  Ｗｅｂサーバの構成＞
図１１は、Ｗｅｂサーバ３１の構成を示すブロック図である。
【００６９】
図１１に示すように、Ｗｅｂサーバ３１は、ＧＵＩＤ Ｇ３を発行するＧＵＩＤ発行部３１１と、占有ＩＤ Ｃ３を管理するページデータ管理部３１３と、レシピを選択又は編集する権利である占有権を管理する占有権管理部３１５と、Ｗｅｂアプリケーションにおいて処理対象となるデータを記憶するアプリケーションキャッシュ領域３１７とを備える。
【００７０】
ＧＵＩＤ発行部３１１、ページデータ管理部３１３及び占有権管理部３１５は、コンピュータにプログラムＰＧ３１を実行させることにより実現される機能を表している。アプリケーションキャッシュ領域３１７は、アプリケーションごとにメモリ３１ｂに準備される記憶領域のひとつである。
【００７１】
ＧＵＩＤ発行部３１１は、Ｗｅｂクライアント３３におけるページの遷移ごとにユニークなＧＵＩＤ Ｇ３を発行する。さらに、ＧＵＩＤ発行部３１１は、ＧＵＩＤ Ｇ３の発行時刻を示すタイムスタンプＴ３を発行する。
【００７２】
ページデータ管理部３１３は、レシピ選択ページからレシピ編集ページへの遷移にあたって、ＧＵＩＤ発行部３１１が発行したＧＵＩＤ Ｇ３とレシピ選択ページで選択されたレシピに対して発行された占有識別子（以下、「占有ＩＤ」）Ｃ３とを関連づけし、関連づけしたＧＵＩＤ Ｇ３と占有ＩＤ Ｃ３とをアプリケーションキャッシュ領域３１７上のページデータ管理テーブルＴＡ３１に追加する。また、ページデータ管理部３１３は、Ｗｅｂクライアント３３が返信したＧＵＩＤ Ｇ３と関連づけされた占有ＩＤ Ｃ３をページデータ管理テーブルＴＡ３１から取得する。
【００７３】
加えて、ページデータ管理部３１３は、不要となった占有ＩＤ Ｃ３を削除する。
【００７４】
この点についてより具体的に説明すると、ページデータ管理部３１３は、関連づけしたＧＵＩＤ Ｇ３と占有ＩＤ Ｃ３とをページデータ管理テーブルＴＡ３１へ追加する際に、タイムスタンプＴ３をアプリケーションキャッシュ領域３１７に登録する。また、ページデータ管理部３１３は、不要となったレシピに対して発行された占有ＩＤ Ｃ３を、関連づけされたＧＵＩＤ Ｇ３及びタイムスタンプＴ３とともに、ページデータ管理テーブルＴＡ３１から削除する。占有ＩＤ Ｃ３の削除は、第２実施形態と同様に、ＧＵＩＤ Ｇ３の発行時刻からの経過時間に応じて行えばよい。
【００７５】
占有権管理部３１５は、図１２のブロック図に示すように、占有ＩＤ Ｃ３を発行する占有識別子発行部（以下、「占有ＩＤ発行部」）３１５１と、レシピの占有状態を確認する占有状態確認部３１５３と、占有ＩＤの妥当性を判断する占有ＩＤ妥当性判断部３１５５とを備える。占有権管理部３１５は、レシピ選択ページで選択されたレシピに対して占有ＩＤ Ｃ３を発行する。
【００７６】
占有ＩＤ発行部３１５１は、レシピ選択ページで選択されたレシピに対して、当該レシピが既に選択されていることを示す占有ＩＤ Ｃ３を発行する。なお、以下では、レシピが既に「選択されている」ことを、「占有されている」と称する。占有ＩＤ Ｃ３は、当該占有ＩＤ Ｃ３が発行されたレシピを選択又は編集することができる権利である占有権を識別する識別子となる。
【００７７】
さらに、占有ＩＤ発行部３１５１は、レシピ選択ページで選択されたレシピに対して発行された占有ＩＤ Ｃ３と、当該レシピのレシピＩＤ Ｒ３と、レシピ選択ページで当該レシピの選択操作を行った操作者を識別するユーザＩＤ Ｕ３とを関連づけし、アプリケーションキャッシュ領域３１７上の占有権管理テーブルＴＡ３２に追加する。
【００７８】
占有状態確認部３１５３は、レシピＩＤ Ｒ３を検索キーとして占有権管理テーブルＴＡ３２を検索し、当該レシピＩＤ Ｒ３を有するレシピが既に占有されているか否かを確認する。具体的には、占有状態確認部３１５３は、占有権管理テーブルＴＡ３２においてレシピＩＤ Ｒ３が占有ＩＤ Ｃ３と関連づけされている場合、当該レシピＩＤを有するレシピが既に占有されていると判定し、関連づけされていない場合、占有されていないと判定する。
【００７９】
占有ＩＤ妥当性判断部３１５５は、占有ＩＤ Ｃ３を検索キーとして占有権管理テーブルＴＡ３１を検索し、占有ＩＤ Ｃ３の妥当性を判断する。具体的には、占有ＩＤ妥当性判断部３１５５は、占有ＩＤ Ｃ３が占有権管理テーブルＴＡ３１に含まれれば、当該占有ＩＤ Ｃ３は有効であると判断し、当該占有ＩＤ Ｃ３と関連づけされたレシピＩＤ Ｒ３を占有権管理テーブルＴＡ３１から取得し、含まれなければ、当該占有ＩＤ Ｃ３は無効であると判断する。
【００８０】
＜３．３  Ｗｅｂアプリケーションにおける処理＞
図１３及び図１４は、Ｗｅｂサーバ３１及びＷｅｂクライアント３３が、それぞれ、プログラムＰＧ３１,ＰＧ３３にしたがって実行する処理の流れを示すフローチャートである。図１３及び図１４において、「（Ｓ）」及び「（Ｃ）」は、それぞれ、Ｗｅｂサーバ３１が実行する処理及びＷｅｂクライアント３３が実行する処理を示しており、「（Ｓ→Ｃ）」及び「（Ｃ→Ｓ）」は、それぞれ、Ｗｅｂサーバ３１からＷｅｂクライアント３３への送信処理及びＷｅｂクライアント３３からＷｅｂサーバ３１への送信処理を示している。当該送信処理は、通信制御部３１ｃ及び３３ｃが協働して実行する処理である。また、図１５は、Ｗｅｂサーバ３１とＷｅｂクライアント３３との間でやり取りされる情報を示す図である。
【００８１】
図１３〜図１５に示すように、レシピ選択ページＰ３１からレシピ編集ページＰ３３への遷移にあたっては、まず、レシピ選択ページＰ３１で選択されたレシピの編集開始が、Ｗｅｂクライアント３３からＷｅｂサーバ３１へ通知される（ステップＳ３０１）。
【００８２】
レシピ選択ページＰ３１で選択されたレシピのレシピＩＤ Ｒ３１を通知されたＷｅｂサーバ３１では、占有状態確認部３１５３が、レシピＩＤ Ｒ３１を有するレシピが既に占有されているか否かを確認する。そして、レシピが占有されている場合（ステップＳ３０２で"YES"）、編集禁止メッセージがＷｅｂサーバ３１からＷｅｂクライアント３３へ送信され（ステップＳ３２１）、編集禁止メッセージがＷｅｂブラウザ３３１に表示される（ステップ３２２）。編集禁止メッセージにより、Ｗｅｂブラウザ３３１の操作者は、レシピ選択ページＰ３１で選択したレシピを編集できないことを認識する。一方、レシピが占有されていない場合（ステップＳ３０２で"NO"）、占有ＩＤ発行部３１５１が、レシピＩＤ Ｒ３１に対して占有ＩＤ Ｃ３１を発行し（ステップＳ３０３）、占有ＩＤ Ｃ３１とレシピＩＤ Ｒ３１とユーザＩＤ Ｕ３１とを関連づけした上で（ステップＳ３０４）、占有権管理テーブルＴＡ３２に追加する（ステップＳ３０５）。ステップＳ３０３〜Ｓ３０５により、レシピＩＤ Ｒ３１を有するレシピは、占有され、占有権を引きついだレシピ編集ページＰ３３以外では編集できなくなる。
【００８３】
続いて、占有権の設定が完了したＷｅｂサーバ３１では、ＧＵＩＤ発行部３１１が、ＧＵＩＤ Ｇ３１及びタイムスタンプＴ３１を発行し（ステップＳ３０６）、ページデータ管理部３１３が、ＧＵＩＤ Ｇ３１と占有ＩＤ Ｃ３１とタイムスタンプＴ３１とを関連づけした上で（ステップＳ３０７）、ページデータ管理テーブルＴＡ３１に追加する（ステップＳ３０８）。ステップＳ３０３〜Ｓ３０８により、ＧＵＩＤ Ｇ３１とレシピＩＤ Ｒ３１とが占有ＩＤ Ｃ３１を介して間接的に関連づけされ、関連づけの情報がページデータ管理テーブルＴＡ３１及び占有権管理テーブルＴＡ３２に分割して記憶されたことになる。ここで、「関連づけの情報」というのは、ＧＵＩＤとレシピの実体データとを直接関連づけて記憶しておくことは必須ではなく、レシピごとにユニークなレシピＩＤ等を利用して、ＧＵＩＤとレシピとの対応関係がわかるようにしておけばよいという趣旨である。
【００８４】
さらに、ＧＵＩＤ Ｇ３１は、Ｗｅｂサーバ３１からＷｅｂクライアント３３へ送信される（ステップＳ３０９）。ＧＵＩＤ Ｇ３１を受信したＷｅｂクライアント３３は、ＧＵＩＤ Ｇ３１をＵＲＬのクエリ文字列に設定する（ステップＳ３１０）。そして、ＧＵＩＤ Ｇ３１は、当該ＵＲＬのＨＴＴＰリクエストとして、Ｗｅｂクライアント３３からＷｅｂサーバ３１へ返信される（ステップＳ３１１）。
【００８５】
これに対して、Ｗｅｂサーバ３１では、ページデータ管理部３１３が、当該ＵＲＬのクエリ文字列からＧＵＩＤ Ｇ３１を抽出し（ステップＳ３１２）、ＧＵＩＤ Ｇ３１を検索キーとしてページデータ管理テーブルＴＡ３１を検索することにより、占有ＩＤ Ｃ３１を取得する（ステップＳ３１３）。
【００８６】
占有ＩＤ Ｃ３１は、Ｗｅｂサーバ３１からＷｅｂクライアント３３へ送信される（ステップＳ３１４）。これにより、遷移先のレシピ編集ページＰ３３は、遷移元のレシピ選択ページＰ３１で選択されたレシピの占有権を引き継ぎ、当該レシピを編集する権利を独占排他的に取得したことになる。
【００８７】
続いて、占有ＩＤ Ｃ３１の妥当性がＷｅｂクライアント３３からＷｅｂサーバ３１へ問い合わされる（ステップＳ３１５）。
【００８８】
占有ＩＤ Ｃ３１を通知されたＷｅｂサーバ３１では、占有ＩＤ妥当性判断部３１５５が、占有ＩＤ Ｃ３１の妥当性を判断する。そして、占有ＩＤ Ｃ３１が有効である場合（ステップＳ３１６で"YES"）、レシピ編集ページＰ３３のページデータＤ３３がＷｅｂサーバ３１からＷｅｂクライアント３３へ送信され（ステップＳ３１７）、レシピ編集ページＰ３３がＷｅｂブラウザ３３１に表示される（ステップＳ３１８）。ページデータＤ３３は、占有ＩＤ Ｃ３１と関連づけされたレシピＩＤ Ｒ３１を有するレシピの編集用のページデータであるから、ステップＳ３０１〜Ｓ３１８により、レシピ選択ページＰ３１からレシピ編集ページＰ３３へ対象とするレシピが引き渡されたことになる。
【００８９】
一方、占有ＩＤ Ｃ３１が無効である場合（ステップＳ３１６で"NO"）、エラーメッセージがＷｅｂサーバ３１からＷｅｂクライアント３３へ送信され（ステップＳ３１９）、エラーメッセージがＷｅｂブラウザ３３１に表示される（ステップ３２０）。エラーメッセージにより、Ｗｅｂブラウザ３３１の操作者は、レシピ選択ページＰ３１で選択したレシピの占有権がレシピ編集ページＰ３３に正しく引き継がれなかったことを認識できる。
【００９０】
このような処理の流れによって、Ｗｅｂアプリケーションシステム３でも、Ｗｅｂアプリケーション１と同様に、ページの遷移ごとに対象とするレシピを分離して引き渡しでき、複数のＷｅｂブラウザ３３１でＷｅｂアプリケーションを操作しても、レシピの混同が生じることはない。
【００９１】
例えば、図１６に示すように、Ｗｅｂブラウザ３３１ｐのレシピ選択ページＰ３１ｐで新たなＷｅｂブラウザ３３１ｑを起動した場合、Ｗｅｂブラウザ３３１ｐのレシピ選択ページＰ３１ｐで「レシピ１」を選択し、レシピ選択ページＰ３１ｐからレシピ編集ページＰ３３ｐへ遷移した後で、Ｗｅｂブラウザ３３１ｑのレシピ選択ページＰ３１ｑで「レシピ２」を選択すれば、「レシピ２」は占有されていないので、Ｗｅｂブラウザ３３１ｑでレシピ編集ページＰ３３ｑを表示することができる。
【００９２】
さらに、Ｗｅｂアプリケーションシステム３では、レシピ選択ページＰ３１で選択されたレシピを編集できるのは、レシピ選択ページＰ３１の遷移先のレシピ編集ページＰ３３に制限されるので、複数のＷｅｂブラウザにより、同一のレシピを同時に編集してしまうことも防止できる。
【００９３】
例えば、図１７に示すように、Ｗｅｂブラウザ３３１ｔのレシピ選択ページＰ３１ｔで新たなＷｅｂブラウザ３３１ｕを起動した場合、Ｗｅｂブラウザ３３１ｔのレシピ選択ページＰ３１ｔで「レシピ１」を選択し、レシピ選択ページＰ３１ｔからレシピ編集ページＰ３３ｔへ遷移した後で、Ｗｅｂブラウザ３３１ｕのレシピ選択ページＰ３１ｕで重ねて「レシピ１」を選択しても、「レシピ１」は既に占有されているので、Ｗｅｂブラウザ３３１ｕでレシピ編集ページを表示することはできない。このため、ブラウザ３３１ｔ及び３３１ｕで「レシピ１」を同時に編集してしまうことはない。
【００９４】
また、図１８に示すように、Ｗｅｂブラウザ３３１ｖのレシピ選択ページＰ３１ｖで「レシピ１」を選択し、レシピ選択ページＰ３１ｖからレシピ編集ページＰ３３ｖへ遷移した後で、Ｗｅｂブラウザ３３１ｖのレシピ編集ページＰ３３ｖで新たなＷｅｂブラウザ３３１ｗを起動した場合、「レシピ１」は既に占有されているので、Ｗｅｂブラウザ３３１ｗでレシピ編集ページを表示することはできない。このため、ブラウザ３３１ｖ及び３３１ｗで「レシピ１」を同時に編集してしまうことはない。
【００９５】
＜４  その他＞
第１実施形態では、世界で唯一の識別子であるＧＵＩＤ Ｇ１でページデータＤ１を識別したが、サーバ１１の内部で唯一であるに過ぎない識別子等でページデータＤ１を識別した場合でも、当該識別子が、Ｗｅｂクライアント１３におけるページの遷移ごとに発行されたユニークなものであれば、本発明の目的を達成することができる。この点は、第２実施形態及び第３実施形態でも同様である。
【図面の簡単な説明】
【００９６】
【図１】本発明の第１実施形態〜第３実施形態に係るＷｅｂアプリケーションシステム１〜３の全体概略構成を示すブロック図である。
【図２】Ｗｅｂサーバ１１の構成を示すブロック図である。
【図３】Ｗｅｂサーバ１１及びＷｅｂクライアント１３が実行する処理の流れを示すフローチャートである。
【図４】Ｗｅｂサーバ１１とＷｅｂクライアント１３との間でやり取りされる情報を示す図である。
【図５】複数のＷｅｂブラウザ１３１ｐ，１３１ｑでＷｅｂアプリケーションを操作した場合の処理を説明する図である。
【図６】Ｗｅｂサーバ２１の構成を示すブロック図である。
【図７】Ｗｅｂサーバ２１及びＷｅｂクライアント２３が実行する処理の流れを示すフローチャートである。
【図８】Ｗｅｂサーバ２１及びＷｅｂクライアント２３が実行する処理の流れを示すフローチャートである。
【図９】Ｗｅｂサーバ２１とＷｅｂクライアント２３との間でやり取りされる情報を示す図である。
【図１０】Ｗｅｂサーバ２１が一定周期で実行する処理の流れを示すフローチャートである。
【図１１】Ｗｅｂサーバ３１の構成を示すブロック図である。
【図１２】占有権管理部３１５の構成を示すブロック図である。
【図１３】Ｗｅｂサーバ３１及びＷｅｂクライアント３３が実行する処理の流れを示すフローチャートである。
【図１４】Ｗｅｂサーバ３１及びＷｅｂクライアント３３が実行する処理の流れを示すフローチャートである。
【図１５】Ｗｅｂサーバ３１とＷｅｂクライアント３３との間でやり取りされる情報を示す図である。
【図１６】複数のＷｅｂブラウザ３３１ｐ，３３１ｑでＷｅｂアプリケーションを操作した場合の処理を説明する図である。
【図１７】複数のＷｅｂブラウザ３３１ｔ，３３１ｕでＷｅｂアプリケーションを操作した場合の処理を説明する図である。
【図１８】複数のＷｅｂブラウザ３３１ｖ，３３１ｗでＷｅｂアプリケーションを操作した場合の処理を説明する図である。
【図１９】遷移元ページでデータを編集し、編集したデータを遷移先ページで表示するＷｅｂアプリケーションにおける従来のセッション管理を説明する図である。
【図２０】遷移元ページでデータを編集し、編集したデータを遷移先ページで表示するＷｅｂアプリケーションにおける従来のセッション管理を説明する図である。
【符号の説明】
【００９７】
１，２，３  Ｗｅｂアプリケーションシステム
１１，２１，３１  Ｗｅｂサーバ
１１１，２１１，３１１  グローバル一意識別子発行部（ＧＵＩＤ発行部）
１１３，２１３，３１３  ページデータ管理部
１１７，２１７，３１７  アプリケーションキャッシュ領域
３１５  占有権管理部
ＰＧ１１，ＰＧ２１，ＰＧ３１  プログラム
【図１】
2008090653.tif 000003
【図２】
2008090653.tif 000004
【図３】
2008090653.tif 000005
【図４】
2008090653.tif 000006
【図５】
2008090653.tif 000007
【図６】
2008090653.tif 000008
【図７】
2008090653.tif 000009
【図８】
2008090653.tif 000010
【図９】
2008090653.tif 000011
【図１０】
2008090653.tif 000012
【図１１】
2008090653.tif 000013
【図１２】
2008090653.tif 000014
【図１３】
2008090653.tif 000015
【図１４】
2008090653.tif 000016
【図１５】
2008090653.tif 000017
【図１６】
2008090653.tif 000018
【図１７】
2008090653.tif 000019
【図１８】
2008090653.tif 000020
【図１９】
2008090653.tif 000021
【図２０】
2008090653.tif 000022