JP2016224923A - ユーザフォームインタフェースの自動生成の方法およびシステム - Google Patents

ユーザフォームインタフェースの自動生成の方法およびシステム Download PDF

Info

Publication number
JP2016224923A
JP2016224923A JP2016090093A JP2016090093A JP2016224923A JP 2016224923 A JP2016224923 A JP 2016224923A JP 2016090093 A JP2016090093 A JP 2016090093A JP 2016090093 A JP2016090093 A JP 2016090093A JP 2016224923 A JP2016224923 A JP 2016224923A
Authority
JP
Japan
Prior art keywords
user
client device
interface
form interface
criteria
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
JP2016090093A
Other languages
English (en)
Inventor
オデイ ハリコヴィッチ デルー
Halikovich Derut Odey
オデイ ハリコヴィッチ デルー
セルゲイ ゲオルギエヴィッチ ヌラリエフ
Georgievich Nuraliev Sergey
セルゲイ ゲオルギエヴィッチ ヌラリエフ
ヴィタリー アレクサンドロヴィッチ フィリッポフ
Aleksandrovich Filippov Vitaly
ヴィタリー アレクサンドロヴィッチ フィリッポフ
ドミトリー レヴォーヴォッチ ザレツキー
Lvovich Zaretskiy Dmtriy
ドミトリー レヴォーヴォッチ ザレツキー
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.)
'1c' LLC
Original Assignee
'1c' LLC
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 '1c' LLC filed Critical '1c' LLC
Publication of JP2016224923A publication Critical patent/JP2016224923A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/1407General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • 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/23Updating
    • 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/26Visual data mining; Browsing structured data
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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
    • 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
    • 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/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • G09G5/005Adapting incoming signals to the display format of the display terminal

Abstract

【課題】スクリーンフォームを動的に変更する形式でユーザインタフェースの自動生成を実行する。【解決手段】ユーザインタフェースに関するオブジェクトメタデータにアクセスし、メタデータに基づいてユーザインタフェース用の論理記述をロードし、メタデータに関する機能的オプションを検索し、機能的オプションに基づいてユーザインタフェース用の少なくとも1つの追加変更のための要件を決定し、ユーザフォームインタフェースのユーザにとって利用可能なアクセス権を検索し、既定の基準に基づいてフォーム要素を編成するためにフォームエンジンを用い、論理記述、機能的オプション、ユーザにとって利用可能なアクセス権、およびユーザ設定に基づいて視覚的記載データを自動的に生成し、クライアント装置の表示設定に基づいてユーザフォームインタフェースをカスタマイズするクライアント装置に対して視覚的記載データを提供する。【選択図】図1

Description

