JP2013506175A - 統一リソース識別子(uri)による、アプリケーション状態情報の管理 - Google Patents

統一リソース識別子(uri)による、アプリケーション状態情報の管理 Download PDF

Info

Publication number
JP2013506175A
JP2013506175A JP2012530184A JP2012530184A JP2013506175A JP 2013506175 A JP2013506175 A JP 2013506175A JP 2012530184 A JP2012530184 A JP 2012530184A JP 2012530184 A JP2012530184 A JP 2012530184A JP 2013506175 A JP2013506175 A JP 2013506175A
Authority
JP
Japan
Prior art keywords
uri
state information
application state
data array
application
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.)
Pending
Application number
JP2012530184A
Other languages
English (en)
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013506175A publication Critical patent/JP2013506175A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
    • H04L41/0293Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP] for accessing web services by means of a binding identification of the management service or element
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0253Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using browsers or web-pages for accessing management information

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】維持およびネットワークを介した交換が容易な、アプリケーション状態表現のための方法、コンピュータ・データ構造、およびコンピュータ・システムを提供する。
【解決手段】ある実施形態は、ネットワーク中のリソースを識別する統一リソース識別子(URI)のサブストリングによって表現されるアプリケーション状態情報を管理するための方法およびシステムを提供する。このサブストリングは複数の入れ子データ配列を含む。URIパーサおよびURIジェネレータが、アプリケーション状態情報をオブジェクト表現とURIストリング表現との間で変換する。望ましくは、URIは統一リソース位置指定子(URL)であり、アプリケーション状態情報はウェブ・アプリケーションによって提供され、URIストリング表現にはJavaScriptオブジェクト表記法(JSON)が使われる。
【選択図】図7

Description

