JP2012527692A - データベース・アプリケーションのナビゲーション - Google Patents

データベース・アプリケーションのナビゲーション Download PDF

Info

Publication number
JP2012527692A
JP2012527692A JP2012511892A JP2012511892A JP2012527692A JP 2012527692 A JP2012527692 A JP 2012527692A JP 2012511892 A JP2012511892 A JP 2012511892A JP 2012511892 A JP2012511892 A JP 2012511892A JP 2012527692 A JP2012527692 A JP 2012527692A
Authority
JP
Japan
Prior art keywords
database
computer
database object
request
parameter
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.)
Granted
Application number
JP2012511892A
Other languages
English (en)
Other versions
JP5255156B2 (ja
JP2012527692A5 (ja
Inventor
マイルス グリーンバーグ スティーブン
セルカ ヴィトール
ロバート ミラー アンドリュー
レッサー ステファン
ディー コヴィントン クリントン
マクミン ライアン
アール.カリモフ パベル
トゥパック コンラッド
シン グリューワル アマリンダー
スコット クーパー ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2012527692A publication Critical patent/JP2012527692A/ja
Publication of JP2012527692A5 publication Critical patent/JP2012527692A5/ja
Application granted granted Critical
Publication of JP5255156B2 publication Critical patent/JP5255156B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

データベース・サービスURL(uniform resource locator)を用いてプログラム可能なインタフェースをデータベース・アプリケーションに提供するように構成したデータベース・サーバ・アプリケーション・プログラムを提供する。データベース・アプリケーションにより利用されるデータベース・サービスURLを、データベース・サーバ・アプリケーション・プログラムの内部または制御下で実行されるプログラム・コードによりプログラムで更新することができる。データベース・サーバ・アプリケーションと関連して使用され、フォームまたはレポートのようなデータベース・オブジェクトをウェブ・ブラウザ内の適所に表示するための機能を提供する、マクロ動作も開示されている。

Description

本発明は、データベース・アプリケーションのナビゲーションに関する。
一部のデータベース管理プログラムにより、開発者はデータベースに関する特定の機能を実施するためのデータベース・アプリケーションを作成できる。例えば、ユーザが学校への寄付または義援金を追跡できるようにするデータベース・アプリケーションを作成できる可能性がある。ユーザは典型的に、データベース・アプリケーションまたはランタイム版のデータベース・クライアントを作成するために利用されるデータベース管理プログラム(本明細書では、「データベース・クライアント・アプリケーション・プログラム」または単に「データベース・クライアント」と称する)を通じて、このようなデータベース・アプリケーションにアクセスする。その結果、データベース・クライアントのコピーを有していない、またはランタイム版を自分のコンピュータにインストールしていないユーザは、データベース・アプリケーションを利用できない。
共同作業を容易にし、ユーザがデータベース・クライアント・アプリケーション・プログラムをコピーすることなくデータベース・アプリケーションにアクセスしデータベース・アプリケーションを利用できるようにするために、Web(「World Wide Web」)ブラウザおよびローカル・エリア・ネットワークまたは広域ネットワークを用いてアクセスできるデータベース・アプリケーションのバージョンを作成できる。かかるウェブにアクセス可能なバージョンのデータベース・アプリケーションを用いると、ユーザはウェブ・ベースのデータベース・アプリケーションが利用するURL(uniform resource locator)をコピー・アンド・ペーストすることができる。ユーザがかかるURLに戻ると、ユーザは、自分がURLをコピーした時に見たのと同じデータを見ることを期待する。ウェブ・ベースのデータベース・アプリケーションが異なる結果を返すと、ユーザは苛立つこともあり、または混乱することもある。
本明細書で提示する発明は、これらおよび他の事項を考慮してなされたものである。
本明細書では、データベース・アプリケーションをナビゲートするための概念と技術を説明する。本明細書で提示する実施形態によれば、データベース・サーバ・アプリケーション・プログラムが、URLを用いてプログラム可能なインタフェースをデータベース・アプリケーションに提供するように構成される。正しくフォーマットされたURLを利用して、特定の結果をデータベース・アプリケーションからフェッチすることができる。また、URLをデータベース・サーバ・アプリケーションによりプログラムで更新して、正しいパスを現在表示されているデータに反映する。この機構を用いることにより、コピーされ、後にデータベース・アプリケーションに戻るために利用されるURLは、一貫したデータをデータベース・アプリケーションから返す。
本明細書で提示する1の実施によれば、URL(本明細書では、「データベース・サービスURL」と称する)を用いてプログラム可能なインタフェースをデータベース・アプリケーションに提供するように構成されたデータベース・サーバ・アプリケーション・プログラムが提供される。データベース・サービスURLは、特定の結果をデータベース・アプリケーションからフェッチするために利用できるURLである。1の実装によれば、データベース・サービスURLは、要求されたデータベース・オブジェクトをロードするターゲット・サブフォーム・コントロールへのパスを特定する、第1のパラメータを含む。1実施形態では、要求されたデータベース・オブジェクトは、データバインドされたフォームまたはレポートである。サブフォーム・コントロールとは、ウェブ・ブラウザ内部で利用してフォームまたはレポートのようなデータベース・オブジェクトを表示できる、ユーザ・インタフェース・コントロールである。
他の実装によれば、データベース・サービスURLは、サブフォーム・コントロールにロードすべきデータベース・オブジェクトの名前を特定する、第2のパラメータを含む。データベース・サービスURLは、ロードすべきデータベース・オブジェクトの型を特定する第3のパラメータを含むことができる。例えば、当該第3のパラメータが、データベース・オブジェクトがデータベース・フォームかデータベース・レポートかを特定できる。幾つかの実装によれば、データベース・サービスURLはまた、現在表示されているページとすべき、データベース・オブジェクトの特定のページを特定する第4のパラメータを含む。要求されたデータベース・オブジェクトのデータ・モードを特定する第5のパラメータを提供できる。例えば、第5のパラメータは、データベース・オブジェクトを動作の追加モード、編集モード、読取専用モードとして提供すべきかどうかを示すことができる。データベース・サービスURLはまたは、データベース・オブジェクトのレコード・ソースに対してWHERE条件を指定するための第6のパラメータを含むことができる。当該WHERE条件を利用して、フォームまたはレポートで表示されている実データをフィルタして詳細化(filter down)することができる。他のパラメータ、例えば、データをどのようにフィルタまたは整列するかを指定するためのパテメータを提供できる。
幾つかの実装によれば、データベース・アプリケーションが利用するデータベース・サービスURLを、データベース・サーバ・アプリケーション・プログラムの内部または制御下で実行されるプログラム・コードによってプログラムで更新できる。例えば、フォームをウェブ・ブラウザで開くためのマクロ動作を実行できる。マクロ動作の実行により、開いたフォームのデータベース・サービスURLを正しく反映するようにデータベース・サービスURLが更新される。同様に、レポートを開くためのマクロ動作、レコードを表示するためのマクロ動作、フォームまたはレポートを表示するためのマクロ動作、所定の位置のデータベース・オブジェクトを閲覧するためのマクロ動作、および、他の機能を実施するためのマクロ動作が、データベース・サービスURLを適切に更新できる。同様に、データベース・アプリケーションをナビゲートするために提供されるユーザ・インタフェース・コントロール、例えばナビゲーション・コントロールを選択することにより、データベース・サービスURLを更新することもできる。本明細書で用いる「マクロ動作」という用語はデータベース・アプリケーションが提供するマクロを指すことは理解されよう。他の種類の実行可能コンポーネントを利用して同様な機能を提供できることは理解されよう。
他の実装によれば、本明細書では、データベース・オブジェクト、例えばフォームまたはレポートをウェブ・ブラウザ内の適所に表示する機能を提供するマクロ動作が、データベース・サーバ・アプリケーションと関連して使用するために提供される。本明細書ではBrowserToマクロ動作と称するマクロ動作を使用することで、データベース・アプリケーションのコンテキストを維持しつつ、フォームまたはレポートの現在のビューを変更できる。1の実装によれば、BrowserToマクロ動作は、サブフォーム・コントロールへのパスを特定するパラメータ、表示すべきデータベース・オブジェクトの名前を特定するパラメータ、およびデータベース・オブジェクトの型を特定するパラメータをとる。幾つかの実装では、現在のページとして表示すべきデータベース・オブジェクトのページを特定するパラメータ、データベース・オブジェクトのデータ・モードを特定するパラメータ、BrowserToマクロ動作によって表示すべきデータベース・オブジェクトのレコード・ソースに対するWHERE条件を規定するパラメータを、データベース・オブジェクトを適所に表示するときに供給して利用できる。
上述の主題を、コンピュータ制御型の装置として、コンピュータ・プロセスとして、コンピューティング・システムとして、コンピュータ読取可能記憶媒体のような製品として、または別の方法で実装できることは理解されよう。これらおよび他の様々な機能は、後の発明を実施するための形態を読み、関連する図面を参照すれば明らかであろう。
本要約は、選択した概念を簡潔な形で導入するために提供されている。その概念は、後の発明を実施するための形態においてさらに説明する。本要約は、クレーム主題の主要な特徴または本質的な特徴を特定しようとするものではなく、特許請求の範囲の主題の範囲を限定するために本要約を使用しようとするものでもない。さらに、特許請求の範囲の主題は、本開示の任意の部分で記載した任意のまたは全ての不都合を解決する実装には限定されない。
本明細書で提示した実施形態によって提供される例示的な動作環境と幾つかのソフトウェア・コンポーネントの態様を示す、ネットワークおよびコンピュータ・アーキテクチャを示す図である。 本明細書で提示した1実施形態で利用されるナビゲーション・コントロールの態様を示すユーザ・インタフェースを示す図である。 本明細書で提示した実施形態において提供されるデータベース・サービスのURLの態様を示すデータ構造図を示す図である。 諸実施形態において本明細書で提示した様々な技術を利用する幾つかのマクロ動作を示すソフトウェアを示す図である。 本明細書で提示した実施形態に従って、データベース・サービスのURLに対する要求を処理し、データベース・サービスのURLを更新し、フォームまたはレポートを閲覧するためのマクロ動作を実行するための、本明細書で提示した実施形態の態様を説明するルーチンを示す流れ図である。 本明細書で提示した実施形態に従って、データベース・サービスのURLに対する要求を処理し、データベース・サービスのURLを更新し、フォームまたはレポートを閲覧するためのマクロ動作を実行するための、本明細書で提示した実施形態の態様を説明するルーチンを示す流れ図である。 本明細書で提示した実施形態に従って、データベース・サービスのURLに対する要求を処理し、データベース・サービスのURLを更新し、フォームまたはレポートを閲覧するためのマクロ動作を実行するための、本明細書で提示した実施形態の態様を説明するルーチンを示す流れ図である。 本明細書で提示した実施形態の諸態様を実装できるコンピュータ・システム向けの、例示的なコンピュータのハードウェアおよびソフトウェアのアーキテクチャを示すコンピュータ・アーキテクチャを示す図である。
以下の詳細な説明は、データベース・アプリケーションのナビゲーションに対する技術に関するものである。本明細書で説明する主題を、コンピュータ・システム上のオペレーティング・システムおよびアプリケーション・プログラムの実行と関連して実行されるプログラム・モジュールの一般的なコンテキストで提示するが、他の実装を他の種類のプログラム・モジュールと組み合わせて実施ができることは当業者には理解されよう。一般に、プログラム・モジュールは、特定のタスクを実施するかまたは特定の抽象データ型を実装する、ルーチン、プログラム、コンポーネント、データ構造、および他種の構造を含む。さらに、本明細書で説明する主題を他のコンピュータ・システム構成で実現できることは当業者には理解されよう。当該他のコンピュータ・システム構成には、ハンド・ヘルド装置、マルチプロセッサ・システム、マイクロプロセッサ・ベースまたはプログラム可能な消費家電、ミニコンピュータ、メインフレーム・コンピュータ、等が含まれる。
以下の詳細な説明では、その一部を成す添付図面を参照する。添付図面は、例示的で具体的な実施形態または例として示してある。図面を参照するが、図面では幾つかの図にわたって同一の数字で同一の要素を表し、データベース・アプリケーションをナビゲートするための概念および技術を説明する。
図1を参照すると、本明細書で提示する実施形態によって提供される、例示的な動作環境と幾つかのソフトウェア・コンポーネントに関する詳細を提供する。具体的には、図1は、データベース・アプリケーション108を提供するためのシステム100の諸態様を示す。図1に示すように、システム100は、ネットワーク118によって相互接続されるクライアント・コンピュータ102とサーバ・コンピュータ104を含む。図1に示す構成は例にすぎず、図1に示していない追加のコンピューティング・システムとネットワークを、本明細書で提示した様々な実施形態において利用できることは理解されよう。ネットワーク118を本明細書ではインターネットのようなWAN(wide area network)として説明するが、他種のLAN(local area network)およびWANを、本明細書で提示した実施形態によって利用できることは理解されよう。
図1に示すように、クライアント・コンピュータ102は、オペレーティング・システムと適切なアプリケーション・プログラム・ソフトウェアを実行するために具備される。具体的には、クライアント・コンピュータ102は、データベース・クライアント・アプリケーション・プログラム106を実行するように構成される。データベース・クライアント・アプリケーション・プログラム106は、本明細書では単に「データベース・クライアント」と称することもあるが、クライアント・コンピュータ102上で実行するために構成されたデータベース・アプリケーション・プログラムを備える。例えば、1の実装では、データベース・クライアント・アプリケーション・プログラム106は、ワシントン州レドモンドのマイクロソフト(登録商標)社製のACCESSデータベース・クライアント・アプリケーション・プログラムを備える。しかし、他社製のデータベース・クライアント・アプリケーション・プログラムを、本明細書で提示したソフトウェア・コンポーネントと関連して利用できることは理解されよう。
図1に示すように、データベース・クライアント・アプリケーション・プログラム106は、諸実施形態において、ユーザがデータベース・アプリケーション108を作成できるように構成される。データベース・アプリケーション108を、データベース・クライアント・アプリケーション・プログラム106またはランタイムバージョンのデータベース・クライアントによって実行できる。データベース・アプリケーション108を使用することにより、クライアント・コンピュータ102のユーザはデータベースと、データベース・アプリケーション108によってサポートされる様々な方法で対話することができる。1実施形態では、データベース・アプリケーション108は内蔵型であり、データベース・アプリケーション108が動作する実データベースを含むことは理解されよう。
本明細書で提示する1実施形態によれば、データベース・クライアント・アプリケーション・プログラム106はさらに、ユーザがデータベース・アプリケーション108の一部としてナビゲーション・フォーム200を定義できるように構成される。図2に関して後でさらに詳細に論ずるように、ナビゲーション・フォーム200がナビゲーション・コントロール202を含むことができる。ナビゲーション・コントロール202は、ターゲット、例えばフォーム124Aまたはデータベース・レポート124Bとそれぞれを関連付けることができる、選択可能なタブを含む。適切なユーザ入力装置を用いてナビゲーション・コントロール202上の選択可能なタブの1つを選択すると、当該選択可能なタブに関連付けられたターゲットが、データベース・アプリケーション108によってナビゲーション・フォーム200内に表示される。複数のナビゲーション・コントロール202を同一のナビゲーション・フォーム200に追加できる。
本明細書で提示した実施形態をナビゲーション・コントロール202と関連した動作として説明したが、本明細書で提示した実施形態はかかる実装に限定されないことは理解されよう。そうではなく、本明細書で提示した実施形態を、データベース・アプリケーションをナビゲートするために提供される、事実上任意の種類のユーザ・インタフェース・コントロールで利用できる。
本明細書で提示した他の態様によれば、データベース・クライアント・アプリケーション・プログラム106はまた、ナビゲーション・フォーム200およびナビゲーション・コントロール202を含むデータベース・アプリケーション108を発行するための機能をサーバ・コンピュータ104に提供する。これに関して、クライアント・コンピュータ102のユーザは、ナビゲーション・フォーム200およびナビゲーション・コントロール202を含むデータベース・アプリケーション108をサーバ・コンピュータ104に発行する要求をデータベース・クライアント・アプリケーション・プログラム106に行うことができる。かかる要求を受け取ったことに応答して、データベース・クライアント・アプリケーション・プログラム106を、ウェブ・サーバ・アプリケーション・プログラム112を介してウェブ・サイト114と通信してデータベース・アプリケーション108をサーバ・コンピュータ104に発行させるように構成する。これに関して、データベース・クライアント・アプリケーション・プログラム106は、XML(extensible markup language)またはXAML(extensible application markup language)を利用してデータ・ファイルを生成できる。他種のマークアップ言語またはデータ・ファイル形式を利用してこの情報をサーバ・コンピュータ104に送信できることは理解されよう。
サーバ・コンピュータ104に発行することにより、ナビゲーション・フォーム200およびナビゲーション・コントロール202を含むデータベース・アプリケーション108を、ウェブ・インタフェースを通じてサーバ・コンピュータ104が利用できるようにすることができる。具体的には、ウェブ・サイト114は、1実施形態では、ナビゲーション・フォーム200とナビゲーション・コントロール202に対する要求をウェブ・ブラウザ・アプリケーション・プログラム110から受け取り、当該要求に応答するように構成される。データベース・クライアント・アプリケーション・プログラム106の1つの版を、本明細書ではデータベース・サーバ・アプリケーション・プログラム116と称するが、サーバ・コンピュータ104上で実行できる。データベース・サーバ・アプリケーション・プログラム116を用いることにより、ナビゲーション・フォーム200およびナビゲーション・コントロール202を含むデータベース・アプリケーション108の様々な機能を、ウェブ・サイト114を通じて利用可能にすることができる。
本明細書で提示する1実施形態によれば、ウェブ・サイト114は、ワシントン州レドモンドのマイクロソフト社製のSHAREPOINTコラボレーション・システムを備える。しかし、本明細書で提示した実施形態を、他社製の他種のウェブ・サイトで利用できることは理解されよう。また、ナビゲーション・フォーム200およびナビゲーション・コントロール202を含むウェブ・ブラウザ・アプリケーション・プログラム110がウェブ・サイト114と相互作用するために利用されるとして説明しているが、ウェブ・ページを要求しレンダリングできる任意の種類のプログラムを利用できることは理解されよう。
図3乃至6に関して後でさらに詳細に説明するように、データベース・サーバ・アプリケーション・プログラム116は、幾つかの実施形態では、URL120(本明細書では、「データベース・サービスURL」と称する)により、プログラム可能なインタフェースをデータベース・アプリケーション108に提供するように構成される。データベース・サービスURLは、フォーム124A、レポート124B、または別の種類のデータベース・オブジェクトのような特定の結果をデータベース・アプリケーション108からフェッチするために利用できるURLである。また、後でさらに詳細に開示するように、データベース・サービスURL120をデータベース・サーバ・アプリケーション116によりプログラム的に更新して、正しいパスを現在表示されているデータに反映する。当該機構を用いることにより、コピーされ、後にデータベース・アプリケーショシに戻るために利用されるURLが、一貫したデータをデータベース・アプリケーション108から返す。
図2を参照して、本明細書で提示する1実施形態においてナビゲーション・フォーム200とナビゲーション・コントロール202の動作に関する詳細をさらに説明する。具体的には、図2はウェブ・ブラウザ・アプリケーション110が生成するフォーム200のレンダリングを示す。上で簡潔に論じたように、ナビゲーション・コントロール202は幾つかのタブ204A〜204Cを含む。タブ204A〜204Cを各々、フォーム124Aまたはレポート124Bのようなターゲットと関連付けることができる。タブ204A〜204Cのうち1つを選択すると、関連するターゲットがサブフォーム・コントロール206に表示される。上で論じたように、サブフォーム・コントロール206は、ウェブ・ブラウザ・アプリケーション・プログラム110内部で利用して、フォームまたはレポートのようなデータベース・オブジェクトを表示できるユーザ・インタフェース・コントロールである。複数のナビゲーション・コントロール202をカスケードできることは理解されよう。さらに、ナビゲーション・コントロール202をフォーム202上の他の位置、例えば、左、下、または右側に配置できる。さらに、タブ204A〜204Cが他の形状をとることができ、またはタブ204A〜204Cをハイパーリンクとして表現することもできる。
図1に関して上で簡単に論じたように、データベース・サーバ・アプリケーション・プログラム116は、1実施形態では、データベース・サービスURL120を使用して、インタフェースをデータベース・アプリケーション108に提供するように構成される。データベース・サービスURL120が、サブフォーム・コントロール206が表示するデータベース・オブジェクトに対して正しいパスを維持することを確実にするために、タブ204A〜204Cの1つを選択する毎にデータベース・サービスURL120を更新する。後でさらに詳細に説明するように、データベース・サービスURL120を、データベース・アプリケーション108をナビゲートするために提供される他のユーザ・インタフェース・コントロールを選択した後、データベース・アプリケーション108によりプログラム・コンポーネントを実行したことに応答して更新できる。この機能に関する詳細を、図3乃至7に関して後で提供する。
図3を参照して、幾つかの実施形態で提供されるデータベース・サービスURL120の諸態様を示すデータ構造図を説明する。図3に示すように、データベース・サービスURL120はアドレス302Aと幾つかのパラメータ302B〜302Gを含む。幾つかの実装によれば、アドレス302Aはサーバ・アドレスと、URL120のリマインダが、要求されたページへのブックマークであるとの指示によりフォーマットされる。これにより、ウェブ・ブラウザ・アプリケーション・プログラム110がページを再読み込みすることなしにURL120を変更できる。例えば、HTTP(hypertext transport protocol)を用いると、アドレス302Cは「http://address/pagename#」の形をとることができる。アドレス302Aを、他種のプロトコルで使用するように規定することができる、データベース・アプリケーション108をホストする適切なサーバ・コンピュータ104のネットワーク・アドレスを用いてフォーマットできることは理解されよう。
上で簡単に述べたように、データベース・サービスURL120はさらに、幾つかのパラメータ302B〜302Gを含む。幾つかの実施形態では、パラメータ302B〜302Gは、図3に示す順序で指定される。しかし、他の実施形態ではパラメータ302B〜302Gの順序が異なってもよく、当該パラメータのうち幾つかを全ての要求で利用しなくともよいことは理解されよう。
幾つかの実装では、データベース・サービスURL120は、サブフォーム・コントロール206へのパスを特定する第1のパラメータ302Bを含む。具体的には、当該パラメータにより、データベース・アプリケーション108のメイン・フォームから、指定されたデータベース・オブジェクトをロードするターゲット・サブフォーム・コントロール206へのパスを特定する。データベース・アプリケーション108のメイン・フォームは、ウェブ・ブラウザ110が提供するブラウザ・ウインドウに直接ロードされるフォームである。本明細書で利用する際、「データベース・オブジェクト」という用語は、フォーム124A、レポート124B、またはデータベース・アプリケーション108が提供する別の種類のオブジェクトを指すことができる。
1実施形態によれば、パラメータ302Bを利用して、パラメータ302Dが特定するオブジェクト以外のサブフォームをロードできることは理解されよう。例えば、1つのシナリオでは、第1のサブフォームを含む第1のフォームが開いている場合、パラメータ302Bは当該第1のサブフォームを特定し、パラメータ302Dが特定するフォームがそのサブフォームにロードされる。別のシナリオでは、「Form1.Subform1>Form2.Subform2>Form3.Subform3」のように、ターゲット・パスをパラメータ302Bによって指定できる。このパラメータは、第2のフォームを第1のサブフォームにロードし、次いで第3のフォームを第2のフォームの第2のサブフォームにロードすることを意味する。これはまた、パラメータ302Dが指定するフォームが第3のフォームの第3のサブフォームにロードされることを指定する。他の多少複雑なシナリオを、本明細書で提示した技術で利用できることは理解されよう。
諸実装によれば、データベース・サービスURL120はまた、指定したサブフォーム・コントロール206内部にロードされるデータベース・オブジェクトの名前を特定する第2のパラメータ302Dを含む。後でさらに詳細に論ずるように、パラメータ302Dによって指定するオブジェクトは、パラメータ302B、302F、302Gが適用されるデータベース・オブジェクトでもある。1の実装によれば、データベース・サービスURL120はまた、サブフォーム・コントロール206にロードすべきデータベース・オブジェクトの型を特定する第3のパラメータ302Cを含む。例えば、1の実装では、パラメータ302Cは、データベース・オブジェクトがデータベース・フォーム124Aであるかレポート124Bであるかを特定する。
幾つかの実施形態によれば、データベース・サービスURL120は、現在のページとして表示すべきサブフォーム・コントロール206へロードすべきデータベース・オブジェクトのページを特定する第4のパラメータ302Eを含むことができる。サブフォーム・コントロール206に表示されるデータベース・オブジェクトのデータ・モードを特定する第5のパラメータ302Fを、データベース・サービスURL120に提供できる。例えば、パラメータ302Fは、データベース・オブジェクトが、動作の追加モード、編集モード、または読取専用モードの何れで開かれるかを特定できる。パラメータ302Fが指定されない場合、サブフォーム・コントロール206をホストするフォームに関連付けられたパラメータを利用して、サブフォーム・コントロール206にホストされたデータベース・オブジェクトが動作の追加モード、編集モード、または読取専用モードの何れで開かれるかを判定できる。
幾つかの実施形態によれば、サブフォーム・コントロール206によってホストされるデータベース・オブジェクトのレコード・ソースに対するWHERE条件を含む第6のパラメータ302Gを指定できる。第6のパラメータ302Gを指定した場合、パラメータ302Gの値で、サブフォーム・コントロール206にホストされたデータベース・オブジェクトのWHERE条件が置換される。WHERE条件を利用して、サブフォーム・コントロール206にホストされたデータベース・オブジェクトによって表示される実データを指定できることは理解されよう。以下でさらに詳細に論ずるように、データベース・サービスURL120とパラメータ302B〜302Gをデータベース・サーバ・アプリケーション・プログラム116によって利用して、データベース・アプリケーション108の特定の部分を特定する。これに関して、データベース・サーバ・アプリケーション・プログラム116の動作に関する詳細を以下でさらに説明する。
上で簡単に論じたように、データベース・サーバ・アプリケーション・プログラム116が利用するデータベース・サービスURL120を、データベース・サーバ・アプリケーション・プログラム116の内部または制御下で実行されるプログラム・コードによってプログラムで更新できる。具体的には、プログラマが図4に示すマクロ動作122を利用してデータベース・アプリケーション108の諸態様を実装できる。例えば、幾つかの実装では、OpenForm()マクロ動作122Aを利用してフォーム124Aを開くことができる。同様に、OpenRecord()マクロ動作122Bを利用してレポート124Bを開くことができる。同様に、GoToRecord()マクロ動作126Cを利用して、フォーム124Aまたはレポート124B内に特定のレコードを表示できる。諸実施形態では、BrowseToマクロ動作122Dも提供される。BrowseToマクロ動作122Dは、データベース・アプリケーション108がウェブ・ブラウザ・アプリケーション110にメイン・フォームのコンテキストを変更することなくデータベース・オブジェクトを閲覧させることを許可する。BrowseToマクロ動作122Dに関する詳細を、図7を参照して以下でさらに説明する。
様々な実施形態によれば、マクロ動作122A〜122Dは、その各々の機能を実行した後にデータベース・サービスURL120を更新するように構成される。マクロ動作122A〜122Dがデータベース・サービスURL120を更新するように構成されるので、データベース・アプリケーション108の開発者は明示的にこの機能をプログラムする必要はない。例えば、GoToRecord()マクロ動作122Cはデータベース・サービスURL120を更新して、表示したレコードへの正しいパスを反映する。図7に関して以下でさらに詳細に論ずるように、BrowserToマクロ動作122DはデータベースURL120を更新して、表示したフォーム124Aまたはレポート124Bへの正しいパスを反映する。マクロ動作122A〜122Dの動作に関する詳細を、図6を参照して以下でさらに説明する。
幾つかの実施形態によれば、データベース・サーバ・アプリケーション・プログラム116は、他種の入力に応答してデータベース・サービスURL120を更新するように構成されることは理解されよう。例えば、ウェブ・ブラウザ・アプリケーション・プログラム110により提供されるユーザ・インタフェース・コントロールを介して、データベース・アプリケーション108が提供する特定のデータベース・オブジェクトを閲覧するための要求が受け取られると、データベース・サーバ・アプリケーション・プログラム116は、データベース・サービスURL120を更新して、表示したオブジェクトへの正しいパスを反映する。例えば、1の実装では、データベース・サーバ・アプリケーション・プログラム116は、図1および図2に関して上述したナビゲーション・コントロール202でタブ204A〜204Cの1つを選択したことに応答して、データベース・サービスURL120を更新するように構成される。データベース・アプリケーション108をナビゲートするための他種のユーザ・インタフェース・コントロールを選択したことに応答して、データベース・サーバ・アプリケーション・プログラム116によってデータベース・サービスURL120を更新できることは理解されよう。
図5は、本明細書で提示する1実施形態に従ってデータベース・サービスURL110を処理するための1つのプロセスの態様を示す流れ図である。本明細書で説明する論理動作を、(1)コンピューティング・システムで実行される一連のコンピュータ実装の動作またはプログラム・モジュールとして、および/または(2)コンピューティング・システム内部の相互接続された機械論理回路または回路モジュールとして実装されることは理解されよう。どちらの実装をとるかは、コンピューティング・システムの性能や他の要件に応じた選択の問題である。従って、本明細書で説明する論理動作は、動作状態、動作、構造的な装置、またはモジュールのように様々に言及される。これらの動作状態、動作、構造的な装置、およびモジュールを、ソフトウェアで、ファームウェアで、特殊目的のデジタル論理で、およびそれらの任意の組合せで実装できる。図面で示し本明細書で説明したものよりも多いかまたは少ない動作を実施できることは理解されよう。これらの動作を、本明細書で説明したのとは異なる順序で実施できる。
ルーチン500は動作502で開始する。動作502で、データベース・サーバ・アプリケーション・プログラム116がデータベース・サービスURL120をウェブ・ブラウザ・アプリケーション・プログラム110から受け取る。動作504で、データベース・サービスURL120を受け取ったことに応答して、データベース・サーバ・アプリケーション・プログラム116が、所望のデータベース・オブジェクトを特定する。これに関して、データベース・サーバ・アプリケーション・プログラム116が、パラメータ302Dにより指定されるデータを利用して、要求されたデータベース・オブジェクトを特定できる。要求されたデータベース・オブジェクトが特定されると、ルーチン500は動作506に進む。
動作506で、データベース・サーバ・アプリケーション・プログラム116が、指定のフォームとサブフォームをロードし、指定されたオブジェクトをロードするために利用すべきターゲット・サブフォーム・コントロール206を特定する。これに関して、パラメータ302Bにより指定されるデータを利用して、指定されたデータベース・オブジェクトをロードするための適切なサブフォーム・コントロール206を特定できる。ターゲット・サブフォーム・コントロール206が特定されると、ルーチン500は動作508に進み、データベース・サーバ・アプリケーション・プログラム116が、WHERE条件がパラメータ302Gで指定されているかどうかを判定する。指定されている場合は、ルーチン500は動作510に進み、データベース・サーバ・アプリケーション・プログラム116がオブジェクトのレコード・ソースのWHERE条件を、パラメータ302Gで指定されたWHERE条件で置き換える。次いで、ルーチン500は動作510から動作512に進む。
動作512で、パラメータ302Cで指定されたように、要求されたフォーム124Aまたはレポート124Bが生成される。フォーム124Aまたはレポート124Bの生成には、データベース・サーバ・アプリケーション・プログラム116によってクエリを実行することが必要であってもよいことは理解されよう。要求されたフォーム124Aまたはレポート124Bが生成されると、ルーチン500は動作514に進み、パラメータ302Eによって指定されたページが、要求されたフォーム124Aまたはレポート124Bの現在のページとされる。次いで、ルーチン500は動作516に進み、要求されたフォーム124Aまたはレポート124Bがウェブ・ブラウザ・アプリケーション・プログラム110に返されて、特定したサブフォーム・コントロール206に表示される。返されたデータベース・オブジェクトのデータ・モードはまた、パラメータ302Fによって指定される値に等しいように設定される。ウェブ・ブラウザ・アプリケーション110がデータベース・オブジェクトを受け取ると、当該データベース・オブジェクトがサブフォーム・コントロール206に表示される。ルーチン500は動作516から動作518に進み、そこで終了する。
図6を参照して、データベース・サービスURL120を更新するためのデータベース・サーバ・アプリケーション・プログラム116の動作の態様を示して、例示的なルーチン600を説明する。上で論じたように、データベース・サービスURL120は、特定のマクロ動作122A〜122Dまたは他のプログラム・コンポーネントの実行に応答して更新される。図6に示すルーチン600は、1つの例示的な実施形態に従う当該プロセスを示すものである。
ルーチン600は動作602で開始する。動作602で、データベース・サーバ・アプリケーション・プログラム116が、OpenForm()マクロ動作122Aが実行されたかどうかを判定する。実行されている場合は、ルーチン600は動作614に進み、直近に開いたフォームを反映するようにデータベース・サービスURL120が更新される。OpenForm()マクロ動作122Aが実行されていない場合は、ルーチン600は動作602から動作604に進み、OpenReport()マクロ動作122Bが実行されているかどうかを判定する。実行されている場合は、ルーチン600は動作614に進み、直近に開いたレポートへの正しいパスを反映するように、データベース・サービスURL120が更新される。レポートが開かれていない場合は、ルーチン600は動作604から動作606に進む。
動作606で、GoToRecord()マクロ動作122Cが実行されたかどうかを判定する。実行された場合は、ルーチン600は動作606から動作614に進み、直近に開いたレコードへの正しいパスを反映するように、データベース・サービスURL120が更新される。GoToRecord()マクロ動作122Cが実行されていない場合は、ルーチン600は動作606から動作608に進む。動作608で、データベース・サーバ・アプリケーション・プログラム116が、BrowseToマクロ動作122Dが実行されたかどうかを判定する。実行された場合は、動作614で、BrowseToマクロ動作122Dを利用して表示されたフォーム124Aまたはレポート124Bを反映するように、データベース・サービスURL120を更新する。BrowseToマクロ動作122Dが実行されなかった場合は、ルーチン600は動作608から動作610に進み、データベース・サーバ・アプリケーション・プログラム116が、別のフォーム124A、レポート124B、またはデータベース・アプリケーション108が提供するレコードにナビゲートするためにユーザ・インタフェース・コントロールが利用されたかどうかを判定する。利用された場合は、動作614で、データベース・サーバ・アプリケーション・プログラム116は適切なパスを反映するようにデータベース・サービスURL120を更新する。
動作612で、データベース・サーバ・アプリケーション・プログラム116が、タブ204A〜204Cの1つがナビゲーション・コントロール202内で選択されたかどうかを判定する。選択された場合は、ルーチン600は動作612から動作614に進み、選択されたタブ204A〜204Cのターゲットを反映するように、データベース・サーバ・アプリケーション・プログラム116がデータベース・サービスURL120を更新する。動作612でタブ204A〜204Cのうちの1つが選択されなかった場合は、ルーチン600は動作616に進み、そこで終了する。
幾つかの実施形態では、マクロ動作122A〜122D以外のソフトウェア・コンポーネントを実行した後にデータベース・サービスURL120を更新するように、データベース・サーバ・アプリケーション・プログラム116が構成されることは理解されよう。具体的には、ウェブ・ブラウザ・アプリケーション110内部で提供されるデータベース・アプリケーション108のビューが変更されたときにデータベース・サービスURLを更新するように、データベース・サーバ・アプリケーション・プログラム116を構成できる。このように、データベース・サービスURL120は継続的に適切な状態に保たれる。その結果、データベース・サービスURL120をコピーし、後でそのURL120を用いてデータベース・アプリケーション108に戻るという、予測可能な結果がユーザに提供される。
図7を参照して、BrowseToマクロ動作122Dの動作に関する詳細をさらに説明する。上で簡潔に論じたように、BrowseToマクロ動作122Dは、データベース・アプリケーション108のコンテキストを維持しつつ、ウェブ・ブラウザ・アプリケーション110内部でフォーム124Aまたはレポート124Bの現在のビューを変更するための機能を提供する。
1の実装によれば、BrowseToマクロ動作122Dは、データベース・サービスURL120内で利用されるものと同様なパラメータをとる。具体的には、1の実装では、BrowseToマクロ動作122Dは、サブフォーム・コントロール206へのパスを特定するパラメータ、サブフォーム・コントロール206内に表示すべきデータベース・オブジェクトの名前を特定するパラメータ、およびデータベース・オブジェクトの型を特定するパラメータをとる。幾つかの実装では、現在のページとして表示すべきデータベース・オブジェクトのページを特定するパラメータ、データベース・オブジェクトのデータ・モードを特定するパラメータ、BrowseToマクロ動作122Dによって表示すべきデータベース・オブジェクトのレコード・ソースに対するWHERE条件を指定するパラメータを、データベース・オブジェクトをウェブ・ブラウザ・アプリケーション110内の適所に表示するときに供給し利用できる。
図7は、BrowseToマクロ動作122Dの動作を示す1つの例示的なルーチン700を示す。具体的には、ルーチン700は動作702で開始し、更新すべきサブフォーム・コントロール206を、BrowseToマクロ動作122Dとともに供給されたパラメータに基づいて特定する。サブフォーム・コントロール206が特定されると、ルーチン700は動作704に進み、そこでターゲット・フォーム124Aまたはレポート124Bが、特定されたサブフォーム・コントロール206にロードされる。次いで、ルーチン700は動作706に進み、ターゲット・フォーム124Aまたはレポート124BのWHERE句が、BrowseToマクロ動作122Dに渡されたWHERE句に設定される。次いで、ルーチン700が動作708に進み、表示されたフォーム124Aまたはレポート124Bの現在のページが、BrowseToマクロ動作122Dに渡されたパラメータにおいて指定されたページに設定される。現在のページが設定されると、ルーチン700は動作710に進み、BrowseToマクロ動作122Dが、表示されたフォーム124Aまたはレポート124Bを反映するようにデータベース・サービスURL120を更新する。ルーチン700は動作710から動作712に進み、そこで終了する。
図8は、本明細書で説明したソフトウェア・コンポーネントを実行できるコンピュータ800の例示的なコンピュータ・アーキテクチャを示す。図8に示すコンピュータ・アーキテクチャは従来型のデスクトップ、ラップトップ、またはサーバ・コンピュータを表す。当該コンピュータ・アーキテクチャを利用して、クライアント・コンピュータ102またはサーバ・コンピュータ104で実行されるとして説明した本明細書で提示したソフトウェア・コンポーネントの任意の態様を実行できる。
図8に示すコンピュータ・アーキテクチャは、CPU(central processing unit)802、RAM(random access memory)814およびROM(read−only memory)816を含むシステム・メモリ808、およびメモリをCPU802に結合するシステム・バス804を含む。起動中等にコンピュータ800内部の要素間で情報を転送することを支援する基本ルーチンを含む基本入出力システムがROM816に格納される。コンピュータ800はさらに、オペレーティング・システム818、アプリケーション・プログラム、および他のプログラム・モジュールを格納するための大容量記憶装置810を含む。これを本明細書でさらに詳細に説明する。
大容量記憶装置810は、バス804に接続した大容量記憶コントローラ(図示せず)を介してCPU802に接続される。大容量記憶装置810とその関連するコンピュータ記憶媒体は、コンピュータ800に不揮発性記憶を提供する。本明細書に含まれるコンピュータ記憶媒体がハード・ディスクまたはCD−ROMドライブのような大容量記憶装置であるとして説明するが、コンピュータ記憶媒体が、コンピュータ800がアクセス可能な任意の利用可能なコンピュータ記憶媒体でありうることは当業者には理解されよう。
限定ではなく例として、コンピュータ記憶媒体には、コンピュータ読取可能命令およびコンピュータ実行可能命令、データ構造、プログラム・モジュール、または他のデータのような情報を記憶するための任意の方法または技術で実装される、揮発性および不揮発性の媒体、取外し可能および取外し不能な媒体を含めることができる。例えば、コンピュータ記憶媒体には、RAM、ROM、EPROM、EEPROM、フラッシュ・メモリもしくは他の個体メモリ技術、CD−ROM、DVD(digital versatile disk)、HD−DVD、BLU−RAY、または他の光記憶、磁気カセット、磁気テープ、磁気ディスク記憶もしくは他の磁気記憶装置、または所望の情報の記憶に使用できコンピュータ800がアクセスできる他の任意の媒体が含まれるがこれらに限らない。
様々な実施形態によれば、コンピュータ800は、ネットワーク820のようなネットワークを介したリモート・コンピュータへの論理接続を用いて、ネットワーク環境で動作することができる。コンピュータ800を、バス804に接続されたネットワーク・インタフェース・ユニット806を介してネットワーク820に接続することができる。ネットワーク・インタフェース・ユニット806を利用して他種のネットワークおよびリモート・コンピュータ・システムに接続できることは理解されよう。コンピュータ800はまた、キーボード、マウス、または電子ペン(図8には示さず)を含む幾つかの他の装置からの入力を受け取って処理するための、入出力コントローラ812を備えることができる。同様に、入出力コントローラが、ディスプレイ・スクリーン、プリンタ、または他種の出力装置(図8には示さず)への出力を提供できる。
上で簡単に述べたように、ネットワーク可能なデスクトップ、ラップトップ、またはサーバ・コンピュータの動作を制御するのに適したオペレーティング・システム818を含む、幾つかのプログラム・モジュールとデータ・ファイルをコンピュータ800の大容量記憶装置810とRAM814に格納できる。大容量記憶装置810とRAM814はまた、1つまたは複数のプログラム・モジュールを格納できる。具体的には、大容量記憶装置810とRAM814が、データベース・クライアント・アプリケーション・プログラム106、ウェブ・ブラウザ・アプリケーション・プログラム110、BrowseToマクロ動作122Dを含むデータベース・アプリケーション108を格納することができる。これらの各々については図1〜7と関連して上で詳細に説明した。大容量記憶装置810とRAM814が、他種のプログラム・モジュールとデータを記憶することができる。
本明細書で説明したソフトウェア・コンポーネントをCPU802にロードして実行すると、当該ソフトウェア・コンポーネントは、CPU802とコンピュータ800全体を汎用目的コンピューティング・システムから、本明細書で提示した機能を容易にするためにカスタマイズした特殊目的コンピューティング・システムへと変えることができることは理解されよう。CPU802を任意数のトランジスタまたは他の離散回路要素で構築でき、それらが個別または集合的に任意数の状態をとることができる。より具体的には、CPU802は、本明細書で開示したソフトウェア・モジュール内に含まれる実行可能な命令に応答して有限状態機械として動作できる。これらのコンピュータ実行可能命令が、CPU802がどのように状態間を遷移するかを指定することによりCPU802を構成するトランジスタまたは他の離散的なハードウェア要素を変換することによって、CPU802を変換できる。
本明細書で提示したソフトウェア・モジュールをエンコードすることによって、本明細書で提示したコンピュータ記憶媒体の物理的構造を変換できる。物理的構造の具体的な変換方法は、本記載と異なる実装において、様々な要素に依存できる。かかる要素の例には、コンピュータ記憶媒体の実装に用いられる技術、コンピュータ記憶媒体が主記憶とされるか二次記憶とされるか、等を含めることができるがこれらに限らない。例えば、コンピュータ記憶媒体を半導体ベースのメモリとして実装する場合は、本明細書で開示したソフトウェアを、半導体メモリの物理的状態を変換することによってコンピュータ記憶媒体上でエンコードできる。例えば、当該ソフトウェアが、半導体メモリを構成するトランジスタ、キャパシタ、または他の離散的な回路要素の状態を変換できる。当該ソフトウェアはまた、データを格納するためにかかるコンポーネントの物理的状態を変換できる。
別の例として、本明細書で開示したコンピュータ記憶媒体を、磁気技術または光技術を用いて実装できる。かかる実装では、本明細書で提示したソフトウェアが、磁気媒体または光媒体の物理的状態を、当該ソフトウェアをこれらの媒体内でエンコードしたときに変換できる。これらの変換に、所与の磁気媒体内の特定位置の磁気特性を変更することを含めることができる。これらの変換に、所与の光媒体内の特定位置の物理的特徴または物理的特性を変更して当該位置の光特性を変更することを含めることができる。以上の例は本議論を容易にするためにのみ与えたものであるので、本説明の範囲と趣旨を逸脱しない物理媒体の他の変換が可能である。
上記を鑑み、本明細書で提示したソフトウェア・コンポーネントを格納し実行するために、多種の物理的変換がコンピュータ800で行われることは理解されよう。コンピュータ800が他種のコンピューティング装置を備えることができることも理解されよう。当該コンピューティング装置には、ハンドヘルド・コンピュータ、組込み型コンピュータ・システム、パーソナル・デジタル・アシスタント、および当業者に公知な他種のコンピューティング装置が含まれる。コンピュータ800が図8に示すコンポーネントの全てを備えなくともよく、図8に明示的には示していない他のコンポーネントを含むことができ、または図8に示したものと全く異なるアーキテクチャを利用できることも考慮されている。
以上に基づいて、データベース・アプリケーションをナビゲートするための技術が本明細書で開示されたことは理解されよう。本明細書で提示した主題を、コンピュータの構造的特徴、方法論的な動作および変形をもたらす動作、具体的な計算機械、ならびにコンピュータ記憶媒体に固有な言葉で説明したが、添付の特許請求の範囲で定義した発明は必ずしも本明細書で説明した具体的な機能、動作、または媒体に限られないことは理解されよう。そうではなく、当該具体的な機能、動作および媒体は、特許請求の範囲を実装する例示的な形態として開示されている。
以上で説明した主題は、例として提供したにすぎないものであり、限定と解釈すべきではない。図示し説明した例示的な実施形態および適用例に従わない様々な修正および変更、ならびに、本発明の真の趣旨および範囲を逸脱しない様々な修正および変更を、本明細書で説明した主題に加えることができる。本発明の真の趣旨と範囲は添付の特許請求の範囲で説明されている。

Claims (15)

  1. コンピュータによって実行されたときに、前記コンピュータに、
    データベース・オブジェクト(124)の要求を受信することであって、前記要求は、要求されたデータベース・オブジェクト(124)をロードするターゲット・サブフォーム・コントロール(206)へのパスを特定する第1のパラメータ(302B)と、前記データベース・オブジェクト(124)の名前を特定する第2のパラメータ(302D)と、前記データベース・オブジェクト(124)の型を特定する第3のパラメータ(302C)とを有するURL(uniform resource locator)(120)を備えることと、
    前記要求を受信することに応答して、前記URL(120)の前記パラメータ(302A〜302C)を用いて前記データベース・オブジェクト(124)を特定し、前記要求に応答して前記要求されたデータベース・オブジェクト(124)を前記サブフォーム・コントロール(206)内に表示させることと
    をさせるコンピュータ実行可能命令を有するコンピュータ記憶媒体。
  2. 前記URLが、現在のページとすべき前記データベース・オブジェクトのページを特定する第4のパラメータをさらに備える、請求項1に記載のコンピュータ記憶媒体。
  3. 前記URLが、前記データベース・オブジェクトのデータ・モードを特定する第5のパラメータをさらに備える、請求項2に記載のコンピュータ記憶媒体。
  4. 前記データ・モードが、追加モード、編集モード、または読取専用モードを備える、請求項3に記載のコンピュータ記憶媒体。
  5. 前記データベース・オブジェクトがデータベース・フォームまたはデータベース・レポートを備え、前記第3のパラメータが、前記データベース・オブジェクトがデータベース・フォームであるかデータベース・レポートであるかを特定する、請求項3に記載のコンピュータ記憶媒体。
  6. 前記URLが、前記データベース・オブジェクトのレコード・ソースに対するwhere条件を指定する第6のパラメータをさらに備える、請求項3に記載のコンピュータ記憶媒体。
  7. 前記コンピュータによって実行されたときに、前記コンピュータに、
    フォームを開くためのマクロ動作を実行する要求を受信することと、
    前記要求を受信することに応答して、前記フォームを開き、前記URLを更新して前記フォームを開いたことを反映することと
    をさせるコンピュータ実行可能命令をさらに有する請求項3に記載のコンピュータ記憶媒体。
  8. 前記コンピュータによって実行されたときに、前記コンピュータに、
    レポートを開くためのマクロ動作を実行する要求を受信することと、
    前記要求を受信することに応答して、前記レポートを開き、前記URLを更新して前記レポートを開いたことを反映することと
    をさせるコンピュータ実行可能命令をさらに有する請求項3に記載のコンピュータ記憶媒体。
  9. 前記コンピュータによって実行されたときに、前記コンピュータに、
    レコードを表示するためのマクロ動作を実行する要求を受信することと、
    前記要求を受信することに応答して、前記レコードを表示し、前記URLを更新して前記レコードを表示したことを反映することと
    をさせるコンピュータ実行可能命令をさらに有する請求項3に記載のコンピュータ記憶媒体。
  10. 前記コンピュータによって実行されたときに、前記コンピュータに、
    データベース・オブジェクトを適所で閲覧するためのマクロ動作を実行する要求を受信することと、
    前記要求を受信することに応答して、前記データベース・オブジェクトを適所に表示させ、前記URLを更新して前記データベース・オブジェクトを表示したことを反映することと
    をさせるコンピュータ実行可能命令をさらに有する請求項3に記載のコンピュータ記憶媒体。
  11. 前記コンピュータによって実行したときに、前記コンピュータに、
    ユーザ・インタフェース・コントロールからデータベース・オブジェクトを表示する要求を受信することと、
    前記要求を前記ユーザ・インタフェース・コントロールから受信したことに応答して、前記データベース・オブジェクトを表示させ、前記URLを更新して前記データベース・オブジェクトの表示を反映することと
    をさせるコンピュータ実行可能命令をさらに有する、請求項3に記載のコンピュータ記憶媒体。
  12. 前記ユーザ・インタフェース・コントロールがナビゲーション・コントロールを含む、請求項11に記載のコンピュータ記憶媒体。
  13. データベース・オブジェクトを適所に表示するためのコンピュータ実行型の方法であって、
    要求されたデータベース・オブジェクト(124)をロードするターゲット・サブフォーム・コントロール(206)へのパスを特定する第1のパラメータと、前記データベース・オブジェクト(124)の名前を特定する第2のパラメータと、前記データベース・オブジェクト(124)の型を特定する第3のパラメータとを含む、前記データベース・オブジェクト(124)を適所に表示する要求を受信し、
    前記要求を受信することに応答して、前記パラメータを用いて前記データベース・オブジェクト(124)を特定し、前記要求に応答して前記要求されたデータベース・オブジェクト(124)を前記サブフォーム・コントロール(206)内の適所に表示する
    ためのコンピュータ実装の動作を実施するステップを含む、方法。
  14. 前記データベース・オブジェクトを適所に表示する前記要求が、データベース・オブジェクトを適所に表示するためのマクロ動作を実行する要求を備える、請求項13に記載のコンピュータ実行型の方法。
  15. 前記要求が、前記データベース・オブジェクトが前記サブフォーム・コントロール内の適所に表示されたときに、現在のページとすべき前記データベース・オブジェクトのページを特定する第4のパラメータをさらに備える、請求項14に記載のコンピュータ実行型の方法。
JP2012511892A 2009-05-19 2010-05-12 データベース・アプリケーションのナビゲーション Active JP5255156B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/468,067 2009-05-19
US12/468,067 US8312048B2 (en) 2009-05-19 2009-05-19 Database application navigation
PCT/US2010/034617 WO2010135121A2 (en) 2009-05-19 2010-05-12 Database application navigation

Publications (3)

Publication Number Publication Date
JP2012527692A true JP2012527692A (ja) 2012-11-08
JP2012527692A5 JP2012527692A5 (ja) 2013-03-28
JP5255156B2 JP5255156B2 (ja) 2013-08-07

Family

ID=43125270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012511892A Active JP5255156B2 (ja) 2009-05-19 2010-05-12 データベース・アプリケーションのナビゲーション

Country Status (16)

Country Link
US (1) US8312048B2 (ja)
EP (1) EP2433224A4 (ja)
JP (1) JP5255156B2 (ja)
KR (1) KR101629054B1 (ja)
CN (1) CN102428460B (ja)
AU (1) AU2010249975B2 (ja)
BR (1) BRPI1011380B1 (ja)
CA (1) CA2758385C (ja)
CL (1) CL2011002889A1 (ja)
IL (1) IL215752A (ja)
MX (1) MX2011011746A (ja)
MY (1) MY158947A (ja)
RU (1) RU2544774C2 (ja)
SG (1) SG175049A1 (ja)
WO (1) WO2010135121A2 (ja)
ZA (1) ZA201107188B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199185A1 (en) * 2009-02-04 2010-08-05 Microsoft Corporation Common navigation mechanism for desktop and browser-based applications
US8271461B2 (en) * 2010-01-18 2012-09-18 Battelle Memorial Institute Storing and managing information artifacts collected by information analysts using a computing device
US8924420B2 (en) * 2011-06-29 2014-12-30 Microsoft Corporation Creating logic using pre-built controls
US9934218B2 (en) * 2011-12-05 2018-04-03 Infosys Limited Systems and methods for extracting attributes from text content
US9767172B2 (en) * 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
CN108133004A (zh) * 2017-12-21 2018-06-08 智车优行科技(北京)有限公司 物料清单的导出方法和装置
IN201911007700A (ja) * 2019-02-27 2019-03-22

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003242002A (ja) * 2002-02-20 2003-08-29 Fujitsu Ltd プロファイル結合装置及び方法
US20040249801A1 (en) * 2003-04-04 2004-12-09 Yahoo! Universal search interface systems and methods
US20050198307A1 (en) * 2001-04-30 2005-09-08 Microsoft Corporation Method and apparatus for terminal server addressability via URL specification
US20050246717A1 (en) * 2004-04-29 2005-11-03 Sybase, Inc. Database System with Methodology for Providing Stored Procedures as Web Services
US20060015843A1 (en) * 2004-07-13 2006-01-19 Marwan Sabbouh Semantic system for integrating software components
US20070174291A1 (en) * 2006-01-24 2007-07-26 Microsoft Corporation Dynamic optimization of available display space

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737592A (en) * 1995-06-19 1998-04-07 International Business Machines Corporation Accessing a relational database over the Internet using macro language files
US5835712A (en) * 1996-05-03 1998-11-10 Webmate Technologies, Inc. Client-server system using embedded hypertext tags for application and database development
US6101510A (en) 1997-01-29 2000-08-08 Microsoft Corporation Web browser control for incorporating web browser functionality into application programs
US6002402A (en) 1997-04-09 1999-12-14 Symantec Corporation System and method for producing a drag-and-drop object from a popup menu item
US6308188B1 (en) * 1997-06-19 2001-10-23 International Business Machines Corporation System and method for building a web site with automated workflow
WO1999008429A1 (en) * 1997-08-06 1999-02-18 Tachyon, Inc. A distributed system and method for prefetching objects
US6470386B1 (en) * 1997-09-26 2002-10-22 Worldcom, Inc. Integrated proxy interface for web based telecommunications management tools
US6772139B1 (en) 1998-10-05 2004-08-03 Smith, Iii Julius O. Method and apparatus for facilitating use of hypertext links on the world wide web
US7343351B1 (en) 1999-08-31 2008-03-11 American Express Travel Related Services Company, Inc. Methods and apparatus for conducting electronic transactions
US6772393B1 (en) * 2000-01-04 2004-08-03 International Business Machines Corporation System and method for room decoration and inheritance
US7240296B1 (en) 2000-02-11 2007-07-03 Microsoft Corporation Unified navigation shell user interface
JP2001256012A (ja) * 2000-03-13 2001-09-21 Nec Corp 印刷システム及び印刷方法
AUPQ808700A0 (en) 2000-06-09 2000-07-06 Honeywell Limited Human-machine interface
US20020073089A1 (en) * 2000-09-29 2002-06-13 Andrew Schwartz Method and system for creating and managing relational data over the internet
US6744447B2 (en) 2000-12-29 2004-06-01 International Business Machines Corporation Method and system for compiling and using placebot agents for automatically accessing, processing, and managing the data in a place
US7290008B2 (en) * 2002-03-05 2007-10-30 Exigen Group Method to extend a uniform resource identifier to encode resource identifiers
RU2290690C1 (ru) * 2005-04-06 2006-12-27 Закрытое акционерное общество "МедиаЛингва" Способ поиска и разметки данных информации
US20080243529A1 (en) 2007-03-27 2008-10-02 Ilja Fischer Enriched object-based navigation
CN101216846B (zh) * 2008-01-04 2010-06-02 清华大学 一种仿真数据的可视化与协同共享方法
US20100199185A1 (en) 2009-02-04 2010-08-05 Microsoft Corporation Common navigation mechanism for desktop and browser-based applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198307A1 (en) * 2001-04-30 2005-09-08 Microsoft Corporation Method and apparatus for terminal server addressability via URL specification
JP2003242002A (ja) * 2002-02-20 2003-08-29 Fujitsu Ltd プロファイル結合装置及び方法
US20040249801A1 (en) * 2003-04-04 2004-12-09 Yahoo! Universal search interface systems and methods
US20050246717A1 (en) * 2004-04-29 2005-11-03 Sybase, Inc. Database System with Methodology for Providing Stored Procedures as Web Services
US20060015843A1 (en) * 2004-07-13 2006-01-19 Marwan Sabbouh Semantic system for integrating software components
US20070174291A1 (en) * 2006-01-24 2007-07-26 Microsoft Corporation Dynamic optimization of available display space

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
CSND200000119009; Rick Dobson: 'You Can Hit the Web Running with Microsoft Access 97' MICROSOFT Interactive DEVELOPER 1998January No.5 , 19980116, p.92-104, 株式会社アスキー *
CSND200701387014; 星野努: '目からウロコのAccess開発 第3回 使いやすく効率的なフォームデザイン法' DB Magazine 第17巻,第9号, 20080101, p.150-157, 株式会社翔泳社 *
CSND200800647013; 星野努: '目からウロコのAccess開発 第11回 Accessコントロールを使いこなす(7)' DB Magazine 第18巻,第5号, 20080901, p.148-154, 株式会社翔泳社 *
JPN6013012081; 星野努: '目からウロコのAccess開発 第11回 Accessコントロールを使いこなす(7)' DB Magazine 第18巻,第5号, 20080901, p.148-154, 株式会社翔泳社 *
JPN6013012082; 星野努: '目からウロコのAccess開発 第3回 使いやすく効率的なフォームデザイン法' DB Magazine 第17巻,第9号, 20080101, p.150-157, 株式会社翔泳社 *
JPN6013012084; Rick Dobson: 'You Can Hit the Web Running with Microsoft Access 97' MICROSOFT Interactive DEVELOPER 1998January No.5 , 19980116, p.92-104, 株式会社アスキー *

Also Published As

Publication number Publication date
MX2011011746A (es) 2011-11-29
RU2544774C2 (ru) 2015-03-20
WO2010135121A2 (en) 2010-11-25
RU2011147049A (ru) 2013-05-27
EP2433224A2 (en) 2012-03-28
MY158947A (en) 2016-11-30
WO2010135121A3 (en) 2011-02-03
JP5255156B2 (ja) 2013-08-07
AU2010249975A1 (en) 2011-10-27
IL215752A (en) 2017-02-28
CA2758385C (en) 2016-12-13
CN102428460B (zh) 2014-07-09
BRPI1011380B1 (pt) 2021-01-05
KR101629054B1 (ko) 2016-06-09
ZA201107188B (en) 2012-12-27
KR20120026059A (ko) 2012-03-16
US20100299347A1 (en) 2010-11-25
CL2011002889A1 (es) 2012-05-11
AU2010249975B2 (en) 2014-06-05
US8312048B2 (en) 2012-11-13
EP2433224A4 (en) 2016-04-06
BRPI1011380A2 (pt) 2016-03-15
SG175049A1 (en) 2011-11-28
IL215752A0 (en) 2012-01-31
CA2758385A1 (en) 2010-11-25
CN102428460A (zh) 2012-04-25

Similar Documents

Publication Publication Date Title
US10546035B2 (en) System and method for data-driven web page navigation control
JP5255156B2 (ja) データベース・アプリケーションのナビゲーション
US8281283B2 (en) Model-based integration of business logic implemented in enterprise javabeans into a UI framework
JP5099982B2 (ja) 完全な柔軟性を有する自動化に基づくユーザインターフェースを生成する方法および装置
US9798738B2 (en) Custom compound types in declarative programs
JP2004227591A (ja) アプリケーションによって提供される機能に直接アクセスするためのシステムおよび方法
US7188112B1 (en) Method, system, and apparatus for exposing server properties to a client application
US9454535B2 (en) Topical mapping
US20090241128A1 (en) Controlling Navigation of Application Logic Using Annotated Application Code
US7434200B2 (en) Using incremental generation to develop software applications
Hadley et al. Exploring hypermedia support in Jersey
Le Comparison of State Management Solutions between Context API and Redux Hook in ReactJS
Soeda et al. Embedded control software design with aspect patterns
Fenton et al. Using JavaScript Libraries
Scott Turing machine simulation used in a breadth first computer science course
Carneiro Jr et al. Designing Your APIs
JP5539170B2 (ja) Riaアプリケーション実行方法及びriaコンポーネント多重バージョンサポート方法
Wellman Learning the Yahoo! User Interface library: Develop your next generation web applications with the YUI JavaScript development library.
Lee et al. Expert Section: Error Handling
Sugrue et al. The Backbone Ecosystem
Rohm Studienarbeit Nr. 2309

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130207

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130207

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20130207

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20130305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130319

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130418

R150 Certificate of patent or registration of utility model

Ref document number: 5255156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160426

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250