関連出願に対する相互参照
この出願は、一部継続出願であり、2015年4月29日に出願されたロシア国特許出願第2015116133号に対する優先権の権利を主張し、参照によって全体として本明細書に援用される。
本開示は、概してアプリケーション用のユーザインタフェースを生成するためのシステムおよび方法に関し、特に、スクリーンフォームを動的に変更する形式でユーザインタフェースの自動生成を実行するシステムおよび方法に関する。
パーソナルコンピュータ、ならびにスマートフォン、携帯情報端末、タブレット、および同種のものなどの他のコンピューティング装置は、ユーザが装置上に提供されるアプリケーションまたはサービスと通信し対話するためのユーザインタフェースを必要とする。しかしながら、これらのインタフェースの作成および設計は、多くの場合、相当時間がかかり且つ重労働になる可能性がある。ディベロッパのユーザインタフェースの生成を容易にする、既存のいくつかのコンピュータプログラムがある。例えば、様々なタイプのプラットフォーム上で対象のスクリーンオブジェクトを視覚化する多くの技術のための、フォーム状のユーザインタフェースを生成する1つのシステムおよび方法が知られており、ディベロッパは、アプリケーションの開発モデルおよび選択されたタイプに基づいて、後にユーザインタフェースを形成する必要とされるデータオブジェクトの論理フォームを、論理的および物理的なコントロール要素のグループとともに、予め作成することができる。しかしながら、あらゆる新たなフォームをディベロッパが手作業で作成しなければならないので、この解決手段は、まさに重労働である。したがって、フォームを自動的に生成することができる改良型のユーザインタフェースをディベロッパが作成することを可能にするシステムおよび方法が必要である。
開示されるシステムおよび方法は、標準的機能を有するユーザインタフェースの品質および人間工学的な設計を失わずに、ユーザがこれらのインタフェースをフレキシブルで且つ迅速に作成することを提供する。
有利的には、開示されたシステムおよび方法は、その結果人間工学的な要件に合わせたユーザインタフェース要素の位置調整および表示を保証する、フォームの自動生成によって実現されるアプリケーションプログラムソリューションの微調整によって向上された柔軟性および開発速度を提供する。
1つの態様によれば、アプリケーション用のユーザインタフェースを動的に生成するための方法を開示する。方法は、要求されたユーザフォームインタフェースに関するオブジェクトメタデータにアクセスするステップと、アクセスされたオブジェクトメタデータに基づいて、ユーザフォームインタフェースのための論理記述であって少なくともユーザフォームインタフェースのためのフォーム要素およびコマンドの宣言を含む論理記述をデータベースからロードするステップと、アクセスされたオブジェクトメタデータに関する機能的オプションをデータベースから検索し、機能的オプションに基づいてユーザフォームインタフェースに対する少なくとも1つの追加変更のための要件を決定するステップと、ユーザフォームインタフェースのユーザにとって利用可能なアクセス権を検索するステップと、既定の基準に基づいてフォーム要素を編成するように構成されたフォーマッティングルールを含むフォームエンジンをアクティブ化するステップと、論理記述、機能的オプション、ユーザにとって利用可能なアクセス権、およびユーザ設定に基づいて、ユーザフォームインタフェース用の視覚的記載データであってデバイス固有ではない視覚的記載データをフォームエンジンによって自動的に生成するステップと、クライアント装置の表示設定に基づいてユーザフォームインタフェースをカスタマイズするクライアント装置に対して、視覚的記載データを提供するステップとを含む。
別の態様によれば、既定の基準は、論理的基準(logical criteria)、人間工学的基準(ergonomic criteria)、審美的基準(aesthetic criteria)、およびビジネス上の基準(business criteria)のセットを含む。
別の態様によれば、クライアント装置の表示設定は、クライアント装置のスクリーンのサイズ、クライアント装置のスクリーンの指定解像度、クライアント装置のスクリーンの指定されたフォント、クライアント装置のオペレーティングシステム、およびクライアント装置のブラウザのうちの少なくとも1つを含む。
別の態様によれば、方法は、ユーザがフォーム要素の少なくとも1つに間違ってデータを入力している場合、フォーム要素に隣接するウィンドウ内のユーザフォームインタフェースの特定要素に関する情報メッセージをクライアント装置上に表示するステップを含む。
別の態様によれば、ユーザフォームインタフェース用の論理記述は、フォーム要素のサイズおよび順番のうちの1つ以上に関する情報をさらに含む。
別の態様によれば、論理記述は、少なくとも1つのフォーム要素またはフォーム要素のグループと、複数の関連するフォームに適用する1つ以上のグローバルコマンドとをさらに含む。
別の態様によれば、論理記述は、検索されたフォームデータをもつ新たなフォームユーザインタフェースを開くように構成された1つ以上のコマンドをさらに含む。
別の態様によれば、アプリケーションフォームを動的に生成するためのサーバシステムを開示する。この態様によれば、サーバシステムは、少なくとも1つのユーザフォームインタフェース用の論理記述であって、少なくともユーザフォームインタフェース用のフォーム要素およびコマンドの宣言を含む論理記述を格納するように構成されたデータベースと、ネットワークインタフェースであって、要求されたユーザフォームインタフェースに関するオブジェクトメタデータにアクセスし、アクセスされたオブジェクトメタデータに基づいて、ユーザフォームインタフェースのための少なくとも1つの論理記述であって少なくともユーザフォームインタフェースのためのフォーム要素およびコマンドの宣言を含む論理記述をデータベースからロードし、アクセスされたオブジェクトメタデータに関する機能的オプションをデータベースからロードし、機能的オプションに基づいてユーザフォームインタフェースに対する少なくとも1つの追加変更のための要件を決定し、ユーザフォームインタフェースのユーザにとって利用可能なアクセス権を検索するように構成されたネットワークインタフェースと、既定の基準に基づいてフォーム要素を編成し、論理記述、機能的オプション、ユーザにとって利用可能なアクセス権、およびユーザ設定に基づいてユーザフォームインタフェース用の視覚的記載データであってデバイス固有ではない視覚的記載データを自動的に生成するように構成されたフォームエンジンフォーマッティングルールとを含み、ネットワークインタフェースは、クライアント装置の表示設定に基づいてユーザフォームインタフェースをカスタマイズするクライアント装置に対して視覚的記載データを提供するように構成される。
別の態様によれば、非一時的なコンピュータ読み取り可能な記憶媒体に格納されたコンピュータプログラムプロダクトであって、アプリケーションフォームを動的に生成するためのコンピュータ実行可能命令を備え、コンピュータプログラムプロダクトは、要求されたユーザフォームインタフェースに関するオブジェクトメタデータにアクセスするための命令と、アクセスされたオブジェクトメタデータに基づいてユーザフォームインタフェースのための論理記述であって、少なくともユーザフォームインタフェースのためのフォーム要素およびコマンドの宣言を含む論理記述をデータベースからロードするための命令と、アクセスされたオブジェクトメタデータに関する機能的オプションをデータベースから検索し、機能的オプションに基づいてユーザフォームインタフェースに対する少なくとも1つの追加変更のための要件を決定するための命令と、ユーザフォームインタフェースのユーザにとって利用可能なアクセス権を検索するための命令と、既定の基準に基づいてフォーム要素を編成するように構成されたフォーマッティングルールを含むフォームエンジンをアクティブ化するための命令と、論理記述、機能的オプション、ユーザにとって利用可能なアクセス権、およびユーザ設定に基づいて、ユーザフォームインタフェース用の視覚的記載データであってデバイス固有ではない視覚的記載データをフォームエンジンによって自動的に生成するための命令と、クライアント装置の表示設定に基づいてユーザフォームインタフェースをカスタマイズするクライアント装置に対して視覚的記載データを提供するための命令とを含む。
ユーザが構成オブジェクトの各々についてすべてのフォームを開発する(すなわち、設計し、要素のツリーを描画し、それらの動作をプログラミングする)必要がないので、開示されるシステムおよび方法は、従来のユーザインタフェース生成方法ほど多くの時間と労力を要しない。したがって、開発のプロセスまたは適用されるソリューション(applied solution)の微調整の速度を、実質的に速める。
さらに、開示されるシステムおよび方法は、同一のメタデータオブジェクトに対して自動化された方式で2つ以上のフォームを作成することができるように、技術的なリソースのツールキットを拡張する。このオブジェクトの下位のフォームのいずれかを、メインのものとして指定することができる。
例示的な態様の上記の単純化された概要は、開示されるシステムおよび方法の基本理解を提供するように機能する。この概要は、想定された態様のすべての広範囲な概要でなく、すべての態様の重要な要素や致命的な要素を識別しないし、本開示の態様のいくつかの範囲またはすべての範囲を描写しないように意図される。その唯一の目的は、後続する本開示のさらに詳細な説明に対する前置きとしての簡易的フォームにおける1つ以上の態様を提示することである。前述の目的の達成のために、本開示の1つ以上の態様は、特許請求の範囲に記載され且つ特に指摘された特徴を含む。
この明細書に組み込まれて、この明細書の一部を構成する添付の図面は、本開示の1つ以上の例示的な態様を図示し、詳細な説明とともに、それらの原理および具体化について説明するように機能する。
好ましい態様による、ユーザインタフェースを自動的に生成する方法のためのフローチャートを図示する。 好ましい態様による、ユーザインタフェースを自動的に生成するシステムのためのブロック図を図示する。 好ましい態様による、ユーザインタフェースを自動的に生成するシステムのためのブロック図を図示する。 好ましい態様による、ユーザインタフェースの自動化された生成のためのシステムおよび方法を配備することができる例示的な汎用コンピュータシステムを図示する図である。 好ましい態様による、プログラミング設計の間に実行されるソフトウェアアプリケーションのスクリーンショットを図示する。 好ましい態様による、XML形式記述の好ましい論理構造を図示する。 好ましい態様による、実行時(実行モード)に起動されたソフトウェアプロダクトスクリーンショットを図示する。 好ましい態様による、実行時(実行モード)に起動されたソフトウェアプロダクトスクリーンショットを図示する。 好ましい態様による、設計時(設計モード)に動作するソフトウェアアプリケーションのスクリーンショットを図示する。 好ましい態様による、ユーザ設定の構成を備えるソフトウェアアプリケーションのスクリーンショットを図示する。
例示的な態様は、スクリーンフォームを動的に変更する形式でユーザインタフェースを自動的に生成するためのシステム、方法、およびコンピュータプログラムプロダクトとのコンテキストにおいて本明細書に記載される。当業者は、ユーザインタフェースの自動的な生成のためのシステムおよび方法の例示的な態様についての以下の記載が、単に例示的なものであり、いかなる限定も意図していない、ということを理解するだろう。他の態様は、この開示の利点を有する当業者に対して、それ自体を容易に提案するだろう。添付の図面に示されるような例示的な態様の具体化が、ここで詳細に言及されることになる。同一の参照符号は、可能な限り、同一の項目を参照するために図面および以下の記述の全体を通じて用いられることになる。
具体的には、ユーザインタフェースの自動化された生成のためのシステムおよび方法は、会計業務、電子文書化、企業資源の管理、および同種のものの自動化のためのアプリケーションソリューションを提供するハードウェアおよびソフトウェアプラットフォームを含む。ハードウェアおよびソフトウェアプラットフォームは、例えば、PC互換デバイス装置を含む周辺I/O装置をもつ汎用コンピュータ、または汎用オペレーティングシステムがインストールされるローカルエリアネットワークに組み合わされて、開示される方法を実施する専門ソフトウェアを有するいくつかのコンピュータを構成する。好ましい態様によれば、専門ソフトウェアは、その環境においてユーザアプリケーションを実行することができるソフトウェアである。エンドユーザまたはエンドユーザのグループが処理する完全な機能も、また、以下で「ユーザアプリケーション」と呼ぶものとする。開示されるシステムおよび方法は、自動化された開発および/またはユーザアプリケーションのカスタマイズを容易にし且つ促進するソフトウェアプラットフォームに関する。
開示されるシステムおよび方法は、例えばディレクトリ、ドキュメント、情報レコード、勘定科目表(charts of accounts)、および同種のものを含むメタデータオブジェクトからのビルダーの方式でカスタマイズ可能なユーザアプリケーションをアセンブルする能力をユーザアプリケーションのディベロッパに提供する。メタデータオブジェクトのこれらのクラスが設計者用のプラットフォーム内に備えられる/記載される、ということを評価するべきである。好ましい態様によれば、図7に示されるように、例えば、メタデータオブジェクトは、それぞれ「カタログ」、「ドキュメント」「情報レジスタ」、「勘定科目表」として特徴づけることができる。1つの態様によれば、メタデータオブジェクトの各々は、他のメタデータオブジェクトとともに機能し対話するアルゴリズムをそれ自身含む。
1つの好ましい態様において、ユーザアプリケーションのユーザインタフェースは、主として、複数のフォームを備えることになる。ユーザアプリケーションのエンドユーザは、主として、これらのフォームを処理することになる。フォームは、データベース内に含まれる情報の表示および編集のために用いられる。好ましい態様によれば、特定のフォームは、オブジェクトに基づいてアクセスされる。例えば、ディベロッパは、オブジェクト(例えば図4に示すディレクトリ「カタログ車両」)またはドキュメントを第1に作成することになり、その後、フォームを作成するためにオブジェクトが用いられる。さらに特に、(詳細は以下で論じられる)図4に示すように、「構成」ツリーは、「カタログ」、「車両」およびその後「フォーム」を備える。したがって、図示するように、フォーム「FormAuto2」425は、ディレクトリ「車両」420の子である。
1つの態様によれば、他のメタデータオブジェクトのようなフォームは、ある情報構造としてデータベース内に保存されてもよい。物理的には、メタデータオブジェクトは、エンドユーザ(ユーザデータ)によって、アセンブルされて、主題領域に関する情報とともに、同一のデータベース内にまたは個別のデータベース内に格納されてもよい。1つの態様によれば、エンドユーザは、メタデータを編集しないので、そのため、構成のディベロッパまたはシステム管理者のタスクである構成の機能を変更する能力を有しない。
詳細には以下で論じられる論理記述に基づいて、開示されるシステムおよび方法は、エンドユーザに対する表示のためのフォームの外観を作成する。このプロセスにおいて、システムは、エンドユーザのための最大限の利便性でフォームの要素を配置するために、表示されているデータの(タイプなどの)様々なプロパティを考慮に入れる。コマンドインタフェースの要素だけでなく要素のツリーを備える要素の特定の位置調整は、フォームを表示する(描く)ときに、システムによって自動的に実行される。
好ましい態様によれば、フォームの論理記述は、例えば、以下のものを含むがこれらに限定はされない、いくつかのコンポーネントのグループを含むことができる。
・要素または要素のツリー:フォームの視覚的表現を決定するように構成され、エンドユーザとの対話を提供するオブジェクトのグループ、
・詳細(属性):データタイプおよびデータソースを含む、そのオペレーション内のフォームが用いるデータを記述するオブジェクト、
・コマンド/アクションチーム:各々の特定のフォームのための所定のアクション、
・コマンドインタフェース:特定のフォームまたはリンクされる全体のオブジェクトのいずれかに用いる(実行する)ことができるフォーム(例えば、対話型のボタン若しくはメニュー、またはその他同種のもの)に表示される1セットのコマンド、
・オプション:1つの態様において、メモリ内にそれをロードするときに、オブジェクトの値がフォームの特定のコピーの動作を条件付けるオブジェクトであり、パラメータは、フォームコピーの「寿命」の間に不変のままであり、1つのフォームから別のフォームに対する事前送信値に用いることができる、
・モジュール:要素、イベントの処理、フォームで編集されるデータの読み取りおよび書き込み、フォームのデータの対応するデータベースレコードへの変換(逆の場合も同じ)を処理するための役割を担う組込みの言語におけるプログラム。
好ましい態様によれば、フォームの機能は、要素のツリー、詳細(フォームが処理するデータ)、および実行されるアクション(コマンド)によって、決定される。したがって、特別のフォームがユーザインタフェースを生成するためにディベロッパによってアクセスされるときに、そのフォームに関連した要素、要件、およびアクションの対応するツリーは、システムによってアクセスされる。
フォームは、構成の特別のメタデータオブジェクトに属することができる、または、いずれかの特定のメタデータには関連づけることができない。上記のように、図4に関して、好ましい状況を提供することができ、ここで、メタデータを用いて最初にオブジェクトを作成することができ、その後、オブジェクト(例えば、ディレクトリ「車両」420の子である「FormAuto2」425)に基づいてフォームを作成することができる。しかしながら、フォームがいかなるオブジェクトにも属さずに独立する場合の状況がある、ということもまた評価するべきである。例えば、フォームは、図7に示されるように、例えば、ユーザデータのパスワードを設計者が変更することを容易にする、「ChangePassword」710などの「共通フォーム」を追加することができる。
好ましい態様によれば、組み込まれた既定の規則を用いるシステムは、ディレクトリ、ドキュメント、情報レコードなどのメタデータオブジェクトのためのフォームを自動的に作成することになる。有利的には、ディベロッパは、新たなメタデータオブジェクトが追加される度に要素のツリーとともに新たなフォームを設計および「描画」する必要がない。
フォームを自動的に作成することに加えて、フォームエディタを用いるユーザアプリケーションのディベロッパは、フォームを作成/編集し、その要件、コマンドおよび表示することができる要素の構造を規定することができ、また、各種設定によって要素の配置を決定し、要素のシーケンスを決定し、所望の幅および高さを指定することができ、それによって、エンドユーザの作業のためにさらに便利な順序でフォームの要素を構成し、配置し、表示する。
エンドユーザのためにスクリーン上に表示されるフォームの外観を指定するために、記述は、入力フィールド、フラグ、スイッチ、ボタン、ボーダパネル、ページ(ブックマーク)パネル、ページそれ自体、コマンドパネル、さらに要素(カラム)を含むテーブル、その他、などのフォームの要素を含むツリーの形式で用いられる。上記のように、図4は、フォーム要素430のツリーの好ましいスクリーンショットを図示する。さらに、図5は、同一のツリーフォーム要素を図示するが、XMLstructuresの形式で図示される。好ましいツリーが図4および図5に示す好ましい要素および/またはスクリーン上の要素の場所の特定の位置調整によって限定されない、ということを評価するべきである。むしろ、これらの好ましい態様は、要素のシーケンスおよびグループを図示するのみである。
前述のように、フォーム要件は、フォームを必要データにリンクするために用いられる。特に、要件は、フォームによって表示されるデータのリストを示す。要件は、コマンドリスト内で編集される。ディベロッパは、フォームの詳細を追加または除去する能力を有する。
以上にさらに記述したように、フォーム内のアクションは、すべて、どのように1つのアクションまたは別のアクションを実行するべきであるかの記述として機能するコマンドによって実行される。フォームのコマンドは、コマンドリスト内で編集される。ディベロッパは、データベース内に格納された1セットのプロパティの支援によってそれらのプロパティを割り当てるだけでなく、フォームのコマンドを追加し除去する能力を有する。1つの態様によれば、各コマンドに関して、ディベロッパは、このコマンドがユーザによって呼び出される場合に実行される手続きを指定することができる。コマンドがその機能を実行し始めるためには、フォームの必要な要素(すなわち、それに関するイベント)にリンクされなければならない。
1つの態様によれば、開発される構成のフォームに関して、ディベロッパは、全体構成のコマンドインタフェースにおいて用いられるグローバルコマンドだけでなく、フォームそれ自体(すなわちローカルコマンド)の両方のコマンドを用いることができる。この態様において、現在のフォームのデータに基づくあるパラメータがコマンドと一緒に送られる(例えば、これは、支出インボイスフォーム(expenditure invoice form)内で現在選択されている倉庫内の手元のストックをレポートするという呼び出し(call)であり得る)ときに、グローバルコマンドは、(別のディレクトリまたはドキュメントを開くコマンドなどのように)簡素であり、パラメータ化することができる。
1つの態様において、所定のタイプのオブジェクト用に生成されるフォームは、すべて同一の動作をしてもよい。したがって、「ディレクトリ」タイプの任意のオブジェクトに関しては、その要素、その個別要素、ディレクトリグループのリストの表示を必要とし、ディレクトリから要素および要素のグループを選択することができる。このような標準的アクションの実行を可能にするために、対応する動作を実行する場合に用いられることになるオブジェクトのタイプの各々に対して1セットの従属するフォームを生成することになる。
例えば、オブジェクト「契約者ディレクトリ」に関しては、個々の選択された契約者の要件カードのいくつかまたはすべてのフィールド(例えば名称、住所、電話、納税者ID、管理者の姓名、および同種のもの)の編集のための第1のフォームと、契約者の全リストが出力される第2のフォームとが生成される。この第2のフォームを活用して、ユーザは、全グループの契約者を、リストを通じて閲覧したり分類したり、除去したりすることなどができる。
1つの実例において、新たなオブジェクトおよびそのフォームをユーザアプリケーションに追加することが必要になる場合で、且つ(異なる設計または特定の外観によるものなど)所定のオブジェクトのためのその他のフォームを作成することが必要でない場合、ディベロッパは、ユーザアプリケーションの新たなオブジェクトを単純に追加することができ、システムは、フォームのオブジェクトセットのために最低限必要なものを生成するためにシステム内に組み込まれた規則を自動的に用いることになる。
したがって、新たなオブジェクトを追加するときに、または特別のデータオブジェクトを開くときに、システムは、オブジェクトに関連するすべてのデータとともに表示され編集されることになる、以前に開発されたフォームの論理記述のオブジェクトとともに自動的にロードされる。このような記述がある場合、システムは、論理記述をロードし、それに基づいたフォームのさらなる生成がある。
対照的に、このような記述がロードされていない場合、システムは、ロードされたオブジェクトのタイプを判定することができる、すなわち、構成のどのタイプのメタデータオブジェクト(例えば、ディレクトリ、ドキュメント、情報レコード、勘定科目表、および同種のもの)に関連するかを判定する。オブジェクトのタイプを決定した後に、システムは、構成のすべての既知のタイプのメタデータオブジェクトの基本的な論理記述を含む規則のセットから所定のオブジェクトに適用される規則を選択し、論理記述を生成する。
好ましい態様によれば、エンドユーザが自身のスクリーン上のフォームを見る前に、システムは、以下のオペレーション、すなわち、フォームの生成、フォームの変換、フォームの出力(すなわち描画)を実行することになる。したがって、オブジェクトのフォームの論理記述が得られた後(ディベロッパによって自動的に生成されようが、または予め保存されようが)、システムは、それを変換し始める。変換は、機能的オプション、アクセス権、およびユーザ設定の利用に基づいてユーザインタフェースを変更するステップを含む。機能的オプションに基づくユーザインタフェースの変更は、適用されるソリューションにおいて、機能を選び出すことを可能にし、それは、それを実施するときに、適用されるソリューションそれ自体の変更を伴わずに、オン/オフすることができる。
エンドユーザのアクセス権に応じて、システムは、フォーム内の表示または編集のために、ユーザにどのデータを提示することができないかを正確に判定する。ユーザ設定の支援によって、ユーザは、自身で、表示のために必要なフォーム要素をオン/オフすることができる。したがって、記述、機能的オプション、アクセス権、およびユーザ設定に基づいて、システムは、特定ユーザのためのフォームの視覚的表現を表示(描画)することを提供する。
さらに、システムの支援によって、方法の変形を実施することができる。すなわち、フォームの視覚的表現の表示(描画)およびエンドユーザがそれを処理し始める後に、情報メッセージは、データを入力するときにユーザが誤りをしたそれらのフォーム要素の下に配置されたフォームの特別のウィンドウ内に表示される、フォームの特定要素に関連して出力される。例えば、ユーザがテキストを入力した新たなドキュメントを作成するときに日付フィールドまたは必須フィールドを埋めなかった場合に、システムは、前記の特別のウィンドウにおいて、このことをユーザ自身に伝える。
図1は、例示的な態様による、ユーザインタフェースを自動的に生成する方法100のためのフローチャートを図示する。図示したように、初めに、ユーザがユーザインタフェースを生成する自動化された処理を始める場合、開示されるシステムは、ステップ105において、要求されたユーザインタフェースに関する1つ以上のオブジェクトにアクセスする。具体的には、図4を参照する例によれば、ユーザは、メインメニューにおいて、例えば特定の目的を選択することができ、その使用は「車両」ガイド(すなわち「カタログ車両」)を選択することができる。これは、ユーザがこのディレクトリに関心をもつことを示しており、したがって、システムは、このディレクトリからの情報から、適切なフォームを示すことができる。
次に、ステップ110において、方法は、オブジェクトのフォーム論理記述が、ディベロッパによって規定されて保存されるか否かを判定する。YESの場合、方法100は、論理記述の存在がロードしたオブジェクトのためのフォーム用に決定されるステップ115に進む。その代わりに、オブジェクトのフォーム論理記述がディベロッパによって事前に定義されない場合、方法は、フォーム論理記述が規定されるステップ120に進む。再び、一旦規定されると、方法は、論理記述の存在がロードしたオブジェクトのためのフォーム用に決定されるステップ115に進む。開示される方法を実行するために、システムは、図2(a)および図2(b)に関してここで記述されることになる。
特に、図2(a)および図2(b)は、例示的な態様による、ユーザインタフェースを自動的に生成するシステム200のためのブロック図を図示する。図3に関して以下に記載されるコンピュータシステムなどのコンピュータシステムを用いて、システム200を実施することができる、ということは評価されるべきである。図3に示すように、以下に記載される様々なデータを、システムメモリ22上に格納することができる、ということは評価されるべきである。さらに、図2(a)および図2(b)に関して以下に論じられるモジュール(すなわちジェネレータおよびエグゼキュータ)は、当業者に理解されるように、ソフトウェア/ハードウェアモジュールとして実施することができる。本明細書において用いられるように、用語「モジュール」は、(実行されている間に)マイクロプロセッサシステムを専用装置に変換する、例えば特定用途向け集積回路(ASIC)若しくはフィールドプログラマブルゲートアレイ(FPGA)またはマイクロプロセッサシステムやモジュールの機能を実施する1セットの命令などのハードウェアおよびソフトウェアの組み合わせなどによる、ハードウェアを用いて実施される実在の装置、コンポーネント、またはコンポーネントの設備を指す。モジュールは、また、ハードウェア単独によって容易にされたある機能、およびハードウェアおよびソフトウェアの組み合わせによって容易にされた他の機能との、2つの組み合わせとして実施することができる。一部の実施態様において、モジュールの少なくとも一部分、およびいくつかのケースにおいて、モジュールのすべては、汎用コンピュータのプロセッサ上で実行することができる。したがって、各モジュールは、様々な適切な構成において実現することができ、本明細書に例示される、いかなる例示的な実施態様にも限定されるべきでない。
ここで図2(a)および図2(b)を参照すると、好ましい態様は、開示されるシステムのモジュールおよびデータベースとの対話を図示する。特に、図2(a)に示すシステムは、対応するオブジェクト用の事前に配置され格納された論理記述フォームの欠如を暗に示す。さらに、図2(b)のシステム200は、対応するオブジェクトのフォームの(開発段階において)予め準備されて格納された論理記述の存在を暗に示す。この点に関して、(以上に記述された)図4は、形状の記述がない「カスタマ」ディレクトリ410のために提供されたものである簡素なテストアプリケーションの開発の例を図示する。対照的に、「車両」ディレクトリ420は、予め開発されており、フォーム「FormAuto2」425の論理記述を維持する。しかしながら、実行の間に、フォームは、例えば、図6(a)に示すように、ユーザのために自動的に生成されることになる。
図2(a)に戻って参照すると、ユーザは、「カスタマ」ディレクトリ410に基づいて特別のオブジェクトをアクセスすることができる。この実例において、システムは、このオブジェクトのために事前に格納された論理記述フォームが存在するか存在しないかをチェックして確認することができる。図示するように、フォームLogDescr(すなわち論理記述)ジェネレータ220は、興味のあるオブジェクトのオブジェクトメタデータ211にアクセスし、オブジェクトのタイプおよび他の特性の情報を受信する。受信情報に基づいて、ジェネレータ220は、オブジェクトの記述用の論理フォームを自動的に生成し、フォーム外観ジェネレータ280のフォーム入力に対して論理フォームを提供する。ひいては、ジェネレータ280は、(例えば「ユーザ設定」241を用いた)但しデータを伴わずに、フォーマッティングルールに基づいた未来のフォームの外観、フォーマット、同種のものを生成するように構成される「フォームエンジン」のタイプである。その代わりに、この目的のために、論理記述に加えて、例えば、電子データベース240内に格納される機能的オプション(「FO」)260、アクセス権(「UR」)270、およびユーザ設定241を含む、3つのパラメータが入力される。好ましい態様によれば、ユーザ設定241は、論理的基準、人間工学的基準、審美的基準、およびビジネス上の基準の既定のセットに基づいてフォーム要素を編成するように構成されたフォーマッティングルールを含むことができる。したがって、エンドユーザは、例えば、フォーム上の異なる要素の外見および位置決めを含む、彼らのプレファレンスおよびその他同種のものにカスタマイズされるこれらのユーザ設定を規定することができる。
図8は、好ましい態様による、ユーザ設定の構成を与えるソフトウェアアプリケーションのスクリーンショットを図示する。好ましい態様によれば、ユーザは、いくつかのフィールドの外観を変更するために(必要に応じて)フィールドを再配置することができるし、必要に応じて、(もし必要とされない場合)未使用のフィールドのいくつかを、目に見えないようにすることができる。
具体的には図示するように、スクリーンショットは、図2(a)および図2(b)対して上で述べたように、ユーザ設定241の準備/変更ためのインタフェースを図示する。1つの態様によれば、ユーザ設定241は、フィールドを交換すること(すなわち、(もし必要とされない場合)未使用のフィールドを目に見えないようにすること)、例えばフィールドの外観および場所を変更すること、絶対項の要素サイズを明示的に指定することに限定してもよい。1つの態様によれば、ユーザは、新たなフィールドを追加することができない。
したがって、ユーザ権利270、機能的オプション(「FO」)260、およびユーザ設定241を考慮して、論理記述は、(フォームメタデータ212内にどのように格納されるのか、ディベロッパと比べて)フォーム外観ジェネレータ280において変更されることになる。その結果、論理記述は、必要に応じて、後者がクライアント側に伝送する準備ができた後の、中景(intermediate view)、すなわち視覚的な記述、に変換されることになる。
クライアント側で、図2(a)および図2(b)に示すように、フォーム外観ジェネレータ280によって生成された記述の結果として生じるフォームは、図形出力トランスフォーマ290の入力に送られることになる。図形出力トランスフォーマ290は、ワークステーション、スマートフォン、またはその他同種のものなどのクライアント装置の特定の特性に対して結果として生じるフォームの形状を最適化するように構成される。
例えば1つの好ましい態様において、ウェブクライアント(すなわちクライアント側)上の図形出力トランスフォーマ290の実施態様は、JavaScript(登録商標)またはActiveXブラウザ環境内でダウンロード可能および実行可能として実施されてもよい。別の例として、installation package.debからC++内に記載されたクライアントアプリケーションの一部としてインストールされる後者を伴うUnixシステムの下のシンクライアントの実施態様が挙げられる。
好ましい態様によれば、図形出力トランスフォーマ290の出力は、そのスクリーンのサイズ、指定された解像度、使用されるスクリーンフォント、オペレーティングシステム、クライアントアプリケーション(ブラウザまたはシンクライアント)などに基づいた特定のクライアント装置上の図面の構成要素を保証するために既に十分に細かい視覚的な記述を提供する。1つの態様によれば、視覚表現に関しては、図形出力トランスフォーマ290出力は、絶対的にはすべての視覚的要素の正確な寸法および座標を既に含んでいてもよい。
さらに、フォームの外観および形状が既に規定されている場合に、興味のあるオブジェクトに関するデータベース240から、入力済みフォームエグゼキュータモジュール295にアクセスされることができ、フォームデータ領域(すなわち「ユーザデータ」)242のデータコンテンツにもアクセスすることができる。その後、フォームデータは、対応するディスプレイ装置上(モニタ、スマートフォンディスプレイなど)に表示されてもよい。
上述のように、図2(b)は、ディベロッパが所望のフォーマットの論理記述を開始することを可能にするシステムを図示する。ここで、システムは、また、フォームLogDescrジェネレータ220も利用する。上述のように、ジェネレータ220は、オブジェクトメタデータ211にアクセスするように構成され、受信した情報に基づいてオブジェクトのタイプおよび他の特性のこの情報を受信する。さらに、ジェネレータ220は、このオブジェクトのためのいくつかの事前のフォームの論理記述を自動的に生成し、ディベロッパに対して、改善されるべき論理記述を提供する。好ましい態様によるとオプションである記述(「Descr」)エディタ230により、ディベロッパは、フォームの論理記述に変更を加えて、改善されたフォームをフォームメタデータ212の一部として格納することが可能になる。
図2(b)に示すようにアプリケーションの第2のステージにおいて、ディベロッパが特別のオブジェクトにアクセスする場合、システムは、事前に格納された論理フォーム記述がオブジェクト用のフォームメタデータ212内にあるということをチェックし確認するように構成される。好ましい態様によれば、事前に格納された論理フォーム記述は、フォーム外観ジェネレータ280に提供される論理記述である。ひいては、ジェネレータ280は、未来のフォームの非装置の特定の外観およびフォーマットを、但し上記のデータを含まずに、生成する。このために、論理記述に加えて、機能的オプション(「FO」)260、ユーザ許可(ユーザのアクセス権「UR」)270、およびユーザ設定/プレファレンス241を含む入力の3つのパラメータとともにフォームが供給される。
さらに、フォームの外観およびフォーマットが最終のデバイス固有アウトラインに既に設定されているときに、入力済みフォームエグゼキュータモジュール290は、アクセスされ、興味のあるオブジェクトに関するフォームデータ領域242のデータコンテンツは、モジュール290によってさらにアクセスされる。
メタデータ212チャートの形式の画像、機能的特色260、ユーザのアクセス権270、およびユーザ設定241が、4つの分離したソース(すなわち記憶場所)として提供され、それらは好ましい態様による異なるデータベース内に物理的に格納されるように示されるが、但し代替的に単一のデータベース内に提供することもできる、ということを認識するべきである。しかしながら、個別のソースとして提供されるこれらのタイプのデータを、異なる時期に異なるユーザによって生成することができる、ということは評価されるべきである。具体的には、フォームメタデータ212は、ディベロッパ構成によって規定することができ、機能的オプション260は、例えば、特定の会社のニーズに典型的な構成を適合させる実装者によって規定することができ、(これらはその時々に修正され得るが)、会社内部のシステム管理者によってアクセス権270を構成することができ、最終的に、ユーザ設定241は、個々の最後のユーザによってそれらのプレファレンスおよびその他同種のものにカスタマイズされる設定とすることができる。
図1に戻って参照すること、ステップ115は、アクセスされたオブジェクトメタデータ(例えば図2のオブジェクトメタデータ211)に基づいてフォーム用の1つ以上の論理記述をデータベースからロードするステップを特別に必要とし、論理記述は、フォーム用のフォーム要素およびコマンドの宣言を含む。一旦論理記述がロードされると、方法は、オブジェクトに対する機能的オプションが読み取られるステップ125に進む。1つの態様によれば、方法は、読み取られた機能的オプション上に基づいてユーザインタフェース内の追加変更のためのニーズを決定することをさらに含む。次に、方法は、ユーザに適用されたアクセス権(ステップ130)およびユーザ設定(ステップ135)を読み取るか、または決定する。
一旦この情報が検索されれば、方法は、機能的オプション、アクセス権、およびユーザ設定によって改善された論理記述に基づいて、ステップ140において最終のデバイス固有ではないフォームの視覚的な記述を生成する。その後、フォームの記述を、サーバ側からクライアント側に送り出すことができる。
クライアント側においては、フォームが特定のクライアント装置のためにカスタマイズされるように、フォームの記述は、ステップ145においてデバイス固有に変換される。上述のように、このカスタマイズは、そのスクリーンのサイズ、指定された解像度、使用されるスクリーンフォント、クライアントアプリケーション(ブラウザまたはシンクライアント)などのオペレーティングシステムを含む設定の表示に基づくことができる。最終的に、ステップ150において、フォーム(すなわち、ユーザインタフェース)には、その後、生成されたフォーム内にそれらを表示するためにデータオブジェクトを埋めることができ、フォーム用の外観形状データを、ユーザに対するスクリーン上での表示のために準備することができる。
図3は、アプリケーション用のユーザインタフェースの自動化された生成のために開示されるシステムおよび方法を実施するために用いることができるコンピュータシステム5の一態様例を表す。コンピュータシステム5は、パーソナルコンピュータ、ノートブック、タブレット型コンピュータ、スマートフォン、ネットワークサーバ、ルーター、または他のタイプの処理装置を含んでもよいが、これらに限定されない。図示するように、コンピュータシステム5は、システムバス10によって接続される、1つ以上のハードウェアプロセッサ15、メモリ20、1つ以上のハードディスクドライブ30、光ドライブ35、シリアルポート40、グラフィックスカード45、音声カード50、およびネットワークカード55を含んでもよい。システムバス10は、様々な既知のバスアーキテクチャのいずれかを用いる、メモリバスまたはメモリコントローラ、周辺バスおよびローカルバスを含む、いくつかのタイプのバス構造のいずれかであってもよい。プロセッサ15は、1つ以上のインテル(登録商標)コア2クアッド2.33GHzプロセッサまたは他のタイプのマイクロプロセッサを含んでもよい。
システムメモリ20は、読み取り専用メモリ(ROM)21およびランダムアクセスメモリ(RAM)23を含んでもよい。DRAM(ダイナミックRAM)、EPROM、EEPROM、フラッシュ、または他のタイプのメモリアーキテクチャ内などにメモリ20を実装してもよい。ROM21は、起動の間などに、コンピュータシステム5のモジュール間の情報を伝送するのを支援する基本ルーチンを含む基本入出力システム22(BIOS)を格納する。RAM23は、Windows(登録商標)7プロフェショナルまたは他のタイプのオペレーティングシステムなどの(プロセスおよび割り当ての管理および協調のための役割を担い、コンピュータシステム5内のハードウェア資源を共有する)オペレーティングシステム24(OS)を格納する。メモリ20は、また、アプリケーションおよびプログラム25を格納する。メモリ20は、また、プログラム25によって用いられる様々なランタイムデータ26を格納する。
コンピュータシステム5は、SATA HDDなどのハードディスクドライブ30と、CD−ROM、DVD−ROM、または他の光学的媒体などの着脱可能な光ディスクから読み取るための若しくはその光ディスクに書き込むための光ディスクドライブ35とをさらに含んでもよい。ドライブ30および35およびそれらの関連するコンピュータ読み取り可能なメディアは、本明細書に開示されるアルゴリズムおよび方法を実装するコンピュータ読み取り可能な命令、データ構造、アプリケーション、およびプログラムモジュール/サブルーチンの不揮発性記憶装置を提供する。好ましいコンピュータシステム5は磁気光ディスクおよび光ディスクを利用するが、コンピュータシステム5によってアクセス可能なデータを格納することができるコンピュータ読み取り可能なメディアの他のタイプのものが当業者によって認識されるべきであり、磁気カセット、フラッシュメモリカード、ディジタルビデオティスク、RAM、ROM、EPROM、および他のタイプのメモリなども、コンピュータシステム5の代替的な態様において用いられてもよい。
コンピュータシステム5は、キーボード、マウス、タッチパッド、およびその他のものなどのデータ入力デバイス75を接続するための、ユニバーサルシリアルバス(USB)などの複数のシリアルポート40をさらに含む。外部データストレージ装置およびその他同種のものなどの他の周辺機器85だけでなく、データ出力装置80(プリンタ、スキャナ、およびその他のものなど)を接続するためにも、シリアルポート40を用いてもよい。システム5は、また、タッチスクリーンディスプレイなどのディスプレイ60または他のビデオ再生装置とのインタフェースを確立するための、nVidia(登録商標)GeForce(登録商標)GT240Mなどのグラフィックスカード45または他のビデオカードを含んでもよい。システム5は、また、内部スピーカ65または外部スピーカ65を介して音を再生するための音声カード50を含んでもよい。さらに、システム5は、インターネットなどのネットワーク70にコンピュータシステム5を接続するための、イーサネット(登録商標)、Wi−Fi、GSM(登録商標)、ブルートゥース(登録商標)、または他の有線、無線若しくはセルラーネットワークインタフェースなどのネットワークカード55を含んでもよい。
様々な態様において、本明細書に記載されるシステムおよび方法は、ハードウェア、ソフトウェア、ファームウェア、またはそのあらゆる組み合わせで実装されてもよい。もしソフトウェア内に実装されれば、方法は、非一時的なコンピュータ読み取り可能媒体上に1つ以上の命令またはコードとして格納されてもよい。コンピュータ読み取り可能媒体は、データストレージを含む。限定ではなく、例として、このようなコンピュータ読み取り可能媒体は、RAM、ROM、EEPROM、CD−ROM、フラッシュメモリ、または他のタイプの電気記憶媒体、磁気記憶媒体、光記憶媒体、または、汎用コンピュータのプロセッサによってアクセスすることができる命令若しくはデータ構造の形式の所望のプログラムコードを所持若しくは格納するために用いることができる他のメディアを備えることができる。
明瞭さのために、態様の決まりきった特徴のすべてが本明細書に開示されるとは限らない。本開示のあらゆる実際の実施態様の発展において、多数の実装固有の決定がディベロッパの特定の目標を実現するために行われなければならず、これらの特定の目標が異なる具体化および異なるディベロッパのために変化するであろうことが理解される。このような開発努力は複雑で時間がかかる可能性があるが、この開示の利益を受ける当業者にとってエンジニアリングの決まりきった作業になるだろうことが理解される。
さらに、本明細書で使用される語法または専門用語は、限定ではなく記述のためのものであり、本明細書の専門用語または語法が、本明細書に提示された教示およびガイダンスに照らして、当業者の知識と組み合わせて、当業者に解釈されるものである、ということを理解されたい。また、明示的に示さない限り、明細書または特許請求の範囲内のあらゆる用語が通常でない特別の意味に帰着することは意図していない。
本明細書に開示した様々な態様は、実例として本明細書において参照する既知のモジュールに対する、現在および未来の均等物を包含する。また、態様および適用を図示し記述したが、この開示の恩恵を受ける当業者には、本明細書に開示の概念から逸脱することなく、上述のものよりもさらに多くの改善が可能である、ということは、明らかであろう。
5 コンピュータシステム
10 システムバス
15 ハードウェアプロセッサ
20 メモリ
21 読み取り専用メモリ(ROM)
22 システムメモリ(基本入出力システム(BIOS))
23 ランダムアクセスメモリ(RAM)
24 オペレーティングシステム(OS)
25 プログラム
26 ランタイムデータ
30 ハードディスクドライブ
35 光ドライブ
40 シリアルポート
45 グラフィックスカード
50 音声カード
55 ネットワークカード
60 ディスプレイ
65 スピーカ
70 ネットワーク
75 データ入力デバイス
80 データ出力装置
85 他の周辺機器
100 方法
200 システム
211 オブジェクトメタデータ
212 フォームメタデータ
220 フォームLogDescrジェネレータ
230(「Descr」) エディタ
240 電子データベース
241 「ユーザ設定」
242 フォームデータ領域(「ユーザデータ」)
260 機能的オプション(「FO」)
270 ユーザのアクセス権(「UR」)
280 フォーム外観ジェネレータ
290 図形出力トランスフォーマ
295 入力済みフォームエグゼキュータモジュール
410 「カスタマ」ディレクトリ
420 ディレクトリ(ディレクトリ「車両」)
425 FormAuto2
430 フォーム要素