本発明は、統一リソース識別子(URI:Uniform Resource Identifier)に基づいてアプリケーション状態情報を提供するためのコンピュータ処理方法と、アプリケーション状態情報に基づいてURIを提供するためのコンピュータ処理方法と、URIによってアプリケーション状態情報を管理するためのコンピュータ処理方法と、アプリケーション状態情報に関するコンピュータ・データ構造と、URIに基づいてアプリケーション状態情報を提供するためのコンピュータ・システムと、アプリケーション状態情報に基づいてURIを提供するためのコンピュータ・システムと、URIによってアプリケーション状態情報を管理するためのコンピュータ・システムと、URIによってアプリケーション状態情報を管理するためのコンピュータ・プログラム製品とに関する。
IBM(IBM社の登録商標)のz/OS(IBM社の登録商標)Resource Measurement Facility(RMF)は、パフォーマンスの測定および管理を提供する。この製品は、オペレーティング・システムz/OS(IBM社の登録商標)およびメインフレーム環境に対するパフォーマンス・データを収集し、システムのパフォーマンスをモニタする。z/OSRMF分散型データ・サーバ(DDS:Distributed Data Server)は、パフォーマンス・データに対するウェブ・フロントエンドを提供し、これらデータはウェブ・ブラウザを用いて表示することができる。モニタされる対象となるシステムの各リソースは、さまざまな評価指標に関連付けられ、これらは、ソフトウエア、または、例えばプロセッサなどのハードウエア構成要素の利用度の何らかの特性の測定量である。詳細については、URL、http://www−03.ibm.com/servers/eserver/zseries/zos/rmf/の製品ドキュメント・ページ、および、例えば、ftp://ftp.software.ibm.com/eserver/zseries/zos/rmf/の中のドキュメント、RMF_MonitorIII_DataPortal.pdfおよびRMFNewsletter15.pdfドキュメントを参照。
一般に、ウェブ・ブラウザまたはウェブ・クライアントは、インターネット(ワールド・ワイド・ウェブまたはwww)あるいはイントラネットなどのネットワークを介し、RMFDDSなどのウェブ・サーバにアクセスすることができる。これを行うため、統一リソース位置指定子(URL:Uniform Resource Locator)が、識別可能なリソースを利用できるコンピュータ・ネットワーク中の場所を特定することができる。ウェブ・クライアントは、URLを使って、ウェブ・サーバから情報をダウンロードし、ダウンロードされたコンテンツをウェブ・ページとして閲覧し、ハイパーリンクを使ってこれらの間をナビゲートすることができる。ウェブ・アプリケーションは、通常、ウェブ・サーバによってサーバ側で実行されるアプリケーション・プログラムである。ダウンロードされるコンテンツには、ウェブ・クライアントによってクライアント側で実行される、ウェブ・アプリケーション・プログラムの部分を包含させることができる。
以下のセクションでは、URL、ウェブ・アプリケーション、および、例えばJavaScript(R)などのスクリプト言語の基礎を説明する。統一リソース識別子(URI)は、URLの一般化であって、インターネット(www)またはイントラネット中のリソースを識別または命名するのに使われる。かかる識別によって、プロトコルを用い、ネットワークを介してリソースとのやり取りが可能になる。URIは文字のストリングから成る。URIシンタックスは、原則的に、コロン文字で終わるURIスキーム名および階層的スキーム特有部分を提供する。URIスキームは、またプロトコルともいわれる。URIスキーム名の例には「http:」、「ftp:」などがある。階層的部分は、通常、二重のフォワード・スラッシュ(「//」)で始まり、オーソリティ部分および随意のパスが続く。URIの各部分を「http://user:password@example.com:8037/over/there/index.dtb?name=ferret#nose」を例にして説明する。オーソリティ部分は、「@」で終わる随意のユーザ情報部分(「user:password」)と、ホスト名(「example.com」)、すなわちドメイン名またはIPアドレスと、コロン(「:」)が先行する随意のポート番号(「8037」)とを保持する。パス部分(「/over/there/index.dtb」)は、フォワード・スラッシュ(「/」)で隔てられた一連のセグメントである。クエリー(「?name=ferret」)は、クエッション・マーク(「?」)で隔てられた随意の部分で、追加の識別情報を包含し、本質的に階層的なものではない。クエリー・ストリングのシンタックスは一般的には定義されていないが、多くは、セミコロン(「;」)で隔てられた、またはアンパサンド(「&」)で隔てられた<キー>=<値>の対のシーケンスとして編成される。アンカー部分としても知られる、いわゆるフラグメント(「#nose」)は随意的部分で、前の部分とはハッシュ(「#」)で隔てられる。このフラグメントは、例えば、URIの残りの部分によって識別されたHTMLドキュメントの一部など、追加の識別情報を保持する。URIのこれらの部分をどのように配置し相互に隔てるかは、スキームに特有であって、別のプロトコルでは異なり得る。URIは、統一リソース位置指定子(「URL」)または統一リソース名(「URN」(Universal Resource Name))として分類することができる。URNは、アイテムの身元を定義し、URLはその場所を見出す方法を提供する。いわゆるULI参照は、全体のURI、またはスキーム特有部分の一つ以上の後続コンポーネントの形を取ることができる。URI参照は、ウェブ・ドキュメントのマークアップ言語中で頻繁に使われる。詳細については、リンクhttp://en.wikipedia.org/wiki/Uniform_Resource_Identifier、http://en.wikipedia.org/wiki/URI_scheme、およびリンクhttp://tools.ietf.org/html/rfc3986を参照。
クライアント側のスクリプトは、JavaScript記述言語が使用可能であって、多くの場合HTMLドキュメント内に埋め込まれている。しかし、これらを別のファイルに収容することもでき、ドキュメントはそのファイルを参照する。要求を受けて、必要なファイルが、それらが在駐するウェブ・サーバによってユーザのコンピュータに送信される。ウェブ・ブラウザがスクリプトを実行し、次いでスクリプトからの一切の可視のアウトプットを含め、ドキュメントを表示する。また、クライアント側のスクリプトには、ユーザが、例えば、特定のボタンをクリックする、または特定のテキストを入力するなど、ある特定の方法でドキュメントと相互作用した場合に、ウェブ・ブラウザがフォローする命令を包含させることもできる。これらの命令は、必ずしも、サーバとの追加の通信を必要としない。JavaScript記述言語は、該言語が関数を第一級オブジェクトとして取り扱うので、第一級関数を備えたダイナミック・プログラミング言語として位置付けられる。あるプログラミング言語が、他のプログラミング言語ならばコンパイル時に遂行するかもしれないような多くの共通の動作をランタイムに実行する場合、その言語はダイナミックであるといわれる。これらの動作には、新規コードを加えることによって、またはオブジェクトおよび定義を拡張することによって、または型システムを修正することによって、全てプログラム実行中に、プログラムを拡張することを含めることができよう。第一級オブジェクトは固有のアイデンティティを有するエンティティである。これは、具体的には、ランタイムにおいて構成可能であり、変数として格納可能であるという意味を含む。JavaScript記述言語は、HTMLおよびXMLドキュメント中のオブジェクトを表現しこれらと相互作用するための、プラットフォーム間共通で言語依存性のない表現規約であるドキュメント・オブジェクト・モデル(DOM:Document ObjectModel)をサポートすることができる。詳細については、リンクhttp://en.wikipedia.org/wiki//JavaScript、http://en.wikipedia.org/wiki//Dynamic_programming_language、http://en.wikipedia.org/wiki//First−class_function、http://en.wikipedia.org/wiki//First−class_object、http://en.wikipedia.org/wiki//Scripting_language、http://en.wikipedia.org/wiki//Client−side_scripting、およびリンクhttp://java.sun.com、およびhttp://www.w3.org/DOMを参照。
JavaScriptオブジェクト表記法(JSON:JavaScript Object Notation)は軽量の、テキスト・ベースで言語依存性のないコンピュータ・データ交換フォーマットであり、これは構造化されたデータの直列化に用いられ、そのデータはネットワークを介して送信可能である。JSONの設計目標は、それを最小化し、携帯可能で、テキスト的で、JavaScriptのサブセットとすることにあった。JSONは、4つのプリミティブ・データ型(ストリング(String)、数値(Number)、ブール値(Boolean)、および 空値(null))と、2つの構造化データ型(オブジェクト(Object)および配列(Array))とを表現することができる。ストリングは、ゼロ個以上の一連のユニコード文字である。配列は、ベクトルまたはリストとも呼ばれ、ゼロ個以上の順序付けられた一連の数値である。文献などでは連想配列またはマップとしても知られるオブジェクトは、ゼロ個以上の、キー−値ペアとも呼ばれる名前−値ペアの非順序集合であって、この名前はストリングであり、この値はストリング、数値、ブール値、空値、別のオブジェクト、または配列である。多種多様のプログラミング言語に対し、JSONデータを構文解析または生成するためのコードは容易に利用可能である。
JSONの主要なアプリケーションは、AJAX(「Asynchronous JavaScript and XML」(非同期JavaScriptおよびXML))ウェブ・アプリケーション・プログラミング中にあり、JSONはXMLフォーマット使用の代替として機能している。AJAXは、クライアント側で、双方向ウェブ・アプリケーションまたはリッチ・インターネット・アプリケーションを生成するため用いられる、相互に関連するウェブ開発技法の一群である。ウェブ・アプリケーションは、AJAXを使って、現存のウェブ・ページの表示および動作に干渉することなく、バックグラウンドで非同期に、ウェブ・サーバからデータを読み出すことができる。詳細は、リンクhttp://en.wikipedia.org/wiki/Associative_array、http://en.wikipedia.org/wiki/JavaScript、http://en.wikipedia.org/wiki/JSON、http://en.wikipedia.org/wiki/Ajax_(programming)、およびリンクhttp://tools.ietf.org/html/rfc4627で閲覧することができる。
あらゆる重要なアプリケーション・プログラムは、そのオペレーティング状態を管理しなければならず、これはアプリケーション状態とも呼ばれる。このアプリケーション状態は、アプリケーション・プログラムが遂行し、おそらくはコミットしているアクション、およびさらに実行することになる活動を反映する。一般に、アプリケーション状態は、一組の変数で表し、これを保存して後で読み出すことができる。ウェブ・アプリケーションは、自分のアプリケーション状態を保存するため2〜3の技法を用い、これらはサーバ側とクライアント側とに分類することができる。多くの場合、双方の型が使われる。セキュリティが関わる場合のウェブ・アプリケーションに対してはサーバ側の保存が使われる。例えば、オンライン・バンキング・アプリケーションは、コミットされた取引をウェブ・サーバ中に保存する。ウェブ・サーバは、ウェブ・ブラウザによってテキストの小片をユーザのコンピュータに保存するため、ブラウザ・クッキーまたはHTTPクッキーとしても知られるクッキーを生成する。詳しくは、クッキーは、ユーザの選好、サーバ・ベースのセッションの中で使用された情報、またはウェブサイトによって使用された他のデータなど、いくつかの情報を包含する一つ以上の名前−値ペアから成る。この一意的クッキー・ストリングは、ウェブ・アプリケーションの状態を識別し、ウェブ・サーバに保存される。あらゆるHTTP要求において、ウェブ・ブラウザは、ウェブ・サーバにこのクッキーを送信する。サーバは、クッキーをクライアントのウェブ・アプリケーションの状態に関連付けることができ、通常、HTTP応答を返信し、これにはクッキーの更新を包含させることができる。
しかしながら、多くのウェブ・アプリケーションにおいて、セキュリティは小さな役割をはたしているだけである。こういった場合、ウェブ・アプリケーションの状態を、ウェブ・ブラウザ中のURLの中に格納するのが便利である。ウェブ・クライアントは、情報を読み出すために、ウェブ・サーバにURLを送信する。例えば、URL、「http://myshop.com/search?category=cars&color=red&maxage=4」では、車歴4年以下で赤色の車を見付けるための検索基準が、クエリー・ストリング中に格納されている。アプリケーション・ユーザは、後にこの同じクエリー情報を有するリソースにアクセスするために、そのURLストリングをウェブ・クライアント中に格納し、これを別のウェブ・クライアントにコピーし、またはこれを別のアプリケーション・ユーザに送信することができる。
データベース・クエリーが非常に複雑な場合には、URL中のクエリー・ストリングは非常に長くなり、読み取りまたは修正が難しくなる。ウェブ・アプリケーションまたはユーザがクエリー・ストリングを変更した場合は、ウェブ・クライアントの変更されたURLを反映させるため、ウェブ・サーバにHTTP要求を必ず送信しなければならない。ウェブ・サーバは、要求された情報を取り出してHTTP応答を返信する。これには、余分なデータ処理リソースと時間とがかかる。
特許文献1は、アプリケーションの状態を識別し通信するためのドラッガブル・メカニズムを教示している。アプリケーション状態情報を識別するメタデータは、URLのフラグメント部分に、アンパサンド(「&」)で隔てられた一連の<キー>=<値>ペアによって表現される。このメタデータは、新しいアプリケーション状態を反映するために所定の時間間隔で更新される。
米国特許出願第2009/0015599号
しかして、本発明の諸実施形態の目的は、複雑なアプリケーション状態であっても、維持しネットワークを介して交換することが容易な表現法を有する方法、コンピュータ・データ構造、およびコンピュータ・システムを提供することである。
本発明の第一態様によって、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)に基づいてアプリケーション状態情報を提供する、コンピュータ処理方法が提供される。上記URIを表現する文字のストリングが提供される。そのストリングが構文解析され、独立データ配列によってアプリケーション状態情報を表現するサブストリングが得られる。この独立データ配列が構文解析されて、独立データ配列のエレメントが得られる。得られたエレメントの一つが、従属データ配列として識別される。この従属データ配列が構文解析されて、該従属データ配列のエレメントが得られる。このデータ配列のエレメントによって表現されたアプリケーション状態情報が提供される。
望ましくは、得られたデータ配列のエレメントのさらなるいくつかが、さらなる従属データ配列として再帰的に識別される。さらなる従属データ配列が構文解析されて、さらなる従属データ配列のエレメントが得られる。これらエレメントの一つから、プログラム・コード部分が読み出され、アプリケーションによって実行される。このプログラム・コード部分は、ある関数と関連付けられており、その関数を呼び出すことによって実行される。データ配列の各々のエレメントは、順序付けられた値群、およびキーと値とのペア群の一つを含む。このキー群は、文字のストリングであり、値群は、文字のストリング群、数値群、論理項群、および空値群の一つである。URIを表現するストリングは、特殊文字によって、アプリケーション状態情報を表現するサブストリングと、データ配列群と、キー群と、値群とに分離される。このURIのフラグメント部分は、アプリケーション状態情報を表現するサブストリングを含む。アプリケーション状態情報の表現には、JavaScriptオブジェクト表記法(JSON)が用いられる。このURIは統一リソース位置指定子(URL)である。
本発明の第二態様によって、アプリケーション状態情報に基づいてコンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)を提供する、コンピュータ処理方法が提供される。アプリケーション状態情報が提供される。このアプリケーション状態情報に基づいて、一つの独立データ配列と一つ以上の従属データ配列とを有する複数の入れ子データ配列が、該複数の入れ子データ配列の他のデータ配列のエレメントとして従属データ配列を再帰的に挿入することによって構築される。複数の入れ子データ配列による、アプリケーション状態情報を表現する文字のサブストリングが生成される。該生成されたストリングを挿入することによって、URIを表現する文字のストリングが生成され、そのURIが提供される。
望ましくは、これらエレメントの一つに、アプリケーションが実行するためのプログラム・コード部分が格納される。このプログラム・コード部分は、ある関数と関連付けられる。
本発明の第三態様によって、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)によって、アプリケーション状態情報を管理するコンピュータ処理方法が提供される。URIに基づき、第一態様によってアプリケーション状態情報が提供される。アプリケーションが、アプリケーション状態情報を処理する。アプリケーション状態情報に基づき、第二態様によってURIが提供される。
本発明の第四態様によって、アプリケーション状態情報に関するコンピュータ・データ構造が提供される。このデータ構造は、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)を含む。このURIは文字のストリングで表現され、該ストリングは、アプリケーションのアプリケーション状態情報を、一つの独立データ配列と一つ以上の従属データ配列とを有する複数の入れ子データ配列によって表現するサブストリングを含む。これら従属データ配列の各々は、複数の入れ子データ配列の別のデータ配列のエレメントである。
望ましくは、エレメントの一つは、アプリケーションが実行するためのプログラム・コード部分を含む。このプログラム・コード部分は関数と関連付けられている。
本発明の第五態様によって、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)に基づいて、アプリケーション状態情報を提供するためのコンピュータ・システムが提供される。URIマネージャが、URIを表現する文字のストリングを提供する。URIパーサが、ストリングを構文解析して、独立データ配列によってアプリケーション状態情報を表現しているサブストリングを得、独立データ配列を構文解析して、該独立データ配列のエレメントを得る。URIパーサは、得られたエレメントの一つを従属データ配列として識別し、その従属データ配列を構文解析して、該従属データ配列のエレメントを得、そのデータ配列のエレメントによって表現されるアプリケーション状態情報を提供する。
本発明の第六態様によって、アプリケーション状態情報に基づいて、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)を提供するためのコンピュータ・システムが提供される。アプリケーションが、アプリケーション状態情報を提供する。そのアプリケーション状態情報に基づいて、URIジェネレータが、一つの独立データ配列と一つ以上の従属データ配列とを含む複数の入れ子データ配列を、該複数の入れ子データ配列の他のデータ配列のエレメントとして従属データ配列を再帰的に挿入することによって構築し、該ジェネレータは、複数の入れ子データ配列によってアプリケーション状態情報を表現する文字のサブストリングを生成し、生成されたサブストリングを挿入することによってURIを表現する文字のストリングを生成し、そのURIを提供する。
本発明の第七態様によって、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)によってアプリケーション状態情報を管理するためのコンピュータ・システムが提供される。URIパーサが、URIを表現する文字のストリングに基づき、第五態様によってアプリケーション状態情報を提供する。アプリケーションが、そのアプリケーション状態情報を処理する。URIジェネレータが、アプリケーション状態情報に基づき、第六態様によってURIを提供する。
本発明の実施形態の第八態様によって、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)によってアプリケーション状態情報を管理するためのコンピュータ・プログラム製品が提供される。本コンピュータ・プログラム製品は、コンピュータ可用媒体を含み、その中に具現されたコンピュータ可用プログラム・コードを有する。このコンピュータ可用プログラム・コードは、本発明の実施形態の諸態様による方法のステップを遂行するよう構成される。URIを表現する文字のストリングが提供される。このストリングが構文解析され、独立データ配列によってアプリケーション状態情報を表現するサブストリングが得られる。この独立データ配列が構文解析されて、独立データ配列のエレメントが得られる。得られたエレメントの一つが、従属データ配列として識別される。その従属データ配列が構文解析されて、従属データ配列のエレメントが得られる。このデータ配列のエレメントによって表現されたアプリケーション状態情報が提供される。
本発明の技法を介してさらなる特質および利点が実現される。本発明の他の実施形態および態様が本明細書に詳細に記載され、これらは本発明の一部と見なされる。本発明の利点および特質をより良く理解するために、以下の説明および図面を参照する。
本発明と見なされる主題は、具体的に指摘され、本明細書に添付の請求項で明確に請求されている。本発明の前述および他の目的、特質および利点は、添付の図面と併せ以下の詳細な説明によって明らかになろう。
本発明の実施形態による、アプリケーション状態情報を提供する方法のフロー・チャートを示す。 本発明の実施形態による、アプリケーション状態情報を提供する方法のフロー・チャートを示す。 本発明の実施形態による、アプリケーション状態情報を提供する方法のフロー・チャートを示す。 本発明の実施形態による、統一リソース識別子を提供する方法のフロー・チャートを示す。 本発明の実施形態による、統一リソース識別子を提供する方法のフロー・チャートを示す。 本発明の実施形態による、アプリケーション状態情報を管理する方法のフロー・チャートを示す。 本発明の実施形態による、アプリケーション状態情報を管理するためのシステムのブロック図を示す。 本発明の実施形態による、ウェブ・アプリケーションによってアプリケーション状態情報を管理する方法のフロー・チャートを示す。 本発明の実施形態による、データ構造の抽象ブロック図を示す。 本発明の実施形態による、アプリケーション状態情報のフォーマット済み表現を示す。 本発明の実施形態による、アプリケーション状態情報のフォーマット済み表現を示す。 本発明の実施形態による、アプリケーション状態情報のフォーマット済み表現を示す。 本発明の実施形態による、アプリケーション状態情報を含むURLを示す。 本発明の実施形態による、アプリケーション状態情報のオブジェクト表現を生成するためのJavaScriptコードを示す。 図15aおよび15bは、本発明の実施形態による、アプリケーション状態情報のURI表現を構文解析および生成するためのJavaScriptコードを示す。
本発明のある好適な実施形態は、URLストリング中にアプリケーション状態情報を格納する技法を改良する。例えば、「http://myshop.com/search?category=cars&color=red&maxage=4」などのように、アプリケーション状態情報をURLのクエリー・ストリング中に格納する代わりに、本好適な実施形態は、例えば、「http://myshop.com/search#{category:“cars”,color:“red”,maxage:“4”}」といったように、同じ情報をURLのフラグメントまたはアンカー部分に表現する。逆に、URLから格納されたアプリケーション状態情報を読み出すこともできる。
従来技術では、クエリー・ストリングは、キー−値ペアの集合を有するフラットな配列構造に限定される。このキーおよび値は、プリミティブ型、すなわち、ストリング、数値、およびブール値だけを持つことができる。これらの値は複合化されていない。本好適な実施形態によれば、アプリケーション状態情報はJSONに直列化されて、URL中に格納される。JSONは、任意に入れ子されたデータ構造を表現することが可能で、複雑なアプリケーション状態情報に対応することができる。
一般に、例えばJSONなどを用いるデータ配列のストリング表現は、データ配列およびそのエレメントを明瞭に識別するため、以下の要求事項を有する。データ配列の開始部と終了部を事前定義された区切り文字のペアで標識し、これにより、どのエレメントが一緒に属しているかを示さなければならない。エレメントの間の事前定義された分離記号によって、ストリング中でのエレメントの開始部および終了部を示す。さらに、文字のストリング中のキーまたはインデックスを明瞭に区切るため、事前定義された、キーまたはインデックス分離記号を使うことができる。JSONの場合には、これら区切り文字または区切り記号は、以下に述べるように単一の特殊文字である。
AJAXウェブ・アプリケーションにおいては、ハッシュ文字(「#」)によって隔てられたフラグメント部分の前の、URLのストリングは、ウェブ・サーバから全ページを再ロードしないで変更することはできない。しかしながら、フラグメント部分の修正によるならば、ウェブ・クライアントがウェブ・サーバと交信することなく、クライアント側のウェブ・アプリケーションがそのアプリケーション状態をローカルに更新することは可能である。このアプリケーション状態の更新は、必ずしも、ウェブ・ブラウザ中のページの見掛けの表現の変化を意味しない。
ウェブ・ブラウザまたはクライアント・アプリケーションは、ユーザを別のページまたはページ内の別の位置との間で行き来させるためのナビゲーション・エレメントを提供することができる。ユーザが設定可能リンクをクリックすると、ウェブ・ブラウザは、保存されたロケーションに行くことができる。ブラウザ履歴機能は、アプリケーション状態をURLに格納しないAJAXアプリケーションに優る本好適な実施形態の利点である。
本好適な実施形態は、窓アプリケーションをフレーム・アプリケーション中に組み込むためのAPIを提供する。フレーム・アプリケーションは、窓アプリケーションを起動し、対応するURL中にそのアプリケーション状態に対するパラメータを指定することができる。また、フレーム・アプリケーションは、URLを容易に修正し、別の起動ターゲットを定義することができる。
ユーザまたは技術サポート・エンジニアは、アプリケーション・シナリオを再現するために、特定のアプリケーション状態を復元するための全情報を含む、特定のURLをたやすく用いることができる。
本好適な実施形態の目的は、ウェブ・フロントエンドがパフォーマンス・デスクトップ(PerfDesks)をカスタム化するための機能を提供できる、例えば、IBM(IBM社の登録商標)のz/OS(IBM社の登録商標)リソース測定機能(RMF)などの特定の環境中で実行されることにある。パフォーマンス・デスクトップは、複数のパフォーマンス評価指標(Metric)を含む、ウェブ・クライアント・ビューである。これらの評価指標は、評価指標グループ(MetricGroup)に割り当てることができる。これら階層的コンポーネント(PerfDesks、MetricGroup、Metric)の各々には、別々のカスタム化可能な属性を持たせることができる。例えば、各コンポーネントに対して表示される名前を指定することができる。評価指標もしくは評価指標グループまたはその両方は、パフォーマンス・デスクトップに加えたりまたは削除したりすることができる。評価指標には、ウェブ・ブラウザから読み出される情報の量を指定する、フィルタ情報を含めることができる。ウェブ・クライアント・アプリケーションは、パフォーマンス・デスクトップのカスタム化のためのユーザ・ダイアログを提供し、カスタム化の変更を、ウェブ・クライアントの可視データ中および変更されたURL中に動的に反映する。
図1〜図3は、統一リソース識別子(URI)に基づいてアプリケーション状態情報を提供する方法のフロー・チャートを示す。ステップ101において、URI管理コンポーネントとも呼ばれることもあるURIマネージャが、URIを表現する文字のストリングを提供する。ステップ102で、URIパーサが、そのストリングを構文解析して、アプリケーション状態情報を表現するサブストリングを得る。ステップ103において、URIパーサは、独立データ配列を表現しているこのアプリケーション状態情報のサブストリングを構文解析する。この構文解析により、その独立データ配列のエレメントが得られる。図2は、上記構文解析ステップ103のサブステップを示す。ステップ111で独立データ配列を構文解析している間に、URIパーサは、ステップ112において一つのエレメントを従属データ配列として識別し、ステップ113でこの従属データ配列を構文解析して、従属データ配列のエレメント群を得る。図1に戻りステップ104において、URIパーサは、これらデータ配列のエレメント群によって表現されるアプリケーション状態情報を提供する。図3は、独立データ配列および入れ子になった従属データ配列群に適用される、構文解析ステップ103の別のサブステップを示す。URIパーサは、再帰的手順でデータ配列を構文解析する。URIパーサは、ステップ121において、データ配列の第一エレメントの存否判定を試み、ステップ122で、エレメントが存在するかどうかを確認する。その結果が「いいえ(なし)」であれば、図3の構文解析手順は終了する。結果が「はい(あり)」の場合、URIパーサは、ステップ123においてそのエレメントが従属データ配列かどうかを検査する。従属データ配列である場合、URIパーサは、ステップ124で、図3のサブステップを再帰的に遂行することによって、その従属データ配列を構文解析する。従属データ配列でない場合、すなわち、該エレメントがプリミティブ・データ型を有するときは、URIパーサは、ステップ125において、そのエレメントをアプリケーション状態情報に加える。ステップ124および125双方の後、ステップ126において、URIパーサは、データ配列の次のエレメントの存否判定を試み、オペレーションは、ステップ122に戻り、次のエレメントが存在するかどうかが確認される。
図4〜図5は、アプリケーション状態情報に基づいてURIを提供する方法のフロー・チャートを示す。ステップ201において、アプリケーションが、アプリケーション状態情報を提供する。ステップ202で、URIジェネレータが、アプリケーション状態情報のサブストリングを生成する。ステップ202の詳細なサブステップが、図5に記載されている。URIジェネレータは、独立データ配列を表現するサブストリングを構築して、再帰的手順を開始する。ステップ211において、URIジェネレータは、アプリケーション状態情報に基づいてデータ配列の第一エレメントの存否判定を試み、ステップ212でエレメントが存在するかどうかを検査する。その結果が「いいえ(なし)」の場合、URIジェネレータは図5の手順を終了する。結果が「はい(あり)」の場合、URIジェネレータは、ステップ213においてそのエレメントが従属データ配列を表現しているかどうかを確認する。表現している場合、ステップ214でURIジェネレータは、図5に示されたサブステップを再帰的に遂行することによってその従属データ配列を表現するサブストリングを構築する。表現していない場合には、ステップ215で、URIジェネレータはそのエレメントをアプリケーション状態情報サブストリングに挿入する。ステップ214および215双方の後、ステップ216において、URIジェネレータは、アプリケーション状態情報に基づいてデータ配列の次のエレメントの存否判定を試み、オペレーションは、ステップ212に戻り、このエレメントが存在するかどうかが確認される。
図6は、URIによってアプリケーション状態情報を管理する方法のフロー・チャートを示す。ステップ301において、URIパーサが、URIに基づいてアプリケーション状態情報を提供する。ステップ302で、アプリケーションが、そのアプリケーション状態情報を処理する。アプリケーション状態情報は変更され得る。ステップ303において、URIジェネレータが、アプリケーション状態情報に基づいてURIを提供する。
図7は、アプリケーション状態情報を管理するためのシステムのブロック図を示す。本システムは、ウェブ・サーバ401と、ウェブ・クライアント402と、場合によって外部ウェブ・クライアント403とを含む。ウェブ・クライアントは、ウェブ・クライアントとウェブ・サーバとの間のインタフェースを提供するウェブ・アプリケーション・マネージャ404を有する。ウェブ・アプリケーション・マネージャは、ウェブ・クライアント中のウェブ・アプリケーションの実行を制御し、ウェブ・サーバ上に所在するリソースを識別する統一リソース位置指定子(URL)を管理する。ウェブ・クライアントは、URLを表示するアドレス・フィールドを提示することができ、ユーザがURLを読み取り、変更できるようにする。ウェブ・アプリケーション・マネージャは、このURLを格納し、それをステップ405でウェブ・サーバに送信して、ステップ406でウェブ・コンテントを受信し、該コンテントは、ウェブ・クライアントによってウェブ・アプリケーション408として実行されるスクリプトを包含する。ステップ407において、ウェブ・アプリケーション・マネージャがそのウェブ・アプリケーションを開始する。ウェブ・アプリケーションは、URLパーサ410およびURLジェネレータ416を有するアプリケーション状態マネージャ409を含む。ウェブ・アプリケーションが開始されると、URLマネージャ404、すなわちウェブ・アプリケーション・マネージャが、ステップ409においてURLストリングを提供する。URLパーサは、URLストリングをアプリケーション状態オブジェクトに変換し、ステップ411で、それをウェブ・アプリケーションのアプリケーション特有部分412に提供する。このアプリケーション特有部分は、プログラム・ロジック413を実行し、グラフィカル・ユーザ・インタフェース414を介してユーザと情報を交換する。アプリケーション特有部分は、通常は変更されたアプリケーション状態を反映している、アプリケーション状態オブジェクトを提供する415。URLジェネレータは、このアプリケーション状態オブジェクトをURLストリングに変換して、ステップ417でそれをURLマネージャに提供し、URLマネージャは、そのURLをウェブ・アプリケーションの最新状態として格納する。このURLは、以前に格納されていたURLと異なり得る。ウェブ・クライアントのユーザは、アドレス・フィールドにおいてこのURLを読み取りまたは修正することができる。ステップ418で、別のウェブ・クライアント403が、該URLを使用し格納されたアプリケーション状態を使って、このウェブ・アプリケーションを開始することができ、逆のケースも可能である。また、ステップ405で、このURLをウェブ・サーバ401に再送信し、ステップ406において、ウェブ・アプリケーションをウェブ・クライアント402に再ロードすることもできる。
図8は、ウェブ・アプリケーションによってアプリケーション状態情報を管理する方法のフロー・チャートを示す。ステップ501において、ウェブ・クライアントは、ウェブ・サーバにHTTP要求を送信し、これにはウェブ・サーバ中のリソースを識別するためのURLが含まれる。次いでステップ502で、ウェブ・クライアントはHTTP応答を受信し、これには、クライアント側でウェブ・アプリケーションとして実行されるスクリプトが包含される。ステップ503において、ウェブ・クライアントがそのウェブ・アプリケーションを起動する。ステップ504で、ウェブ・アプリケーションは、URLがアプリケーション状態情報を含んでいるかどうかを確認する。「はい(含んでいる)」の場合、ウェブ・アプリケーションは、ステップ505で、そのURLを構文解析し、ステップ506において実行中のアプリケーションにアプリケーション状態オブジェクトを提供し、該アプリケーションは、ステップ507でユーザとの対話処理を行うことができる。「いいえ(含まれていない)」の場合、ウェブ・アプリケーションは、構文解析ステップ505をスキップする。ウェブ・アプリケーションは、ステップ508において、そのアプリケーション状態を変更し、ステップ509で変更されたURLを生成し、ステップ510においてそのURLを提供することができる。その後、アプリケーションはステップ506での実行を続ける。ステップ501に戻って、提供されたURLもウェブ・サーバに再送信することができ、またはステップ511でコピーして、ブックマークとして保管する、もしくは別のウェブ・クライアントに使用させることができる。
図9は、アプリケーション状態情報を表現するURIストリングの抽象ブロック図を示す。URIストリング601は、URIスキーム名および階層的スキーム特有部分を有する第一サブストリング602、およびアプリケーション状態情報を表現する第二サブストリング603を含む。第二サブストリング603がハッシュ(「#」)文字から開始される場合、その第二サブストリングは、フラグメントまたはアンカー部分と呼ばれる。第二サブストリング603は、独立データ配列を表現する。そのエレメントの一部は従属データ配列604および605であり、これらはさらなる従属データ配列606、607、および608を包含し得る。
図10〜図12は、ライン701〜770中に、アプリケーション状態情報のフォーマット済み表現を示す。この例は「My Storage Console(私のストレージ・コンソール)」で、RMFパフォーマンス・デスクトップを単純化したものである。ある特定のストレージ・コンソール構成は、2つのグループ・メンバー、「Important Storage Indicators(重要保管インジケータ)」および「Non−critical Indicators(非重要インジケータ)」を有する。これらグループ・メンバーの各々は、評価指標を有し、これら指標は、可視フラグ、フィルタ・オブジェクト、および随意的フォーマッタ機能を指定することができる。このフォーマット済み表現は、入れ子にされた複数のデータ配列を含む。JSONは、配列およびオブジェクトと呼ばれる、データ配列に対する二つの構造化基本データ型を備えている。配列は、カンマで隔てられ角括弧で囲まれた、順序付けられた一連の値である。一例が、ライン704〜769中の2つのエレメントを有する配列「groups」であり、これらエレメントは、整数インデックス「groups[0]」(ライン706〜745)および同「groups[1]」(ライン746〜769)によって識別される。両エレメントとも構造化データ型のオブジェクトを有し、これについて以下に説明する。別の例は、2つのエレメントを有するライン760〜764の配列「validKeys」であり、これらのエレメントは、プリミティブ・データ型ストリングを有する。オブジェクトは、カンマで隔てられ波括弧で囲まれた、キー−値ペアまたは名前−値ペアの集合である。図10〜図12は、かかる多くの例を示しており、ライン701〜770中の、「state」と呼ばれるトップ・レベルの独立データ配列は多くのキー−値ペアを有する。キーはストリング型である。値は、ライン702および703中のキー「viewId」および「label」に対するものはストリングであり、キー「groups」に対するものは配列である。この値は、論理項、すなわち、例えばライン721、752、および757中などのtrue(真)またはfalse(偽)とすることができる。これは、ライン715および716に示される「12.9」および「20」といった数値にすることもできる。数値は、整数、小数、または浮動小数点数とすることができる。あるいは、この値は、例えばライン722および753中のようなnull(空値)とすることもできる。
metricId=”23456”を有する評価指標は、ライン723〜742中にキー−値ペアを包含し、その中のキー「formatter」はJavaScript関数をポイントし、その値は関数型であり、プログラム・コード部分を含む。関数自体はアノニマスである。関数へのポインタだけが変数「formatter」に格納される。この例における関数は、インプットとして与えられた整数「n」をフォーマットする。アウトプットは、インプットの数値「n」および追加の色情報を包含するHTMLストリング(”<span style=\”color:${color};\”>”+String(n)+”</span>”)である。この数値が1より小さい場合、緑色で表示される。数値が1に等しければ、「color:」属性の値は「黄色」である。1より大きな数値に対しては、その数値は赤色を有する。
図13は、ハッシュ(「#」)文字の後に、図10〜図12に示されたアプリケーション状態情報を表現するサブストリングを含む、URLストリングを示す。
図14は、図10〜図12に示されたアプリケーション状態情報のオブジェクト表現を生成するためウェブ・アプリケーションの一部を実行する、JavaScriptコードの一部のライン901〜911を示す。各代入記号(「=」)は、JavaScriptオブジェクト「state」にエレメントを追加する。入れ子のエレメントの識別名はドット(「.」)で隔てられている。空白の波括弧(「{}」)は、初期オブジェクト、すなわち、キー−値ペアを包含するデータ配列を生成する。一組の空白角括弧(「[ ]」)は初期配列、すなわち、順序付けられた一連の値を包含するデータ配列を生成する。オブジェクトの値は、それぞれのキーに割り当てられる。例えば、ライン902において、値「d2af5bea」はキー「state.viewId」に割り当てられる。値群がある配列に割り当てられる場合、これらは整数インデックスで識別される。例えば、ライン908で、初期オブジェクト(「{}」)が、インデックス「[0]」による第一の値として、配列「state.groups[0].metrics」に割り当てられ、ライン911では、別の初期オブジェクト(「{}」)が、インデックス「[1]」による第二の値として、同じ配列に割り当てられる。
図15aは、URLパーサを実行するJavaScriptコードを示す。関数「restoreState」が、URLを表現するストリングを構文解析し、アプリケーション状態情報を表現するJavaScriptオブジェクトを提供する。ライン1001の関数の定義は、URLに基づいてアプリケーション状態が復元されるので、「restoreState(状態復元)」と呼ばれる。ライン1002において、JavaScriptオブジェクト「window.location.hash」は、URLのフラグメント部分に戻り、それをストリング「stateStr」に書き込む。ライン1003で、空白のJavaScriptオブジェクト「stateObj」が生成される。後続のサブ関数呼び出しは、ライン1004〜1009中にtryブロックで囲まれている。ライン1005で、関数「restoreState」は、ストリング「stateStr」がnullでなく空白でないことを検証する。空白の場合には、JavaScriptオブジェクト「stateObj」は変わらない、すなわち、null(空値)である。空白でない場合、関数「restoreState」は、ライン1006において、ストリング「stateStr」の最初の文字、すなわちハッシュ(「#」)分離記号を除去する。次いで、ライン1007で、ネイティブのJavaScript関数である「eval()」が呼び出され、これがストリング「stateStr」を非直列化し、非直列化された情報をJavaScriptオブジェクト「stateObj」に書き込む。ライン1010〜1011のキャッチ・ブロックには、いかなる追加的例外処理も含まれていない。ライン1010に例外がインプットされた場合、JavaScriptオブジェクト「stateObj」はnullのままにされる。評価ステップがうまく行った場合、ライン1012で、関数「restoreState」は、得られたJavaScriptオブジェクト「stateObj」を返す。URLが無効なオブジェクトを含んでいるか、オブジェクトを含まない場合、あるいは、例外がインプットされた場合、該関数は空値を返す。
図15bは、URLジェネレータを実行するJavaScriptコードを示す。関数「storeState」が、アプリケーション状態情報を表現するJavaScriptオブジェクト「stateObj」に基づいて、URLを表現するストリングを生成し、格納する。ライン1021の関数の定義は、アプリケーション状態情報が格納されるので、「storeState(状態格納)」と呼ばれる。ライン1022において、URLのフラグメント部分を識別するハッシュ文字(「#」)一つを有するストリング「stateStr」が生成される。ライン1023で、関数「storeState」は、JavaScriptオブジェクト「stateObj」がnullでなく空白でないかどうかを検証する。空白の場合には、ストリング「stateStr」は初期値のまま、すなわち、ハッシュ文字(「#」)だけを包含する。空白でない場合、それに続くサブ関数呼び出しが、ライン1024〜1026中のtryブロックで囲まれている。ライン1025で、ネイティブのJavaScript関数である「toSource()」が呼び出され、これがJavaScriptオブジェクト「stateObj」を直列化し、直列化された情報をストリング「stateStr」に加える。ライン1027〜1028のキャッチ・ブロックには、いかなる追加的例外処理も含まれていない。ライン1027に例外がインプットされた場合、JavaScriptオブジェクト「stateObj」が無効なので、ストリング「stateStr」も初期状態のままである。ライン1032において、得られたストリング「stateStr」は、JavaScriptオブジェクト「window.location.hash」に書き込まれ、これにより、URLのフラグメント部分が設定される。
ライン1025の直列化関数「toSource( )」は、一部のウェブ・ブラウザではサポートされていない。従って、本好適な実施形態は、Dojo toolkit(登録商標)が提供するオープン・ソース実装を利用している。詳細については、リンクhttp://www.dojotoolkit.org/を参照。
本発明の別の実施形態では、アプリケーション状態情報を直列化するためにJSON以外のフォーマットを、およびウェブ・ブラウザでウェブ・アプリケーションを実行するためにJavaScript以外のプログラミング言語を用いることができる。拡張マークアップ言語(XML:Extensible Markup Language)は、複数の入れ子データ配列の表現を提供することができ、これはJSONの表現と同じ構造を有する。XMLドキュメントを構成する文字群は、マークアップとコンテントとに分けられる。マークアップを構成する全てのストリングは、文字「<」で始まり次の「>」で終わるか、あるいは文字「&」で始まり文字「;」で終わるかのいずれかである。マークアップでない文字のストリングはコンテントである。タグは、「<」で始まり「>」で終わるマークアップ構成である。アプリケーション状態情報のXMLベースの表現は、見かけ上JSONよりも格段に長い。詳細については、http://en.wikipedia.org/wiki/XML、およびhttp://www.w3.org/XML/を参照。
別の実施形態では、URIパーサおよびURIジェネレータを実装するためにネイティブのJavaを用いることができる。Javaの方法は、インプット・ストリング「stateStr」が提供されている場合にはJavaオブジェクト「stateObj」を返すことができ、その逆も可能である。この実装では、アプリケーション・プログラミング・インターフェースを用いることができ、該インタフェースが、XMLドキュメントからドキュメント・オブジェクト・モデル(DOM)のツリーを生成するパーサと、そのオブジェクト・ツリーのエレメントへのアクセス方法とを提供してくれる。DOMオブジェクト・ツリーには、org.w3c.dom.Documentインタフェースに適合する方法を使ってアクセスすることができる。逆に、適切な方法を呼び出すことによって、DOMオブジェクト・ツリーに基づいてXMLドキュメントを生成することもできる。
さらに別の実施形態では、JavaScript以外のスクリプト言語を用いることができ、それらの言語でも、プログラム・コード部分を、変数と関連付ければ、ランタイムで動的に実行することができる。例として、スクリプト言語Python(R)およびPerl(R)がある。Pythonでは、eval関数があたかもそれがPython表現であるかのようにストリングを評価する。このストリングには、リテラル、単純な式、または組み込み関数を包含させることができる。Perlが、実行するためのファイル、またはコマンドラインのオプションとしてストリングが与えられた場合、Perlは、そのコンテンツを構文解析し、構文エラーをチェックして問題がなければそれを実行する必要がある。Perlは、これらの機能を、eval命令を介してプログラマが利用できるようにする。コンパイラ・ベースのプログラミング言語C/C++に対しては、プログラム・コード部分のランタイムでの評価はないが、Cアプリケーションとリンクして、インタプリタ型言語のようにCまたはC++をサポートできる、パブリック・ドメインおよび商業的な多くのインタプリタがある。しかしながら、Javaでは、実行中に新規コードの生成および評価はできない。次善策として、Javaコンパイラをプログラムで呼び出すことができる。詳細については、「http://effbot.org/zone/librarybook−core−eval.htm」、および「http://docstore.mik.ua/orelly/perl/advprog/ch05_01.htm」で閲覧することができる。
ウェブ・アプリケーションの実行はウェブ・クライアントに限定されるものではなく、ウェブ・サーバにおいても実施することができる。また、アプリケーション状態情報を格納しているURI、さらに具体的にはURLまたはURNは、任意の種類のウェブ関連のアプリケーションで、内部的に、すなわち、ウェブ・サーバまたはウェブ・クライアント内部でも使用することができる。URIは、ウェブ中の任意の通信パートナの間で、例えば、2つのウェブ・サーバの間、および2つのウェブ・クライアントの間で交換することができる。
本発明は、パフォーマンス・モニタおよび管理コンソールに限定されるものでなく、ネットワーク中で情報技術リソースを識別する必要がある、任意のアプリケーション分野において実施することができる。
本明細書で使用する用語は、特定の実施形態を説明する目的のためだけのものであり、本発明を限定することは意図されていない。本明細書で用いられる、単数形「ある(a、an)」、および「該(the)」は、文脈上明確に別途に示されていなければ、複数形も同じように含むことを意図されている。さらに、本明細書で用いられる「含む(comprise)」もしくは「含んでいる(comprising)」またはその両方は、述べられた機能、完全体、ステップ、オペレーション、エレメント、またはコンポーネント、あるいはこれらの複数の存在を特定するが、一つ以上の他の機能、完全体、ステップ、オペレーション、エレメント、コンポーネント、もしくはこれらの群、または上記の組み合わせの存在を排除するものでないことがさらに理解されよう。
添付の請求項中の全てのミーンズ・プラス・ファンクションまたはステップ・プラス・ファンクションのエレメントの、対応する構造、材料、処置および均等物は、具体的に請求された他の請求エレメントと組み合わせて機能を遂行するための、一切の構造、材料または処置を包含することが意図されている。本発明の記述は、例示および説明目的で提示されたもので、網羅的であること、または本発明を開示した形態に限定することは意図されていない。当業者には、本発明の範囲および精神から逸脱することのない多くの修改および変形が明白であろう。本実施形態は、本発明の原理および実際的な応用を最善に説明し、他の当業者が、意図する特定の用途に適したさまざまな修改を加えたさまざまな実施形態のため、本発明を理解できるようにするため、選択し説明されたものである。
当業者ならよく理解するであろうように、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具現することができる。従って、本発明の態様は、全体がハードウエアの実施形態、全体がソフトウエアの実施形態(ファームウエア、常駐ソフトウエア、マイクロコードなどを含む)、あるいは、一般に本明細書では全て「回路」、「モジュール」、または「システム」といわれる、ソフトウエアおよびハードウエア態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の態様は、内部に具体化されたコンピュータ可読プログラム・コードを有する一つ以上のコンピュータ可読媒体(群)中に具現されたコンピュータ・プログラム製品の形を取ることもできる。
一つ以上のコンピュータ可読媒体(群)の任意の組み合わせを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体、またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、以下に限らないが、電子的、磁気的、光学的、電磁気的、赤外的な、または半導体の、システム、装置、もしくはデバイス、あるいはこれらの任意の適切な組み合わせとすることができる。コンピュータ可読記憶媒体のさらに具体的な例(非包括的リスト)には、一つ以上の配線を有する電気接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read−only memory)、消去可能プログラム可能読み取り専用メモリ(EPROM(erasable programmable read−only memory)またはフラッシュ・メモリ)、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ(CD−ROM:compact disc read−only memory)、光記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組み合わせが含まれよう。本文書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを、包含または格納できる任意の有形媒体とすることができる。
コンピュータ可読信号媒体には、例えばベースバンド中にまたは搬送波の一部として具現されたコンピュータ可読のプログラム・コードを有する、伝播データ信号を含めることができる。かかる伝播信号は、以下に限らないが、電磁気的、光学的、またはこれらの任意の適切な組み合わせを含め、さまざまな形態の任意の形を取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではないが、命令実行システム、装置、またはデバイスによってまたはこれらに関連させて使用するためのプログラムを通信、伝播、または伝送が可能な任意のコンピュータ可読媒体であり得る。
コンピュータ可読媒体中に具現されたプログラム・コードは、以下に限らないが、無線、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の適した組み合わせを含め、任意の適切な媒体を用いて送信することができる。
本発明の態様のオペレーションを実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、“C”プログラミング言語または類似のプログラミング言語などの従来式手続き型プログラミング言語を含め、一つ以上のプログラミング言語の任意の組み合せで記述することができる。このプログラム・コードは、全体をユーザのコンピュータで、一部をユーザのコンピュータで、スタンドアロン・ソフトウエア・パッケージとして実行することができ、一部をユーザのコンピュータで他の部分を遠隔コンピュータで、または全体を遠隔のコンピュータまたはサーバで実行することができる。後者のシナリオでは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:widearea network)を含む任意の種類のネットワークを介して、遠隔コンピュータをユーザのコンピュータに接続することができ、あるいは(例えばインターネット・サービス・プロバイダを使いインターネットを介し)外部のコンピュータへの接続を行うことができる。
本発明の実施形態による方法、装置(システム)およびコンピュータ・プログラム製品のフロー・チャート説明図もしくはブロック図またはその両方を参照しながら本発明の態様を上記で説明した。フロー・チャート説明図もしくはブロック図またはその両方の各ブロック、および、フロー・チャート説明図もしくはブロック図またはその両方中のブロックの組み合せは、コンピュータ・プログラム命令によって実行可能であることが理解されよう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、特殊用途コンピュータ、またはマシンを形成する他のプログラム可能データ処理装置のプロセッサに供給し、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行されるこれらの命令が、フロー・チャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群/処理群を実施するための手段を生成するようにすることができる。
また、これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに対し特定の仕方で機能するよう命令できるコンピュータ可読媒体に格納し、そのコンピュータ可読媒体に格納された命令が、フロー・チャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群/処理群を実施する命令群を包含する製品を形成するようにすることができる。
同様に、コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードして、これらコンピュータ、他のプログラム可能装置、または他のデバイス上で一連のオペレーション・ステップを実行させてコンピュータ実装のプロセスを生成し、これらコンピュータまたは他のプログラム可能装置で実行されるこれらの命令が、フロー・チャートもしくはブロック図またはその両方のブロックまたはブロック群中に規定された機能群/処理群を実施するためのプロセスを提供するようにすることもできる。
図中のフロー・チャートおよびブロック図は、本発明のさまざまな実施形態による、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、およびオペレーションを例示している。この点に関し、フロー・チャートまたはブロック図中の各ブロックは、所定の論理機能(群)を実行するための一つ以上の実行可能命令を含む、モジュール、セグメント、またはコードの部分を表し得る。また、一部の別の実装においては、ブロック中に記載された機能が、図に記載された順序を外れて行われることがあり得ることに留意すべきである。例えば、連続して示された2つのブロックが、実際にはほぼ同時に実行されることがあり、関与する機能によっては、時には、これらブロックが逆の順序で実行されることもあり得る。また、ブロック図もしくはフロー・チャート説明図またはその両方の各ブロック、およびブロック図もしくはフロー・チャート説明図またはその両方中のブロックの組み合わせは、特定の機能または処理を実施する、特殊用途のハードウエア・ベースのシステム、または特殊用途のハードウエアとコンピュータ命令との組み合わせによって実装可能なことにも留意すべきである。
上記説明では、本発明の特定の実施形態を参照してきたが、当業者は、添付の請求項に定義された範囲の本発明の原理および精神から逸脱することなく、これらの実施形態に変更を加えることが可能なことをよく理解していよう。

Claims (15)

  1. コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)に基づいてアプリケーション状態情報を提供する、コンピュータ処理方法であって、前記方法は、
    前記URIを表現する文字のストリングを提供するステップと、
    前記ストリングを構文解析し、独立データ配列によって前記アプリケーション状態情報を表現するサブストリングを得るステップと、
    前記独立データ配列を構文解析し、前記独立データ配列のエレメントを得るステップと、
    を含み、
    前記方法は、
    前記得られたエレメントの一つを従属データ配列として識別するステップと、
    前記従属データ配列を構文解析し、前記従属データ配列のエレメントを得るステップと、
    前記データ配列のエレメントによって表現された前記アプリケーション状態情報を提供するステップと、
    で特徴付けられる方法。
  2. 得られた前記データ配列の前記エレメントのさらなるいくつかを、さらなる従属データ配列として再帰的に識別するステップと、
    前記さらなる従属データ配列を構文解析して、前記さらなる従属データ配列のエレメントを得るステップと、
    をさらに含む、請求項1に記載の方法。
  3. 前記エレメントの一つから、アプリケーションによって実行されるプログラム・コード部分を読み出すステップであって、前記プログラム・コード部分はある関数に関連付けられている、前記読み出すステップと、
    前記関数を呼び出すことによって前記プログラム・コード部分を実行するステップと、
    をさらに含む、先行の請求項1〜2のいずれかに記載の方法。
  4. 前記データ配列の各々の前記エレメントは、順序付けられた値群、およびキーと値とのペア群の一つを含み、前記キー群は文字のストリングであり、前記値群は、文字のストリング群、数値群、論理項群、および空値群の一つであり、前記URIを表現する前記ストリングの、前記アプリケーション状態情報を表現する前記サブストリング部分と、前記データ配列群部分と、前記キー群部分と、前記値群部分とは、特殊文字によって分離される、先行の請求項1〜3のいずれかに記載の方法。
  5. 前記URIのフラグメント部分は、前記アプリケーション状態情報を表現する前記サブストリングを含む、先行の請求項1〜4のいずれかに記載の方法。
  6. 前記アプリケーション状態情報の表現には、JavaScriptオブジェクト表記法(JSON)が用いられる、先行の請求項1〜5のいずれかに記載の方法。
  7. 前記URIが統一リソース位置指定子(URL)である、先行の請求項1〜6のいずれかに記載の方法。
  8. アプリケーション状態情報に基づいて、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)を提供する、コンピュータ処理方法であって、前記方法は、
    前記アプリケーション状態情報を提供するステップと、
    前記アプリケーション状態情報に基づいて、一つの独立データ配列と一つ以上の従属データ配列とを有する複数の入れ子データ配列を、前記複数の入れ子データ配列の他のデータ配列のエレメントとして前記従属データ配列を再帰的に挿入することによって構築するステップと、
    前記複数の入れ子データ配列によって前記アプリケーション状態情報を表現する文字のサブストリングを生成するステップと、
    前記生成されたサブストリングを挿入することによって、変更されたURIを表現する文字のストリングを生成するステップと、
    前記URIを提供するステップと、
    を含む方法。
  9. コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)によって、アプリケーション状態情報を管理するコンピュータ処理方法であって、前記方法は、
    前記URIに基づき、前記請求項1に記載のステップよってアプリケーション状態情報を提供するステップと、
    アプリケーションによって、アプリケーション状態情報を処理するステップと、
    前記アプリケーション状態情報に基づき、前記請求項8に記載のステップによってURIを提供するステップと、
    を含む方法。
  10. アプリケーション状態情報に関するコンピュータ・データ構造であって、前記データ構造は、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)を含み、前記URIは文字のストリングで表現され、前記ストリングは、アプリケーションの前記アプリケーション状態情報を、一つの独立データ配列と一つ以上の従属データ配列とを有する複数の入れ子データ配列によって表現するサブストリングを含み、前記従属データ配列の各々は、前記複数の入れ子データ配列の別のデータ配列のエレメントである、構造。
  11. 前記エレメントの一つは、前記アプリケーションによって実行されるプログラム・コード部分を含む、請求項10に記載の構造。
  12. コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)に基づいて、アプリケーション状態情報を提供するためのコンピュータ・システムであって、前記システムは、
    前記URIを表現する文字のストリングを提供するためのURIマネージャと、
    前記ストリングを構文解析して、独立データ配列によって前記アプリケーション状態情報を表現しているサブストリングを得、前記独立データ配列を構文解析して、前記独立データ配列のエレメントを得るためのURIパーサと、
    を含み、
    前記システムは、
    前記得られたエレメントの一つを従属データ配列として識別し、前記従属データ配列を構文解析して、前記従属データ配列のエレメントを得、前記データ配列のエレメントによって表現される前記アプリケーション状態情報を提供するための前記URIパーサの適合手段、
    をさらに含むことによって特徴付けられるシステム。
  13. アプリケーション状態情報に基づいて、コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)を提供するためのコンピュータ・システムであって、前記システムは、
    前記アプリケーション状態情報を提供するアプリケーションと、
    前記アプリケーション状態情報に基づいて、一つの独立データ配列と一つ以上の従属データ配列とを含む複数の入れ子データ配列を、前記複数の入れ子データ配列の他のデータ配列のエレメントとして前記従属データ配列を再帰的に挿入することによって構築し、前記複数の入れ子データ配列によって前記アプリケーション状態情報を表現する文字のサブストリングを生成し、前記生成されたサブストリングを挿入することによって前記URIを表現する文字のストリングを生成し、前記URIを提供するためのURIジェネレータと、
    を含むシステム。
  14. コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)によってアプリケーション状態情報を管理するためのコンピュータ・システムであって、前記システムは、
    前記URIを表現する文字のストリングに基づき、請求項12によってアプリケーション状態情報を提供するためのURIパーサと、
    前記アプリケーション状態情報を処理するアプリケーションと、
    前記アプリケーション状態情報に基づき、請求項13によってURIを提供するURIジェネレータと、
    を含むシステム。
  15. コンピュータ・ネットワーク中のリソースを識別する統一リソース識別子(URI)によってアプリケーション状態情報を管理するためのコンピュータ・プログラム製品であって、前記コンピュータ・プログラム製品は、中に具現されたコンピュータ可用プログラム・コードを有するコンピュータ可用媒体を含み、前記コンピュータ可用プログラム・コードは、前記先行の請求項1〜9のいずれかに記載の前記ステップを遂行するよう構成される、コンピュータ・プログラム製品。