Claims (20)

  1. アプリケーション用のユーザフォームインタフェースを動的に生成する方法であって、
    要求されたユーザフォームインタフェースに関するオブジェクトメタデータにアクセスするステップと、
    前記アクセスされたオブジェクトメタデータに基づく前記ユーザフォームインタフェースのための論理記述であって少なくとも前記ユーザフォームインタフェースのためのフォーム要素およびコマンドの宣言を含む前記論理記述をデータベースからロードするステップと、
    前記アクセスされたオブジェクトメタデータに関する機能的オプションを前記データベースから検索し、前記機能的オプションに基づいて前記ユーザフォームインタフェースに対する少なくとも1つの追加変更のための要件を決定するステップと、
    前記ユーザフォームインタフェースのユーザにとって利用可能なアクセス権を検索するステップと、
    既定の基準に基づいて前記フォーム要素を編成するように構成されたフォーマッティングルールを含むフォームエンジンをアクティブ化するステップと、
    前記論理記述、前記機能的オプション、前記ユーザにとって利用可能な前記アクセス権、およびユーザ設定に基づいて、前記ユーザフォームインタフェース用の視覚的記載データであってデバイス固有ではない前記視覚的記載データを前記フォームエンジンによって自動的に生成するステップと、
    クライアント装置の表示設定に基づいて前記ユーザフォームインタフェースをカスタマイズする前記クライアント装置に対して、前記視覚的記載データを提供するステップと
    を備える方法。
  2. 前記既定の基準は、論理的基準、人間工学的基準、審美的基準、およびビジネス上の基準のセットを含む請求項1に記載の方法。
  3. 前記クライアント装置の表示設定は、前記クライアント装置のスクリーンのサイズ、前記クライアント装置の前記スクリーンの指定解像度、前記クライアント装置の前記スクリーンの指定されたフォント、前記クライアント装置のオペレーティングシステム、および前記クライアント装置のブラウザのうちの少なくとも1つを含む請求項1に記載の方法。
  4. 前記ユーザが前記フォーム要素の少なくとも1つに間違ってデータを入力している場合、前記フォーム要素に隣接するウィンドウ内の前記ユーザフォームインタフェースの特定要素に関する情報メッセージを前記クライアント装置上に表示するステップをさらに備える請求項1に記載の方法。
  5. 前記ユーザフォームインタフェース用の前記論理記述は、フォーム要素のサイズおよび順番のうちの1つ以上に関する情報をさらに含む請求項1に記載の方法。
  6. 前記論理記述は、少なくとも1つの前記フォーム要素または前記フォーム要素のグループと、複数の関連するフォームに適用する1つ以上のグローバルコマンドとをさらに含む請求項1に記載の方法。
  7. 前記論理記述は、前記検索されたフォームデータをもつ新たなフォームユーザインタフェースを開くように構成された1つ以上のコマンドをさらに含む請求項1に記載の方法。
  8. アプリケーションフォームを動的に生成するためのサーバシステムであって、
    少なくとも1つのユーザフォームインタフェース用の論理記述であって少なくとも前記ユーザフォームインタフェース用のフォーム要素およびコマンドの宣言を含む前記論理記述を格納するように構成されたデータベースと、
    ネットワークインタフェースであって、
    要求されたユーザフォームインタフェースに関するオブジェクトメタデータにアクセスし、
    前記アクセスされたオブジェクトメタデータに基づいて、前記ユーザフォームインタフェースのための論理記述であって少なくとも前記ユーザフォームインタフェースのためのフォーム要素およびコマンドの宣言を含む少なくとも1つの前記論理記述を前記データベースからロードし、
    前記アクセスされたオブジェクトメタデータに関する機能的オプションを前記データベースからロードし、前記機能的オプションに基づいて前記ユーザフォームインタフェースに対する少なくとも1つの追加変更のための要件を決定し、
    前記ユーザフォームインタフェースのユーザにとって利用可能なアクセス権を検索する
    ように構成された前記ネットワークインタフェースと、
    既定の基準に基づく前記フォーム要素を編成し、前記論理記述、前記機能的オプション、前記ユーザにとって利用可能な前記アクセス権、およびユーザ設定に基づいて、前記ユーザフォームインタフェース用の視覚的記載データであってデバイス固有ではない前記視覚的記載データを自動的に生成するように構成されたフォームエンジンフォーマッティングルールと
    を備え、
    前記ネットワークインタフェースは、クライアント装置の表示設定に基づいて前記ユーザフォームインタフェースをカスタマイズする前記クライアント装置に対して前記視覚的記載データを提供するように構成される、
    サーバシステム。
  9. 前記既定の基準は、論理的基準、人間工学的基準、審美的基準、およびビジネス上の基準のセットを含む請求項8に記載のサーバシステム。
  10. 前記クライアント装置の表示設定は、前記クライアント装置のスクリーンのサイズ、前記クライアント装置の前記スクリーンの指定解像度、前記クライアント装置の前記スクリーンの指定されたフォント、前記クライアント装置のオペレーティングシステム、および前記クライアント装置のブラウザのうちの少なくとも1つを含む請求項10に記載のサーバシステム。
  11. 前記ネットワークインタフェースは、前記ユーザが前記フォーム要素の少なくとも1つに間違ってデータを入力している場合、前記フォーム要素に隣接するウィンドウ内の前記ユーザフォームインタフェースの特定要素に関する情報メッセージを前記クライアント装置上に表示するようにさらに構成される請求項8に記載のサーバシステム。
  12. 前記ユーザフォームインタフェース用の論理記述は、フォーム要素のサイズおよび順番のうちの1つ以上に関する情報をさらに含む請求項8に記載のサーバシステム。
  13. 前記論理記述は、フォーム要素の1つ以上のグループをさらに含む請求項8に記載のサーバシステム。
  14. 前記論理記述は、複数の関連するフォームに適用する1つ以上のグローバルコマンドと、前記検索されたフォームデータをもつ新たなフォームユーザインタフェースを開くように構成された1つ以上のコマンドとの少なくとも1つをさらに含む請求項8に記載のサーバシステム。
  15. 非一時的なコンピュータ読み取り可能記録媒体に格納されたコンピュータプログラムプロダクトであって、アプリケーションフォームを動的に生成するためのコンピュータ実行可能命令を備え、
    要求されたユーザフォームインタフェースに関するオブジェクトメタデータにアクセスするための命令と、
    前記アクセスされたオブジェクトメタデータに基づく前記ユーザフォームインタフェースのための論理記述であって少なくとも前記ユーザフォームインタフェースのためのフォーム要素およびコマンドの宣言を含む前記論理記述をデータベースからロードするための命令と、
    前記アクセスされたオブジェクトメタデータに関する機能的オプションを前記データベースから検索し、前記機能的オプションに基づいて前記ユーザフォームインタフェースに対する少なくとも1つの追加変更のための要件を決定するための命令と、
    前記ユーザフォームインタフェースのユーザにとって利用可能なアクセス権を検索するための命令と、
    既定の基準に基づいて前記フォーム要素を編成するように構成されたフォーマッティングルールを含むフォームエンジンをアクティブ化するための命令と、
    前記論理記述、前記機能的オプション、前記ユーザにとって利用可能な前記アクセス権、およびユーザ設定に基づいて、前記ユーザフォームインタフェース用の視覚的記載データであってデバイス固有ではない前記視覚的記載データを前記フォームエンジンによって自動的に生成するための命令と、
    クライアント装置の表示設定に基づいて前記ユーザフォームインタフェースをカスタマイズする前記クライアント装置に対して前記視覚的記載データを提供するための命令と
    を含むコンピュータプログラムプロダクト。
  16. 前記既定の基準は、論理的基準、人間工学的基準、審美的基準、およびビジネス上の基準のセットを含む請求項15に記載のコンピュータプログラムプロダクト。
  17. 前記クライアント装置の表示設定は、前記クライアント装置のスクリーンのサイズ、前記クライアント装置の前記スクリーンの指定解像度、前記クライアント装置の前記スクリーンの指定されたフォント、前記クライアント装置のオペレーティングシステム、および前記クライアント装置のブラウザのうちの少なくとも1つを含む請求項15に記載のコンピュータプログラムプロダクト。
  18. 前記ユーザが前記フォーム要素の少なくとも1つに間違ってデータを入力している場合、前記フォーム要素に隣接するウィンドウ内の前記ユーザフォームインタフェースの特定要素に関する情報メッセージを前記クライアント装置上に表示するための命令をさらに含む請求項15に記載のコンピュータプログラムプロダクト。
  19. 前記ユーザフォームインタフェース用の前記論理記述は、フォーム要素のサイズおよび順番のうちの1つ以上に関する情報をさらに含む請求項15に記載のコンピュータプログラムプロダクト。
  20. 前記論理記述は、フォーム要素の1つ以上のグループと、複数の関連するフォームに適用する1つ以上のグローバルコマンドとの少なくとも1つをさらに含む請求項15に記載のコンピュータプログラムプロダクト。