JP2012530184A 2009-09-25 2010-07-09 統一リソース識別子(uri)による、アプリケーション状態情報の管理 Pending JP2013506175A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP09171317.2 2009-09-25
EP09171317 2009-09-25
PCT/EP2010/059869 WO2011035944A1 (en) 2009-09-25 2010-07-09 Managing application state information by means of a uniform resource identifier (uri)

Publications (1)

Publication Number Publication Date
JP2013506175A true JP2013506175A (ja) 2013-02-21

Family

ID=43048852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012530184A Pending JP2013506175A (ja) 2009-09-25 2010-07-09 統一リソース識別子(uri)による、アプリケーション状態情報の管理

Country Status (4)

Country Link
US (1) US20120191840A1 (ja)
JP (1) JP2013506175A (ja)
CN (1) CN102597993B (ja)
WO (1) WO2011035944A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021166060A (ja) * 2020-06-29 2021-10-14 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド リクエストの処理方法、装置、設備、コンピュータ記憶媒体、及びプログラム

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527862B2 (en) 2011-06-24 2013-09-03 Usablenet Inc. Methods for making ajax web applications bookmarkable and crawlable and devices thereof
US8700691B2 (en) 2011-12-05 2014-04-15 Microsoft Corporation Minimal download and simulated page navigation features
US9274780B1 (en) * 2011-12-21 2016-03-01 Amazon Technologies, Inc. Distribution of applications with a saved state
US10289743B2 (en) * 2012-01-19 2019-05-14 Microsoft Technology Licensing, Llc Client-side minimal download and simulated page navigation features
US8694961B2 (en) * 2012-04-03 2014-04-08 Microsoft Corporation Thread-agile execution of dynamic programming language programs
CN103581145B (zh) * 2012-08-06 2017-02-08 联想(北京)有限公司 一种电子设备及应用于电子设备的安全防护方法
US8832254B1 (en) * 2012-10-29 2014-09-09 Symantec Corporation Systems and methods for managing registration and discovery of URI schemes
CN104035862B (zh) * 2013-03-08 2017-10-27 腾讯科技(深圳)有限公司 闭包测试方法和装置
US8713100B1 (en) 2013-12-11 2014-04-29 Michael L. Hamm Hybrid asynchronous transmission process
US9853956B2 (en) * 2014-02-11 2017-12-26 Texas Instruments Incorporated JSON encryption and hashing with indication added to key-value
US10397371B2 (en) 2014-06-09 2019-08-27 International Business Machines Corporation Saving and restoring a state of a web application
US10114805B1 (en) * 2014-06-17 2018-10-30 Amazon Technologies, Inc. Inline address commands for content customization
US9811352B1 (en) 2014-07-11 2017-11-07 Google Inc. Replaying user input actions using screen capture images
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9621650B2 (en) * 2014-09-30 2017-04-11 Google Inc Mobile application state identifier framework
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
US10152488B2 (en) * 2015-05-13 2018-12-11 Samsung Electronics Co., Ltd. Static-analysis-assisted dynamic application crawling architecture
CN105095526B (zh) * 2015-09-29 2018-12-04 中企动力科技股份有限公司 Url结构处理方法、装置以及系统
US10970646B2 (en) 2015-10-01 2021-04-06 Google Llc Action suggestions for user-selected content
US10055390B2 (en) 2015-11-18 2018-08-21 Google Llc Simulated hyperlinks on a mobile device based on user intent and a centered selection of text
CN105528426B (zh) * 2015-12-09 2019-03-26 国云科技股份有限公司 一种无刷新的url参数动态记录加载方法
US10535005B1 (en) 2016-10-26 2020-01-14 Google Llc Providing contextual actions for mobile onscreen content
US11237696B2 (en) 2016-12-19 2022-02-01 Google Llc Smart assist for repeated actions
CN109101503A (zh) * 2017-06-20 2018-12-28 北京微影时代科技有限公司 一种创建组织结构层级关系树的方法及装置
US10503497B2 (en) * 2018-01-30 2019-12-10 Microsoft Technology Licensing, Llc Techniques for utilizing an expression language in service configuration files
CN108322353A (zh) * 2018-03-27 2018-07-24 多彩贵州印象网络传媒股份有限公司 一种基于自动生成操作界面的业务处理系统
US20210250186A1 (en) * 2018-05-09 2021-08-12 Nokia Technologies Oy Security management for edge proxies on an inter-network interface in a communication system
CN109379640B (zh) * 2018-09-30 2021-04-27 武汉斗鱼网络科技有限公司 基于链表方式的弹幕校验方法、装置、终端及存储介质
CN110971581B (zh) * 2018-09-30 2022-05-27 北京国双科技有限公司 加密数据处理方法和装置
US10764399B2 (en) 2019-01-28 2020-09-01 Adp, Llc Customized web services gateway
CN114706621B (zh) * 2019-09-26 2023-03-24 华为技术有限公司 一种启动快应用的方法及相关装置
CN111090426A (zh) * 2019-12-19 2020-05-01 北京浪潮数据技术有限公司 一种http请求处理的方法、系统及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04257028A (ja) * 1991-02-08 1992-09-11 Fujitsu Ltd プログラム生成/合成装置および方法
JP2008544631A (ja) * 2005-06-17 2008-12-04 エスケーテレコム株式会社 移動通信端末機を用いてアプリケーション状態を格納するシステム及び方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757900B1 (en) * 2000-05-18 2004-06-29 Microsoft Corporation State management of server-side control objects
JP2002230035A (ja) * 2001-01-05 2002-08-16 Internatl Business Mach Corp <Ibm> 情報整理方法、情報処理装置、情報処理システム、記憶媒体、およびプログラム伝送装置
US7801970B2 (en) * 2005-12-08 2010-09-21 International Business Machines Corporation Method and system for efficiently handling navigational state in a portal
US7962466B2 (en) * 2006-01-23 2011-06-14 Chacha Search, Inc Automated tool for human assisted mining and capturing of precise results
US8578017B2 (en) * 2006-05-11 2013-11-05 Ca, Inc. Automatic correlation of service level agreement and operating level agreement
US20090015599A1 (en) 2007-07-09 2009-01-15 Yahoo! Inc. Draggable mechanism for identifying and communicating the state of an application
EP2235881A2 (en) * 2007-12-07 2010-10-06 Gallup, Inc. Preserving state information client-server system networked via a stateless protocol
US8646067B2 (en) * 2008-01-26 2014-02-04 Citrix Systems, Inc. Policy driven fine grain URL encoding mechanism for SSL VPN clientless access
US8924845B2 (en) * 2008-02-20 2014-12-30 Lsi Corporation Web application code decoupling and user interaction performance
US20110040875A1 (en) * 2009-08-14 2011-02-17 Martin Scholz System And Method For Inter-domain Information Transfer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04257028A (ja) * 1991-02-08 1992-09-11 Fujitsu Ltd プログラム生成/合成装置および方法
JP2008544631A (ja) * 2005-06-17 2008-12-04 エスケーテレコム株式会社 移動通信端末機を用いてアプリケーション状態を格納するシステム及び方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND200600559015; 増井雄一郎: '実践!Ajaxアプリケーション開発' WEB+DB PRESS 第27巻, 20050801, 120-129頁, (株)技術評論社 *
JPN6014022245; 増井雄一郎: '実践!Ajaxアプリケーション開発' WEB+DB PRESS 第27巻, 20050801, 120-129頁, (株)技術評論社 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021166060A (ja) * 2020-06-29 2021-10-14 ベイジン バイドゥ ネットコム サイエンス アンド テクノロジー カンパニー リミテッド リクエストの処理方法、装置、設備、コンピュータ記憶媒体、及びプログラム

Also Published As

Publication number Publication date
US20120191840A1 (en) 2012-07-26
CN102597993A (zh) 2012-07-18
WO2011035944A1 (en) 2011-03-31
CN102597993B (zh) 2014-03-12

Similar Documents

Publication Publication Date Title
JP2013506175A (ja) 統一リソース識別子(uri)による、アプリケーション状態情報の管理
US11755346B2 (en) Method and apparatus for user interface modification
EP3876116B1 (en) Method and apparatus for running mini program, electronic device, and storage medium
Khalil et al. RCrawler: An R package for parallel web crawling and scraping
JP4467205B2 (ja) サーバ側制御オブジェクトによるポストバック入力のハンドリング
KR101908162B1 (ko) 통합 개발 환경에서의 라이브 브라우저 툴 제공 기법
US6470349B1 (en) Server-side scripting language and programming tool
JP5821678B2 (ja) ウェブ・アプリケーションのブラウザに依存しない自動互換性チェックのためのウェブ・サービス
JP3954809B2 (ja) サーバ側制御オブジェクトの状態管理方法
JP4625198B2 (ja) 動的ウェブページコンテンツファイルからのサーバ側コード生成
US9785452B2 (en) Framework for dependency management and automatic file load in a network environment
US7895571B2 (en) Method and apparatus for resolving client-side logic
US20030088643A1 (en) Method and computer system for isolating and interrelating components of an application
US20040090458A1 (en) Method and apparatus for previewing GUI design and providing screen-to-source association
US8621376B2 (en) Developer interface and associated methods for system for querying and consuming web-based data
US20080010249A1 (en) Relevant term extraction and classification for Wiki content
US9529648B2 (en) Generic declaration of bindings between events and event handlers regardless of runtime structure
US7805464B2 (en) Web viewer setup dialog and grammar for generating web addresses
KR20080053293A (ko) 클라이언트 스크립트 웹 페이지에 대한 서버측 초기 콘텐츠렌더링
JP2009543167A (ja) ページに関するページ・レイアウトを継承するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
JP2009543166A (ja) ページによってページ・レイアウトを定義するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
US20170004221A1 (en) Establishment of state representation of a web page represented in a web browser
Lathkar Getting started with FastAPI
CA3089289C (en) System and methods for loading objects from hash chains
US7668929B1 (en) Abstracting links to electronic resources in a network environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130305

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140603

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20140620

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20140623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140902

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20141111

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150220

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20150227

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20150515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161118

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20170307