JP2016090093A 2015-04-29 2016-04-28 ユーザフォームインタフェースの自動生成の方法およびシステム Pending JP2016224923A (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2015116133 2015-04-29
RU2015116133A RU2015116133A (ru) 2015-04-29 2015-04-29 Способ автоматизированного генерирования интерфейса приложения
US15/136,886 2016-04-23
US15/136,886 US9952819B2 (en) 2015-04-29 2016-04-23 Method and system of automated generation of user form interface

Publications (1)

Publication Number Publication Date
JP2016224923A true JP2016224923A (ja) 2016-12-28

Family

ID=57204848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016090093A Pending JP2016224923A (ja) 2015-04-29 2016-04-28 ユーザフォームインタフェースの自動生成の方法およびシステム

Country Status (9)

Country Link
US (1) US9952819B2 (ja)
JP (1) JP2016224923A (ja)
KR (1) KR20160128940A (ja)
CN (1) CN106095767A (ja)
BR (1) BR102016009516A2 (ja)
IL (1) IL245356B (ja)
MX (1) MX2016005648A (ja)
RU (1) RU2015116133A (ja)
ZA (1) ZA201602894B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630708B2 (en) 2016-09-16 2023-04-18 Oracle International Corporation OSN/PCS collaboration mechanism integration
US10514910B2 (en) * 2016-09-16 2019-12-24 Oracle International Corporation Automatically mapping data while designing process flows
US10635659B2 (en) * 2016-09-19 2020-04-28 Salesforce.Com, Inc. Mobile application bundled with metadata database
CN106843835A (zh) * 2016-12-21 2017-06-13 中国电子科技网络信息安全有限公司 一种元数据定制的应用系统软件构建系统、系统构建方法
CN108959299B (zh) * 2017-05-19 2022-02-25 微软技术许可有限责任公司 对象描述
US11036523B2 (en) * 2017-06-16 2021-06-15 General Electric Company Systems and methods for adaptive user interfaces
US10628109B2 (en) * 2017-08-09 2020-04-21 Google Llc Dynamically adapting panels of a user interface
US10909288B2 (en) * 2017-12-26 2021-02-02 Autodesk, Inc. Techniques for applying generative design to the configuration of mechanical assemblies
US10997192B2 (en) 2019-01-31 2021-05-04 Splunk Inc. Data source correlation user interface
CN110096187B (zh) * 2019-03-13 2022-01-28 中国平安人寿保险股份有限公司 一种信息录入方法、装置、设备和计算机可读存储介质
US11194564B1 (en) * 2019-04-29 2021-12-07 Splunk Inc. Maintaining compatibility in a multi-component application
US10754638B1 (en) 2019-04-29 2020-08-25 Splunk Inc. Enabling agile functionality updates using multi-component application
CN110222293B (zh) * 2019-04-30 2020-10-27 北京三快在线科技有限公司 一种表单页面生成方法和装置
GB2585182A (en) * 2019-05-23 2021-01-06 Data Chemist Ltd Facilitating construction of a user interface
US11151125B1 (en) 2019-10-18 2021-10-19 Splunk Inc. Efficient updating of journey instances detected within unstructured event data
CN111459441B (zh) * 2020-04-25 2020-11-10 薪得付信息技术(山东)有限公司 一种信息显示方法、装置及电子设备
US11741131B1 (en) 2020-07-31 2023-08-29 Splunk Inc. Fragmented upload and re-stitching of journey instances detected within event data
US11947931B2 (en) * 2021-10-12 2024-04-02 Sap Se Generic factory class
CN115983216B (zh) * 2022-12-21 2023-11-14 广州辰创科技发展有限公司 一种智能表单自动生成方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7089295B2 (en) * 2000-09-06 2006-08-08 Oracle International Corporation Customizing content provided by a service
US8843909B2 (en) * 2001-05-11 2014-09-23 Ca, Inc. Method and apparatus for transforming legacy software applications into modern object-oriented distributed systems
US20040039990A1 (en) * 2002-03-30 2004-02-26 Xorbix Technologies, Inc. Automated form and data analysis tool
US7665014B2 (en) * 2004-06-03 2010-02-16 Microsoft Corporation Method and apparatus for generating forms using form types
US7424485B2 (en) * 2004-06-03 2008-09-09 Microsoft Corporation Method and apparatus for generating user interfaces based upon automation with full flexibility
US20060136830A1 (en) * 2004-11-03 2006-06-22 Martlage Aaron E System and user interface for creating and presenting forms
US20070186150A1 (en) * 2006-02-03 2007-08-09 Raosoft, Inc. Web-based client-local environment for structured interaction with a form
US8413110B2 (en) * 2007-04-25 2013-04-02 Kai C. Leung Automating applications in a multimedia framework
US20100114619A1 (en) * 2008-10-30 2010-05-06 International Business Machines Corporation Customized transformation of free-form business concepts to semantically rich business models
US9275029B2 (en) * 2009-12-02 2016-03-01 International Business Machines Corporation Automated form layout based upon usage patterns
CN101968800B (zh) * 2010-09-21 2013-06-05 北京空间飞行器总体设计部 基于元数据驱动的动态表单设计方法
US8731973B2 (en) * 2011-04-19 2014-05-20 Vertafore, Inc. Overlaying images in automated insurance policy form generation
US9524283B2 (en) * 2011-08-30 2016-12-20 Sas Institutes Inc. Techniques to remotely access form information and generate a form
US20130205189A1 (en) * 2012-01-25 2013-08-08 Advanced Digital Systems, Inc. Apparatus And Method For Interacting With An Electronic Form
JP6213121B2 (ja) * 2013-10-04 2017-10-18 富士通株式会社 設計支援プログラム、設計支援方法および設計支援装置
CN103631597B (zh) * 2013-12-09 2017-03-08 中博信息技术研究院有限公司 基于xml的web表单引擎装置及方法

Also Published As

Publication number Publication date
RU2015116133A (ru) 2016-11-20
BR102016009516A2 (pt) 2017-01-24
US20160321021A1 (en) 2016-11-03
MX2016005648A (es) 2016-11-30
IL245356B (en) 2019-11-28
IL245356A0 (en) 2016-08-31
KR20160128940A (ko) 2016-11-08
US9952819B2 (en) 2018-04-24
ZA201602894B (en) 2017-07-26
CN106095767A (zh) 2016-11-09

Similar Documents

Publication Publication Date Title
JP2016224923A (ja) ユーザフォームインタフェースの自動生成の方法およびシステム
CN108292231B (zh) 从数据生成应用的方法和系统
US9465822B2 (en) Data model generation based on user interface specification
JP5503648B2 (ja) 構造化共同オーサリング
US9141346B2 (en) Layout management in a rapid application development tool
US8671387B2 (en) Compilation and injection of scripts in a rapid application development
US8788955B2 (en) Creation and configuration of compound widgets
US9612708B2 (en) Systems and methods for polymorphic content generation in a multi-application, multi-tenant environment
US9262850B2 (en) Descriptive framework for data visualization
US8793598B2 (en) Cross-browser web dialog platform
US8074167B2 (en) Cross domain presence of web user interface and logic
US20120291011A1 (en) User Interfaces to Assist in Creating Application Scripts
US20150169652A1 (en) Systems and methods for automated report generation
US20120291006A1 (en) Development Architecture for Cloud-Based Applications
US11822615B2 (en) Contextual editing in a page rendering system
US20140096024A1 (en) Dynamic configurable menu using self-describing applications
US20150113503A1 (en) Selectively enabling runtime editing of an application
JP2020524837A (ja) ウェブサイトコンポーネント相互間におけるスマートインタラクションのためのシステム及び方法
Anderson et al. Pro business applications with silverlight 4
US20120260237A1 (en) Portable Business Language and Automated Software Application Development System
WO2013109858A1 (en) Design canvas
KR101552914B1 (ko) 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
JP2016066355A (ja) Webアプリケーション生成システム、Webアプリケーション生成システムの制御方法、Webアプリケーション生成システムのプログラム、Webアプリケーション生成装置、Webアプリケーション生成装置の制御方法、およびWebアプリケーション生成装置のプログラム
US20180113721A1 (en) Systems and methods for generating a self-updating maintenance page
US11663199B1 (en) Application development based on stored data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160720

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200203

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200630