JP5651121B2 - データオブジェクトの管理および自動的リンク - Google Patents

データオブジェクトの管理および自動的リンク Download PDF

Info

Publication number
JP5651121B2
JP5651121B2 JP2011536466A JP2011536466A JP5651121B2 JP 5651121 B2 JP5651121 B2 JP 5651121B2 JP 2011536466 A JP2011536466 A JP 2011536466A JP 2011536466 A JP2011536466 A JP 2011536466A JP 5651121 B2 JP5651121 B2 JP 5651121B2
Authority
JP
Japan
Prior art keywords
data object
data
input element
displayed input
readable storage
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.)
Active
Application number
JP2011536466A
Other languages
English (en)
Other versions
JP2012508934A (ja
JP2012508934A5 (ja
Inventor
ティモシー パーキンス
ティモシー パーキンス
アラン モース
アラン モース
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
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 アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2012508934A publication Critical patent/JP2012508934A/ja
Publication of JP2012508934A5 publication Critical patent/JP2012508934A5/ja
Application granted granted Critical
Publication of JP5651121B2 publication Critical patent/JP5651121B2/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • 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/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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
    • 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/954Navigation, e.g. using categorised browsing
    • 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
    • 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]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

関連する出願の相互参照
本出願は、2008年11月12日に出願された米国出願No.61/114,032に基づく優先権を主張するものであり、その内容はここに参照として取り込まれる。
本発明はスケーラブルオブジェクト指向データベースシステムにおけるデータオブジェクトの管理および自動的リンクに関する。
従来のデータエントリシステムは、ユーザがリンクをクリックすることによって新しいオブジェクトを生成し得るようなウェブアプリケーションとして実装されている。このようなリンクは、生成され得るオブジェクトの型をリストするウェブページに、ユーザを誘導する。次いで、ユーザは、オブジェクトの型に対応するリンクを選択するとともに、新しく生成された空のオブジェクトに対応するエディタに誘導される。次いで、ユーザは、新しく生成されたオブジェクトについて必要な情報(既存のオブジェクトへのリンクを含む。)を、書き込む。既存のオブジェクトへのこれらリンクを設定する際には、リンク先を見つけるための広範なナビゲーションまたは既存のオブジェクトの長いリストをくまなく調べることが、しばしば要求された。
ロータスノート(登録商標)に組み込まれたカスタムアプリケーションは、新しいオブジェクト(「ドキュメント」)が生成されるとともに他のドキュメントにリンクされることもあるカスタムインターフェイスを定義する点において、少なくとも類似する。ディスカッションフォーラムインターフェイスは、新しいオブジェクトまたは応答が生成されるとともに、それらが先に存在しているオブジェクト(先のメッセージ)にリンクされる、他の例である。
一の態様において、一般的に、本記載は、データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示する方法を対象とする。前記方法は、前記データリポジトリに格納された第1のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用可能なロジックを用いること、前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第2のデータオブジェクトを生成すること、および、前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせること、を含む。
いくつかの態様には、後述する特徴の一または複数が含まれ得る。
前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせること、は、前記第2のデータオブジェクトを前記第1のデータオブジェクトにリンクさせること、を含む。
前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせること、は、前記第2のデータオブジェクトを一または複数の関連するリンクを介して前記第1のデータオブジェクトに関連する少なくとも1つのデータオブジェクトにリンクさせること、を含む。
前記方法は、一または複数の関連するリンクを介して前記第2のオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示すること、をさらに含む。
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第1のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む。
前記情報は前記第2のデータオブジェクトについての情報を含む。
前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む。
前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する。
前記選択肢のセットは、一または複数の関連するリンクを介して前記第2のオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく。
前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する。
前記再使用可能なロジックは、前記データリポジトリに格納された第3のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用される。
前記再使用可能なロジックは、前記第1のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第1のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される。
前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む。
前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第3のデータオブジェクトを生成すること、をさらに含み得る。
前記第2のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられ得る。
前記第1のデータオブジェクトは専用のエディタに関連付けられ得る。
他の態様において、一般に、コンピュータ読み取り可能な媒体は、データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するコンピュータプログラムを格納し、該コンピュータプログラムは、前記データリポジトリに格納された第1のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するための再使用可能なロジックの使用、前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第2のデータオブジェクトの生成、および、
前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトへの前記第2のデータオブジェクトの自動的なリンク、をコンピュータシステムに実行させる命令を含む。
他の態様において、一般に、システムは、データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するために提供される。該システムは、データオブジェクトを格納するデータリポジトリを提供するデータ格納システム、グラフィカルユーザインターフェイスを提供するための少なくとも1つの出力デバイスまたはポート、および、前記データ格納システムおよび前記少なくとも1つの出力デバイスまたはポートに接続されたコンピュータシステムであって、前記データリポジトリに格納された第1のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用可能なロジックを用い、前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第2のデータオブジェクトを生成し、および、前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせる、ための回路を含む。
他の態様において、一般に、システムは、データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するために提供される。該システムは、前記データリポジトリに格納された第1のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用可能なロジックを用いる手段、前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第2のデータオブジェクトを生成する手段、および、前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせる手段、を含む。
いくつかの態様には、後述する特徴の一または複数の利点を有する。
データリポジトリにおいて十分に相互接続されたメタデータを自動的に生成するとともにリンクさせ、さらに、データリポジトリをバックデータストアとして用いるカスタムワークフローを支援するのに有利である。さらに、メタデータアプリケーションは、データリポジトリ自身の外に構成され得る。
以下、本記載の他の特徴および利点は、以下の記述および請求の範囲から理解され得る。
グラフベース計算を実行するシステムのブロック図である。 計算グラフを示す。 スクリーンショットである。 グラフベース計算環境における入力データから出力データへの変換を示す。 グラフベース計算の例を示す。 ビジネスルール環境に格納されたデータオブジェクトの生成、表示およびリンクのスクリーンショットを示す。 一連のウィザード画面を示す。 一連のウィザード画面を示す。 オブジェクトエディタに関連付けられた一連の画面を示す。 オブジェクトエディタに関連付けられた一連の画面を示す。 データリポジトリに格納されたデータオブジェクトの生成、表示およびリンクの実行例のフローチャートである。
1.システム概観
図1は、グラフベース計算の開発、実行および管理のための計算システム100のパーツの相互関連を示す概略的ブロック図である。グラフベース計算は、有向グラフによる「データフローグラフ」(グラフの頂点がグラフを表現する成分(例えば、データファイル、処理等)に対応し、グラフにおける有向リンクまたは「辺」が各成分間のデータフローに対応する。)を用いて実装される。いくつかの例において、グラフィック開発環境(GDE)102は、実行可能なグラフを特定しかつグラフ成分に対するパラメータを定義するユーザインターフェイスを提供する。GDE102は、リポジトリ104および並列処理環境106と情報をやり取りする。また、リポジトリ104および並列処理環境106には、ユーザインターフェイスモジュール108および外部データストア112が接続されている。
好ましくは、リポジトリ104は、スケーラブルオブジェクト指向データベースシステムであり、グラフベースアプリケーションの開発および実行、およびグラフベースアプリケーションと他のシステム(例えば、他のオペレーティングシステム)との間のメタデータのやり取りを支援するように設計される。この構成においては、リポジトリ104は、エンタープライズメタ環境(EME)と称呼され、ドキュメンテーション、レコードフォーマット(例えば、テーブル内のレコードのフィールドおよびデータ型)、変換機能、グラフ、ジョブ、監視情報などを含む一または複数の型のメタデータを格納できる。特に、EME104は、グラフベース計算に関連付けられたメタデータを格納できる。この意味では、各コンピュータプログラムは、計算グラフ(データフローグラフとも、または、単にグラフとも呼ばれる。)を用いて実行されるものとして考えることができる。グラフは、(例えば、フローまたは辺によって)接続されてデータをやり取りさせることができる一または複数の成分(または、頂点)を含む。いくつかの構成においては、グラフは並列処理環境106において実行することができる。
データストアとして実装されたEME104は、グラフの開発における変化を追跡でき、統計的な依存性解析を実行でき、関連するグラフの開発に係るメタデータを管理でき、他の同様の機能性を提供できる。一般に、グラフに関連するメタデータの格納は、データインパクト解析を可能にする。これにより、グラフにおいてデータがどのように変化しているか、および、これらデータの変化が一または複数の他のグラフに与えるインパクト、についての視覚的情報が、ユーザに提供される。加えて、EME104は、複数のバージョンのグラフが格納されることを許容し得る(例えば、開発中のコードの変化および調整の追跡)。また、EME104は、外部データストア112に格納されたデータを含む計算システム100によって処理される実際のデータを示すデータオブジェクトを格納する。
並列処理環境106は、GDE102において生成されたデータフローグラフの仕様を受け取り、グラフによって定義された処理ロジックおよびリソースに対応する実行可能な命令(例えば、コンピュータ命令)を生成する。そして、並列処理環境106は、一般に、例えば複数のプロセッサ(同種である必要はない。)にてそれら命令を実行する。
ユーザインターフェイスモジュール108は、EME104の内容をブラウザ上にて表示する。ユーザは、ユーザインターフェイスモジュール108を用いて、オブジェクトの閲覧、新しいオブジェクトの生成、現存するオブジェクトの変更等ができる。例えば、ユーザインターフェイス108は、オブジェクトおよびEME104に格納されたオブジェクトについての情報をユーザが探索して閲覧するためのブラウザ画面を生成する。
EME104に格納されたメタデータは、グラフ成分を含むグラフベースアプリケーション、および、計算グラフを構成する他の機能的オブジェクトを含み得る。EME104には、メタデータの一または複数の型も格納され得る。例えば、「技術的」メタデータ(例えば、アプリケーションに関連するビジネスルール、レコードフォーマット、および、実行統計)、「エンタープライズ」または「ビジネス」メタデータ(例えば、職務権限についてのユーザ定義情報、役割および責任)、および、他の同様な型が格納され得る。
)、
EME104に格納されたデータオブジェクト形式の情報は、アプリケーションおよびこれらのアプリケーションによって処理されたデータに関する種々の解析を可能にする。例えば、ユーザは、データ系統についての質問(与えられた値はどこから来たか、出力値はどのように計算されたか、どのアプリケーションがデータを生成してそのデータに依存するか、等)に対する回答を得ることができる。開発者は、提案された変更の結果を理解することができる(例えば、この成分が変化すると他の成分は如何なる影響を受けるか、このソースフォーマットが変化すると、どのアプリケーションが影響をうけるか、等)。ユーザまたは開発者は、技術的なメタデータおよびビジネスメタデータの双方に関連する質問(例えば、どのユーザまたは開発者グループが特定のデータのセットを生成して用いることに責任があるか、特定のアプリケーションの最新の更新は何か、等)への回答を得ることができる。
EME104は、格納されたデータの状態を追跡し得る。例えば、一または複数のデータオブジェクトの複数のバージョンが追跡・格納され得る。これにより、ある期間(例えば、1週間、1ヶ月、または、1年)にわたるオブジェクトの状態が調べられ得るとともに、オブジェクトの状態とオブジェクトの現在の状態とが比較され得る。例えば、EME104は、ジョブ追跡または実行情報を収集し得るとともに、それにより傾向解析(例えば、データがどの程度の速度で増大しているか)および容量プロジェクト(例えば、そのアプリケーションが起動するのにどの程度の時間を要したか、どの程度のデータを処理したか、処理速度はどの程度か、そのアプリケーションがどの程度のリソースを消費したか、いつサーバの追加が必要であるか)が可能となる。
ユーザは、ユーザインターフェイス108を介して、格納されたデータオブジェクトに含まれかつ関連付けられた情報を見る(および任意に、編集する)ことができる。一の態様において、ユーザは一または複数の「ビュー」(データオブジェクトの関連するサブセットについての情報をブラウザページに提供する。)を定義し得る。1つの「ビュー」は、それらオブジェクト間の関連に基づいて一または複数のデータオブジェクトを選択するための構文を用いて定義される。
図2に示されるように、EMEブラウザインターフェイス202は、EME104におけるユーザインターフェイスモジュール108によって生成され得る。EME104に特定のオブジェクトについての詳細を表示するために、EMEブラウザインターフェイス202は、オブジェクト(例えば、オブジェクトA)に含まれる情報を用いて、ブラウザページ206の少なくとも一部(例えば、ハイパーテキストマークアップ言語(HTML)形式を含む)を生成し得る。例えば、図3に示すスクリーンショットにおいて、「例1」と名付けられたドキュメントオブジェクトの詳細が表示されている。図2に戻ると、ブラウザページ206の生成の一部としてエレメントレンダラ204に対してコールがなされ、エレメントレンダラ204はオブジェクト(例えば、オブジェクトA)からの情報を用いてレンダリングされるページまたはページの部分を返す。このページは、オブジェクトAに関連付けられた表示エレメントを含む種々のブラウザ形式エレメントを含むことができ、ユーザインタラクションを受けるための入力エレメントを含むことができる。この特定の構成において、ボタン208はユーザインタラクションを受け取ることができるエレメントとして設けられるが、他の入力エレメントも種々のユーザインタラクションを受け取るために用いられ得る。例えば、メニュー(例えば、ドロップダウンメニュー)、チェックボックスおよび他の同様な型の入力エレメントが用いられ得る。一般に、エレメントレンダラ204は、一または複数のソフトウェアプログラムまたはルーチンによって実装される再使用可能なロジックを参照し、このソフトウェアプログラムまたはルーチンは、通常、特定の型のオブジェクトにおいて実行され得る特定のアクティビティに対して定義される。このようなものとして、エレメントレンダラ204は、どのようなアクションがオブジェクトに実行されるかを決定でき、その後、どの入力エレメント(例えば、ボタン208)が(ブラウザインターフェイス202に表示された)ブラウザページ206にレンダリングされるべきかを決定する。ユーザアクションとこれに対応するエレメント(例えば、ボタン)との関連は、一般に、エレメントレンダラ204内にて特定されるロジックによって与えられる。エレメントレンダラが複数のアクションまたは異なる選択をサポートするように構成されていれば、パラメータの内容を「ビュー」において特定するとき、ユーザはそのパラメータをレンダラに渡し得る。
1つの構成において、エレメントレンダラ(「file_upload.py」と称呼される。)は、EME104に新ドキュメントを追加するか既存のドキュメントを置換するかの一方をすることができる。図3のスクリーンショットを参照すると、テキスト「ドキュメント置換」の右側のエレメントは、エレメントレンダラ204によって生成されている。しかし、「ビュー」の一部としてエレメントレンダラ204を構成するときには、とるべきアクションは特定し得る。一例において、関数呼び出しエレメントレンダラ(例えば、file_upload.py)はデフォルトで新ドキュメントをEME104に追加し得る。また、関数呼び出しエレメントレンダラ(例えば、file_upload.pyにおいて「action=replace」)は現在のドキュメントを置換し得る。他の例においては、そのような関数呼び出しに対して(例えば、file_upload.pyにおいて「action=add&rule_name=my_doc_oid」)、複数のパラメータが特定され得る。特定のエレメントをエレメントレンダラによって表示すべきこと(例えば、ボタン208)を決定するために、レンダラに関連付けられた(および「ビュー」の一部に関連付けられた)ロジックは、提供されたパラメータを用いることができる。エレメントレンダラ204およびこれに関連付けられたプログラムも、一般にEME104に格納される。このようなプログラムは単一のオブジェクトに専用のものではないので、このようなプログラムはEME104に存在する複数のオブジェクトに適用することができる。
ブラウザ(例えば、ファイル「閲覧」操作ボタン302および「送信」ボタン304)に表示されたHTML形式の可視的な部分に加えて、HTML形式内に隠された情報もまたファイルの送信中(または他の同様な動作)に用いられ得る。一般に、ボタン208が(ユーザインタラクションを介して)押されると、シナリオまたは関連付けられた機能性(例えば、図3の送信ボタン304)に関わりなく、スクリプト210が呼び出される。スクリプト210は、種々のユーザリクエスト(例えば、HTTP固有サービス)に応答でき、サーバ側処理をEME104に提供する。EME104のオブジェクトのためのブラウザページ(例えば、ブラウザページ206)は、特定のオブジェクトまたはオブジェクトのセットに基づき描画される。例えば、EME104に格納された一または複数のオブジェクトを選択するユーザに応答して表示されたブラウザページは、選択されたオブジェクトに関連付けられた情報のまたは種々の特徴がレンダリングされたものである。スクリプト(例えば、スクリプト210)は、ページまたはオブジェクトに依存する内容および/またはレイアウトを有するページのエレメントについてのカスタムレンダリングを生成することができる。ある構成において、エレメントレンダラ204は特定のオブジェクトに基づくブラウザページの一または複数のエレメントをレンダリングすることができ、また、ブラウザページの他の部分は異なるオブジェクトに基づくエレメントがレンダリングされたものの一または複数を含み得る。種々の型の入力が、スクリプト210によって用いられ得る。例えば、オブジェクト(例えば、オブジェクトA)に関連付けられた情報、ユーザが提供した(例えば、ブラウザページ206を介して入力された)情報および他の型の情報である。実行中は、スクリプト210は、一または複数の他のオブジェクトをEME104内にて生成し得る。例えば、第2のオブジェクトB212がEME104内にて生成され得るが、複数のオブジェクトが生成されてもよい。一または複数のオブジェクトの生成に伴い、スクリプト210は、オブジェクト間にリンク(リレーションとも称呼される。)を確立し得る。例えば、リンク214は、オブジェクトB212とオブジェクトAとの間に確立し得る。このようなリンクを確立するために、一または複数の技術が用いられ得る。例えば、指令がコールされ得る(例えば、EME104に関連付けられたコマンドラインインターフェイスを用いて)。その生成に関連付けられたオブジェクト(例えば、オブジェクトA)にリンクされながら、オブジェクトB212は、オブジェクトAについての一または複数のレンダリングされたエレメント(例えば、ボタン304)に関連付けられたスクリプト210によって決定された他のオブジェクトにもリンクされ得ることとなる。
この構成において、EME104はオブジェクト指向リポジトリであり、オブジェクトおよびこれに関連付けられるリレーションを含む。ある例において、新しく生成されたオブジェクトは、表示されているブラウザページに対応したオブジェクト(または、複数のオブジェクト)にリンクされ得る。他のケースにおいて、オブジェクト(例えば、既存のオブジェクト)へのリンクは、HTML形式に提供された情報から決定され得る。ある例では、オブジェクトAおよびBがEME104(例えば、リンク214)内でリンクされ、このリンクはリンクとしてブラウザページ206上にナビゲーションのために表示され得る。このような技術は、一または複数の利点を提供する。例えば、どのオブジェクトがEME104内でリンクするかについての情報が、自動的に決定されるものとして考えられることとなる。EME104内の各オブジェクトは、「ドメイン」に格納され、この「ドメイン」はEME104内におけるオブジェクトが他のオブジェクトに関連付けられているというリレーションに関する情報を含む。リンクの一つ(例えば、リンク214)を生成するとき、オブジェクトが関連付けられる(すなわち、ポイントする)ドメインを示す情報がドメインに追加され得る。スクリプト210は、対象とするオブジェクトのドメインを更新(例えば、逆リレーション(例えば、他のオブジェクトがポイントする)を記録)し得る。リンク214のようなリンクは、特定のオブジェクト(例えば、オブジェクトAまたはB)に関するEME104に格納されているドキュメントのいくつかまたはすべてに対して示され得る。ある例では、スクリプト210は、ユーザ入力に関連付けられるとともに新しいオブジェクトの生成が許可されるか否かを決定するためのパーミッションをチェックし得る。そして、これが許可されない場合、ユーザはそれを通知され得る。
ある構成において、ユーザは、実行されたアクションの(例えば、スクリプト210によって実行されたアクションがもたらす)結果を示すための新しいブラウザページまたは更新された現ページ(例えば、ページ206)に誘導され得る。ある例においては、複数のユーザはほぼ同時にEME104に対して修正を行うことができ、これにより、その変更を表示するための更新が行われる。他の例においては、スクリプト210の実行により、新しいオブジェクト(または複数の新しいオブジェクト)が生成され、いくつかの属性が(ユーザによる直接の編集を介して)設定され、新しいオブジェクト(または複数のオブジェクト)が既存のオブジェクトにリンクされ得る。この更新に基づいて、新しく生成したオブジェクトの詳細なビューが表示され得る。このビューは、属性を編集するときにユーザによって与えられたユーザ情報に対して示され得る。例えば、オブジェクトのビューは、オブジェクト間のリンクを利用してEME104の他のオブジェクトへナビゲーションし、追加情報を収集し得る。ナビゲーションは、開始オブジェクトから開始オブジェクトにリンクした他のオブジェクトへ(リンク方向に対して「上流」または「下流」に)ウォークアクションを実行することを含み得る。一または複数の関連するオブジェクトにナビゲーションするために、複数のウォークアクションが連続的なリンクにわたって実行され得る。このウォークアクションの結果、更新後に、追加情報がユーザに提供されることとなる。
また、ユーザは、新しいブラウザページまたは現在のブラウザページ206の更新版へ誘導され、追加情報をEME104に格納するように促される。例えば、ユーザは、新しく生成されたオブジェクト(例えば、オブジェクトB)、または、関連するリンクにわたってナビゲーションすることによって関連付けられた異なる一または複数のオブジェクト、に関連する情報を提供するように促され得る。新しく生成されたオブジェクトの自動的リンクの利点は、オブジェクトの内容が、後続するユーザインタラクションを洗練し強化させることを支援できることである。例えば、ユーザは、組織の多数の部門の1つに関連付けられたブラウザページにて従業員を表すデータオブジェクトを(例えば、その部門のデータオブジェクトに基づいて)生成するための入力を提供し得る。ブラウザページの更新時に、選択メニュー(例えば、ドロップダウンメニュー)がデータオブジェクト(例えば、追加される従業員の監督者を表す)を選択するために提供され得る。スクリプト210が従業員データオブジェクトを部門データオブジェクトに自動的にリンクさせるとき、そのメニュー中の選択リストは、データオブジェクトが部門データオブジェクトにその部門の部員としてリンクしている既存の従業員に限定されることになる。
エレメントレンダラ204は、例えば、EME104に格納されているパイソン(python)スクリプトまたはコーンシェル(Korn shell)スクリプトのような高レベルコンピュータプログラミング言語を用いて実装され得る。その実行結果は、ビュー設計に依存するブラウザページ206のフラグメントであり、EMEブラウザインターフェイス202によって生成された内容の残余に挿入され得る。エレメントレンダラ204は、「ビュー」の1つのエレメントに対してHTMLを生成し得る。ある例においては、ビューエレメントはコマンドラインインターフェイス(図示せず)を用いて逐次的に構成される。エレメントレンダラ204によって返されたブラウザページフラグメントは、ある場合においては単一のボタン208と同程度に単純に表示されるが、他の場合には、ページ部分はデータエントリのための他の形式のエレメントを含み得る。図3に示す例は、ファイル「閲覧」入力エレメント302を有する。
上述したように、ユーザがファイルを送信するためにクリックしたとき、通常はスクリプト210が呼び出される。スクリプト210は、パイソンスクリプトまたは他の同様な形式で実装され得る。ある例では、スクリプト210によって実行されるアクションは以下の手順にて実行され得る。始めに、スクリプト210は、EME104へのコマンドラインインターフェイスを用いて新オブジェクト(例えば、オブジェクトB212)をEME104のデータストア内に生成し得る。図3に示す例を参照すると、ファイルのアップロードに関連付けて、新オブジェクトはユーザがデスクトップコンピュータからアップロードしたファイルとし得る。他のケースでは、新オブジェクトは、初めに空の状態であるとともに他のメタデータまたは属性を付すことができるプレースホルダとして生成され得る。次に、スクリプト210は、新オブジェクトをEME104内の既存のオブジェクト(例えば、オブジェクトA)にリンクさせ得る。最後に、スクリプト210は、ユーザを新ページに誘導し、または、ユーザのために元ページを更新し得る。ユーザが新ページに誘導されると、そのページは、通常は新たにリンクされ生成されたオブジェクトに対するウェブベースエディタである。
2.例
例1:ユーザフィードバック
1つの実装において、ボタン(例えば、ボタン208)は、EME104のいかなるオブジェクトに対するブラウザページ(例えば、ブラウザページ206)上に表示され得る。ユーザがボタンをクリックすると、新ノートオブジェクトを生成するための処理を行うべくスクリプト(例えば、スクリプト210)が構成され得る。スクリプトは、新ノートオブジェクトに向かう元のオブジェクト(例えば、オブジェクトA)のリンクを生成し得る。生成された新ノートオブジェクトは、元のオブジェクトに関するものと推定される。ある例においては、新ノートは、元のオブジェクトの一部として格納されなくてもよい。そのようなものとして、後にこのノートを見つけて表示するために、元のノートオブジェクトと新ノートオブジェクトとの間のリンクまたはリレーションが生成され得る。これにより、ブラウザページまたはレポートは、オブジェクトに関するすべてのノート、または、オブジェクトのより大きな集合、を表示するように設計され得る。例えば、この実装は、ユーザがあるプロジェクトのオブジェクト上に誘導されたというフィードバックを提供し得る。さらに、ユーザは、新ノートオブジェクトのためのテキスト内容を入力するために、エディタに再度誘導され得る。
例2:ファイルアップロード
この例においては、ファイル閲覧制御(例えば、サーバへのアップロードのためのコンピュータシステム上のユーザが選択可能なファイル)、および、EMEオブジェクトのためのブラウザページ上のボタン(例えば、ボタン208)を含むフォームを表示するために、エレメントレンダラ204が用いられる。ある例においては、エレメントレンダラ204は、固有の識別子に関連付けられたブラウザページエレメントを生成し、複数のファイルアップロードフォームを同じブラウザページ上に表示する。ユーザが閲覧してEME104に存在するプロジェクトの一部であるオブジェクトに関するファイル(例えば、エクセルスプレッドシート)を選択し(さらに、ボタンをクリックし)、スクリプト210が呼び出されてそのファイルを新ドキュメントオブジェクトとしてEME104にロードする。スクリプト210に関連付けられたオペレーションは、元のブラウザページに対応するオブジェクトから新ドキュメントオブジェクトへのリンクを生成し得る。続いて、ユーザは、オブジェクトがナビゲーションおよびレポートを目的としてリンクされているドキュメントのリストを示す元のオブジェクトについてのブラウザページへ再度誘導される。
例3:ビジネスルール環境(BRE)におけるルールセットの水平バージョニング
一の実装において、ビジネスルール(例えば、メタデータのサブセット形式)は、EME104に格納され得る。種々の形式および態様のビジネスルールが実装され得る。例えば、2007年4月10日に出願された米国出願No.11/733,434(発明の名称「ビジネスルールの編集およびコンパイリング」)の内容の全体は、参照としてここに取り込まれる。各ビジネスルールは、別個のEMEオブジェクトに格納され得る。ビジネスルールは、データを一のフォーマットから他のフォーマットへ変換する基準のセットとして表現され、データについての決定、または、入力データのセットに基づいて新データを生成する。例えば、図4Aにおいて、フライト予約システムにおけるレコード402は、乗客の名前404、乗客の今年度の飛行マイル数406、乗客のチケットのクラス408、および、乗客の座席の行410を示すフィールドの値を含む。ビジネスルールは、そのような乗客が特定の搭乗グループ(例えば、搭乗グループ1)に割当てられるべきかを示し得る。ビジネスルールは一般にユーザに理解され易いものの(例えば、「ファーストクラスの乗客はグループ1である」)、その情報はコンピュータデバイス(例えば、コンピュータシステム)に認識され且つ処理される一または複数の形式に変換される必要があり得る。
一の特定の構成においては、グラフベース計算環境においてビジネスルールを実装するために、一または複数のデータソース(例えば、入力データセット400)からレコード402のような入力レコードを受取る変換式412が生成され得る。この変換式は、この情報を出力レコード(例えば、レコード414。乗客の名前404および乗客がどのグループに割当てられているか(例えば、グループ418)を示す。)に挿入する。これに対応して、レコード414は出力データセット420に挿入され得る。この例においては、データセット(例えば、データセット420)はレコードの例を示しているが、一般的には、データセットはいかなる数および型のレコードを含み得る。ある構成においては、入力および出力データセットは、データストリームとも称呼され得る。例えば、(データセットからの)データはグラフに流れ込みまたは流れ出す。
変換式は、データ処理成分を有するグラフベース計算に導入することができ、データフローを示すリンクエレメントによって接続され得る。例えば、図4Bに示す計算グラフ430は、一または複数の計算のための入力を提供する2つのデータセット432、434(例えば、利用頻度の高い乗客のデータおよびフライト予約データ)を含む。フォーマット成分436、438は、例えば、(例えば、結合成分440によって)結合されて出力データセット442(追加の処理動作に対して用いられる)となる共通にフォーマットされたデータセットを生成するために、同様のまたは異なる型のアジャストメントを用いて、入力データをフォーマットする。変換式は、グラフ430内にあるようなグラフベース計算そのものであってもよく、グラフの成分(例えば、グラフ430を構成する個々の成分436,438および440)内に実装されているものであってもよい。
ある構成において、変換式の生成を簡略化するために、一または複数の技術が用いられ得る(例えば、技術分野に詳しくないユーザに対して)。例えば、ビジネスルールのセット(ルールセットと称呼される。)をユーザが理解し易い形式にて入力するツールが提供される。同ツールは、実行すべき一または複数の変換式をコンピュータシステムに提供するものである。例えば、ルールセットは、一の変換式を生成するルールのセットであると考え得る。ルールは、入力に応じてルールの異なる出力値を算出する一または複数のルールケースによって構成され得る。また、ルールは、追加の出力値または代替の出力値を生成する複数のルールを含んでもよい。また、ルールセットは、「被包含」ルールセットとも称呼される他のルールセットを含んでもよい。
EME104におけるプロジェクトについて、ブラウザページはプロジェクトに含まれるいくつかまたはすべてのルールセットをリストし得る。この場合のブラウザページは、特定のオブジェクト(例えば、特定のプロジェクト)に関連した詳細を表示し得る。EME104におけるプロジェクトは、通常、種々の技術的なメタデータを含む。この例では、ブラウザページは、プロジェクトに含まれるすべてのルールセットをリストし得る。このリストにおける各ルールセットに対して、例えば同一のエレメントレンダラ204を介して、いくつかのボタンまたは他の型のエレメントが表示され得る。
図5を参照すると、一連の行がリストの例に含まれており、リストの各行は4つのボタン(例えば、ボタン502、504、506および508)を含んでいる。表示された各ボタンは、異なるオプションを有するエレメントレンダラ(例えば、エレメントレンダラ204)を呼び出すことによって提供される。特に、ボタン502、504、506および508は、それぞれ、ルールセット「ルールセット昇格」、「ルールセット降格」、「新マイナー版」および「新メジャー版」に基づいて実行され得る異なるアクションを示す。ルールセットを昇格させることは、特定のルールセットを、開発段階からテスト段階へ移行させること、最終的に生産段階(ルールセットがユーザによってデータ処理のために実行され得る段階)へ移行させること、に広く関連付けられ得る。これらの4つのアクションは、開発ライフサイクル中にルールを昇格または降格すること、場合によっては異なるバージョンのルール(例えば、新メジャー版、マイナー版など)を生成すること、のために用いられ得る。このような機能は、ルールセットを改良しつつも、以前のバージョンの(比較的古い)ルールセットにアクセス(および使用)することを、所定の期間にわたって可能とする。例えば、既存のルールまたはルールセットが変更されることに代えて、そのルールまたはルールセットの新しいコピーが生成され、調整され、新しいバージョン番号が付与され得る。
ある構成において、エレメントレンダラ(例えば、エレメントレンダラ204)は、ルールセットに関連付けられた一または複数のパーミッションに基づいて特定のボタンが表示されるべきか否かを決定するように構成され得る。例えば、パーミッションは、ルールセットの修正および現在の開発ライフサイクルに関連付けられ得る。例えば、開発ライフサイクルについて、ライフサイクルの異なる段階は、開発(「Dev」)、テスト(「Test」)および製造(「Prod」)とされ得る。エレメントレンダラ(例えば、エレメントレンダラ204)のロジックは、これら3つの段階を順次(その特定の順序で)経て改良され得る。「Prod」段階に一旦到達すると、ルールセットはそれ以上昇格しないことになる。同様に、「Dev」段階では、ユーザはルールを降格させないことになる。ユーザがボタンをクリックすると、エレメントレンダラ204は表示し得る確認テキストを事前計算し得る。つまり、ユーザがボタンの1つをクリックすると、テキストを含むポップアップグラフィックが表示され、アクションを確認され得る。例えば、第1行目のボタン502をクリックすると、「あなたは本当にルールセット−1−DevをTestに昇格させたいか?」とのテキストが示されたダイアログボックスがポップアップされ得る。このような表示により、ユーザは、(意図しないクリックによる)意図しない変更がなされる可能性が低減されるように、アクションを確認し得る。
さらに、ユーザがボタンの1つをクリックすると、スクリプト210が呼び出されて対応するルールセットがコピーされる。既に内容が含まれていれば、ルールセットはコピーされ、後の変更の開始点として使用され得る。あるいは、元のルールセットが変化され得るように、コピーはバックアップとしても用いられ得る。ルールセットの新しいコピーの名前は、ルールの元の名前およびアクションに基づいて決定され得る。また、ユーザが後にそれらを区別し得るように、異なる名前も用いられ得る。例えば、ルールの元の名前が「Dev」で終わるものであれば、それが昇格されるとき、新しいルールの名前は「Test」で終わるものとされ得る。上述したように、異なる段階にて異なるアクションがルールに施される。「Dev」段階であれば、開発者によって修正されるものと考えられ得る。「Test」段階であれば、ルールまたはルールセットは一般に適切に作動するかがチェックされ、通常は変更されない。「Prod」段階であれば、ルールセットは例えば意図された目的のために用いられ、通常は変更されない。ルールセットが「Dev」から「Test」に昇格すると、開発者は新たな変更を開始し得るので、異なる段階およびバージョンが必要となることもある。新しい名前に基づき、スクリプト210はルールセットに格納された情報のいくつかを更新する必要とすることもある。ある例では、ルールセットは、コードファイル(例えば、図4のグラフの変換式412)の名前についての情報を含む。ある例では、このコードファイルはルールセットの名前をとって名付けられる。このように、ルールセットが新しい名前と共に生成されれば、生成したファイルに対する名前もまた更新される。次いで、更新されて新しいルールを含む(さらに、実行されたアクションの結果を見ることができる)プロジェクトにおけるルールセットのリストに、ユーザは再度誘導され得る。例えば、これらのアクションのいずれかがルールセットに施されると、ユーザは新しいまたは修正されたルールのためのブラウザページに誘導される。
例4:オブジェクト作成のためのウィザード
図6を参照すると、例えばユーザインタラクションに基づき、一または複数のオブジェクトの生成のために追加的な動作が実装され得る。ある構成においては、一または複数のオブジェクトを生成するために一連の段階にわたってユーザから情報が収集され得る。例えば、ユーザインタラクション(例えば、ボタンの表示画像上でのユーザのクリック)は、ウィザード(例えば、一連のダイアログ)またはユーザを一連のステップを通じて誘導する他の型のUI画面シーケンスの実行を開始し得る。シーケンスを進行しながら、例えば一または複数のオブジェクトを生成するための情報がユーザから収集される。収集された情報は他の動作にも用いられ得る。例えば、収集された情報は、一または複数のオブジェクトに関連付けられたプロパティを示してもよく、その一または複数のオブジェクトを修正するために用いられてもよい。
例示を目的として図に示すように、スクリーン600の一部は、データセット(例えば、テーブル)内にフィールド(例えば、列)を含む。この例では、データマスキングルール(例えば、難読化、識別不能化など)が定義され、フィールドに関連付けられたデータに対して動作され得る。この処理を開始するために、(「マスキングルール追加」と表示された)ボタン620の表示画像が、ユーザによって(マウスのような位置入力装置を用いた操作を通じて)選択される。選択されると、一連の画面を含むウィザードが実行される。例えば、ユーザが提供する情報を収集するために、第1のウィザード画面604の一部が初めに示され得る。この例においては、ウィザード画面604は2つのラジオボタンを表示し、ユーザに、生成されるマスキングルールの型を選択するように促す。選択が一旦なされると、ユーザは、次のウィザード画面に移るために(「次へ」と表示された)ボタン606を選択し得る。ウィザードを終了させるためには、(「キャンセル」と表示された)もう1つのボタン608がユーザによって選択され得る。次に、このシナリオにおいて、他のウィザード画面が(画面610の一部として示されているように)表示される。この特定の画面610には、新しいルールを生成するか又は既存のルールに追加するかをユーザが選択するように、2つのラジオボタンが示される。ユーザによる選択に基づき、ウィザードは、特定のパス(例えば、一連の画面)のいずれをその後に続けるかを決定し得る。そのようなものとして、ウィザードは、ユーザを誘導する種々のシナリオに対応した複数の分岐したパス(例えば、ツリー構造)を含み得る。画面604と同様、ユーザは(「次へ」と表示された)ボタン612を選択することによってウィザードに従って処理を進めるか、(「戻る」と表示された)ボタン614を選択することによって画面を1つ戻るか、または、(「キャンセル」と表示された)ボタン616を選択することによってウィザードを中止し得る。
図7を参照すると、ウィザードによって与えられた画面700の他の一部は、マスキングルールを定義するためにオブジェクトのリストから選択するように、ユーザを促す。この例において、この選択のために、関数のリストがメニュー(例えば、ドロップダウンメニュー)に設けられる。選択された関数のそれぞれは、(例えば、リポジトリ104に)格納され得る一または複数のオブジェクトに関連付けられ得る。この例では、一または複数のマスク関数(例えば、ハッシュ調査1)が、格納されたオブジェクトに関連付けられている。マスク選択のためのメニューを用いると共に、ユーザは、(ボタン612、614および616と同様な)ボタンを用いてウィザードを介した処理の流れを調整し得る。この例においては、(「次へ」と表示された)ボタン702が選択されると、ユーザの選択の概略を示す画面704に誘導される。この例において、(画面600に図示するような)「優先」と名付けられたフィールドは、機能「ハッシュ調査1」に関連付けられている。情報を再検討して(「終了」と表示された)ボタン706を選択すると、新しいオブジェクト(または、複数のオブジェクト)が生成され、(例えば、一または複数のオブジェクトへ誘導するための)一または複数の表示画像が生成され得る。例えば、図6の画面600に戻ると、ボタン602が新しく生成されたオブジェクトへのリンクによって置換されており、それが選択されると、ユーザは新オブジェクトに誘導され得る。一の構成においては、生成されたオブジェクトに関連付けられた情報およびパラメータを確認するための画面708がユーザに示され得る。このウィザードの例は1つのオブジェクト(または、複数のオブジェクト)を生成することについて説明したものであるが、他の処理が同様なウィザードによって行われ得る。例えば、オブジェクト調整(例えば、機能割当てなど)、オブジェクト削除、および、他の同様な動作が実行され得る。
例5:編集レンダラ
図8を参照すると、一または複数のオブジェクトが作成された際、例えばデータの交換に関連付けられた処理のような他の処理が実行され得る。ある構成において、レンダリングされたエレメントの機能性は編集能力を含むように拡張され得る。例えば、他のプログラム(例えば、専用エディタ)に関連付けられ得るオブジェクトを生成するために、スクリプト、プログラムまたは他の型の命令収集が実行され得る。オブジェクトに関連付けられたエディタを導入することにより、編集機能を拡張し得る(メタデータを制約下にて編集する、外部編集制御を開始する、等)。編集機能が拡張されるとともに、オブジェクトに関連付けられたエディタは、編集機能をより柔軟にし得る。
図示するように、画面800は編集画面の一部を含む。画面に含まれている(「キー」と表示された)フィールド802は、編集レンダラとしての機能を有する。この例では、値(例えば、数値、テキスト、関数等)は、直接には入力または編集されない。それに代えて、ユーザは、ボタン画像804を選択することによってキーフィールドのオブジェクトに関連付けられた編集を起動し得る。この構成においては、画面806は、キーフィールドに関連付けられるとともにユーザによって選択された情報がフィールドに関連付けられることを許可するエディタ808の例を示す。この特定の構成においては、エディタ808は、Flex(Adobe Systems,San Jose,California)のような複数のプラットフォーム向けのリッチインターネットアプリケーション(例えば、ユーザインターフェイス)を生み出すソフトウェア開発製品にて実装され得る。この例においては、エディタ808は、キーフィールド802のデータを識別するための選択可能レコードのセット810および選択ツール812を、ユーザに提供する。これらが選択された場合、前の画面800に戻る(さらに、選択されたデータを提供する)ためにボタン画像814が選択され得る。
図9を参照すると、画面900は、エディタ808(画面806に表示)からの情報が入ったキーフィールドを有する画面800の更新版を表す。特に、更新されたキーフィールド902は、エディタ808からの2つの選択されたフィールドを含む。このように、2つのデータセットが画面900に関連付けられているが、更なるデータのセットが設けられてもよい。データセットの1つは、画面900に関連付けられたオブジェクトによって提供される。例えば、プルダウンメニュー904で選択されるとともに、画面900にレンダリングされたダイアログ906に入力されたデータである。第2のデータのセットは、画面806に含まれた(および、キーフィールド802に関連付けられた)エディタ808によって提供される。このデータは、例えば、一または複数の技術を用いて他の画面へ渡され得る。例えば、データセットは同様の形式をとり得る。1つの構成においては、データは、クエリ文字列(例えば、HTTPクエリ文字列)にて送信されるように所定の形式またはフォーマットにてまとめられ得る。例えば、ユーザは、データをクエリ文字列にてまとめることを開始する(「変更を保存」と表示された)ボタン画像908を選択し得る。クエリ文字列へまとめられると、文字列は、一または複数の画面、オブジェクトまたはさらなる処理および表示のための位置に提供され得る。種々の型のエディタ(例えば、時間および日付に関連付けられたエディタ、(例えば、3次元物体の種々の側面を見るための)画像エディタ、および他の型のエディタ)も実装され得る。
3.実装方式
図10を参照すると、フローチャート1000は、データリポジトリ(つまり、EME104)に格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス(つまり、ユーザインターフェイスモジュール108)に表示するべく、エレメントレンダラ(例えば、エレメントレンダラ204)およびスクリプト(例えば、スクリプト210)によって実装された処理を示す。
上述したように、EME104において十分に相互接続されたメタデーダオブジェクトは、関連リンクによって参照され得る。複数のデータオブジェクト間の論理関連性を強調し且つ維持することに加え、EME104は、ウェブブラウザ上で作動するグラフィカルユーザインターフェイス(例えば、インターフェイス202)を用いて特定のデータオブジェクトの詳細を表示する。特に、オブジェクト内の情報は、一または複数のデータオブジェクトにおける対応する処理を呼び出し得るフォーム(例えば、ウェブフォーム)を生成する(1002)ために、自動的に用いられる。これは通常はエレメントレンダラによって実装され、EME104に存在するほぼすべてのデータオブジェクトに適用され得る。データオブジェクトに関する種々のユーザインターフェイスインタラクションによって表されるユーザ入力を受け取ると(604)、スクリプト210は、ユーザ入力データをウェブフォームに変換して新しいデータオブジェクトをデータリポジトリ内に生成する(1006)。単に入力データをコピーすること又は中間的処理の間に取得される一時的な変数を採用することよりも、この新しいデータオブジェクトは、EME104に存在し得る内容を含むことになる。次いで、この新データオブジェクトをEME104内の一または複数の関連するオブジェクトにリンクすること(1008)は、ユーザ処理が呼び出される位置に基づいて自動的に実装され得る。上述したオブジェクトの生成およびリンクの結果、ブラウザインターフェイス202は、グラフィカルユーザインターフェイス上の表示内容を管理し、ユーザがインターフェイスを介してEME104の変化を見ることができるようにする。
上述のオブジェクト生成およびリンク方式は、コンピュータ上で実行されるソフトウェアを用いて実装し得る。例えば、このソフトウェアは、一または複数のプログラムされたまたはプログラム可能なコンピュータシステム(分散型、クライアント/サーバ型またはグリッド型等の種々アーキテクチャであってよい)上で実行される一または複数のコンピュータプログラム上の処理を構成する。コンピュータシステムの各々は、少なくとも1つのプロセッサ、(揮発性メモリおよび不揮発性メモリおよび/または記憶素子)を含む少なくとも1つのデータ記憶システム、少なくとも1つの入力デバイスまたはポート、および、少なくとも1つの出力デバイスまたはポートを含む。ソフトウェアは、例えば、計算グラフの設計および構成に関連した他のサービスを提供するより大きなプログラムの一または複数のモジュールを形成し得る。グラフのノードおよびエレメントは、コンピュータ読み取り可能媒体に格納されたデータ構造、または、データリポジトリに格納されたデータモデルに合致する他の構成されたデータ、として実装され得る。
ソフトウェアは、汎用または専用のプログラマブルコンピュータによって読み取り可能な媒体(例えば、CD−ROM)にて提供されてもよく、(伝搬信号に符号化されて)ネットワークを介してそのソフトウェアが実行されるコンピュータに送られてもよい。すべての機能は専用コンピュータまたはコプロセッサのような専用ハードウェアを用いて実行され得る。ソフトウェアは、ソフトウェアによって指定された計算の異なる部分が異なるコンピュータによって実行される分散方式によって実装され得る。上述の各コンピュータプログラムは、上述の処理を実行するために記憶媒体または装置がコンピュータシステムによって読み取られたとき、コンピュータを構成および動作させるべく、汎用または専用プログラマブルコンピュータによって読み取り可能な記憶媒体またはデバイス(例えば、固体メモリまたは媒体、または磁気的または光学的媒体)上に格納またはダウンロードされることが好ましい。また、本発明のシステムは、コンピュータプログラムとともに構成されたコンピュータ読み取り可能記憶媒体であって、このように構成された記憶媒体がコンピュータシステムを特定のおよび予め定義された方法で動作させて上述の機能を実行させ得るものとしても実現され得る。
いくつかの本発明の実施態様が記載された。しかしながら、本発明の精神および範囲から逸脱することなく種々の変更がなされ得る。例えば、上述のいくつかのステップは独立した順序に並べることができ、上述の順序とは異なる順序で実行し得る。上記記載は、本発明を説明することを意図したものであって、添付される特許請求の範囲によって定義される本発明の範囲を限定することを意図するものではない。他の態様は以下の特許請求の範囲に含まれる。

Claims (68)

  1. データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示する方法であって、
    前記データリポジトリに格納された第1のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用可能なロジックを用いることと、
    前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第2のデータオブジェクトを生成することと、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることと、
    前記第2のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために前記再使用可能なロジックを再使用することとであって、前記少なくとも1つの表示された入力エレメントは、データオブジェクトを選択するための選択肢を提供し、前記選択肢は前記第2のデータオブジェクトにリンクされた前記一または複数の関連するデータオブジェクトに依存すること
    を含む方法。
  2. 請求項1に記載の方法において、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることは、前記第2のデータオブジェクトを前記第1のデータオブジェクトにリンクさせることを含む、方法。
  3. 請求項1に記載の方法において、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることは、前記第2のデータオブジェクトを一または複数の関連するリンクを介して前記第1のデータオブジェクトに関連する少なくとも1つのデータオブジェクトにリンクさせることを含む、方法。
  4. 請求項1に記載の方法であって、
    一または複数の関連するリンクを介して前記第2のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示すること、をさらに含む、方法。
  5. 請求項4に記載の方法において、
    前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第1のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む、方法。
  6. 請求項5に記載の方法において、
    前記情報は前記第2のデータオブジェクトについての情報を含む、方法。
  7. 請求項4に記載の方法において、
    前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む、方法。
  8. 請求項7に記載の方法において、
    前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する、方法。
  9. 請求項8に記載の方法において、
    前記選択肢のセットは、一または複数の関連するリンクを介して前記第2のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく、方法。
  10. 請求項4に記載の方法において、
    前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する、方法。
  11. 請求項1に記載の方法において、
    前記再使用可能なロジックは、前記データリポジトリに格納された第3のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用される、方法。
  12. 請求項11に記載の方法において、
    前記再使用可能なロジックは、前記第1のデータオブジェクトに関連付けられた前記表示された入力エレメントと、前記第2のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第3のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される、方法。
  13. 請求項1に記載の方法において、
    前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む、方法。
  14. 請求項1に記載の方法であって、
    前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第3のデータオブジェクトを生成すること、をさらに含む、方法。
  15. 請求項1に記載の方法において、
    前記第2のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられる、方法。
  16. 請求項1に記載の方法において、
    前記第1のデータオブジェクトは専用のエディタに関連付けられた、方法。
  17. 請求項1に記載の方法において、
    前記第2のデータオブジェクトに関連付けられた前記表示された入力エレメントは、前記第2のデータオブジェクトにおいて実行されることが可能な1つまたは複数のアクションに基づいて決定される、方法。
  18. データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するコンピュータプログラムを格納するコンピュータ読み取り可能な記憶媒体であって、該コンピュータプログラムは、
    前記データリポジトリに格納された第1のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するための再使用可能なロジックの使用、
    前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第2のデータオブジェクトの生成、および、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトへの前記第2のデータオブジェクトの自動的なリンク、
    前記第2のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために前記再使用可能なロジックの再使用
    をコンピュータシステムに実行させる命令を含み、前記少なくとも1つの表示された入力エレメントは、データオブジェクトを選択するための選択肢を提供し、前記選択肢は前記第2のデータオブジェクトにリンクされた前記一または複数の関連するデータオブジェクトに依存する、コンピュータ読み取り可能な記憶媒体。
  19. 請求項18に記載のコンピュータ読み取り可能な記憶媒体において、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることは、前記第2のデータオブジェクトを前記第1のデータオブジェクトにリンクさせることを含む、コンピュータ読み取り可能な記憶媒体。
  20. 請求項18に記載のコンピュータ読み取り可能な記憶媒体において、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることは、前記第2のデータオブジェクトを、一または複数の関連するリンクを介して前記第1のデータオブジェクトに関連する少なくとも1つのデータオブジェクトにリンクさせることを含む、コンピュータ読み取り可能な記憶媒体。
  21. 請求項18に記載のコンピュータ読み取り可能な記憶媒体であって、
    一または複数の関連するリンクを介して前記第2のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示
    をコンピュータシステムに実行させる命令をさらに含む、コンピュータ読み取り可能な記憶媒体。
  22. 請求項21に記載のコンピュータ読み取り可能な記憶媒体において、
    前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第1のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む、コンピュータ読み取り可能な記憶媒体。
  23. 請求項22に記載のコンピュータ読み取り可能な記憶媒体において、
    前記情報は前記第2のデータオブジェクトについての情報を含む、コンピュータ読み取り可能な記憶媒体。
  24. 請求項21に記載のコンピュータ読み取り可能な記憶媒体において、
    前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む、コンピュータ読み取り可能な記憶媒体。
  25. 請求項24に記載のコンピュータ読み取り可能な記憶媒体において、
    前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する、コンピュータ読み取り可能な記憶媒体。
  26. 請求項25に記載のコンピュータ読み取り可能な記憶媒体において、
    前記選択肢のセットは、一または複数の関連するリンクを介して前記第2のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく、コンピュータ読み取り可能な記憶媒体。
  27. 請求項21に記載のコンピュータ読み取り可能な記憶媒体において、
    前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する、コンピュータ読み取り可能な記憶媒体。
  28. 請求項18に記載のコンピュータ読み取り可能な記憶媒体において、
    前記再使用可能なロジックは、前記データリポジトリに格納された第3のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用される、コンピュータ読み取り可能な記憶媒体。
  29. 請求項28に記載のコンピュータ読み取り可能な記憶媒体において、
    前記再使用可能なロジックは、前記第1のデータオブジェクトに関連付けられた前記表示された入力エレメントと、前記第2のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第3のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される、コンピュータ読み取り可能な記憶媒体。
  30. 請求項18に記載のコンピュータ読み取り可能な記憶媒体において、
    前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む、コンピュータ読み取り可能な記憶媒体。
  31. 請求項18に記載のコンピュータ読み取り可能な記憶媒体であって、
    前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第3のデータオブジェクトの生成
    をコンピュータシステムに実行させる命令をさらに含む、コンピュータ読み取り可能な記憶媒体。
  32. 請求項18に記載のコンピュータ読み取り可能な記憶媒体において、
    前記第2のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられる、コンピュータ読み取り可能な記憶媒体。
  33. 請求項18に記載のコンピュータ読み取り可能な記憶媒体において、
    前記第1のデータオブジェクトは専用のエディタに関連付けられた、コンピュータ読み取り可能な記憶媒体。
  34. 請求項18に記載のコンピュータ読み取り可能な記憶媒体において、
    前記第2のデータオブジェクトに関連付けられた前記表示された入力エレメントは、前記第2のデータオブジェクトにおいて実行されることが可能な1つまたは複数のアクションに基づいて決定される、コンピュータ読み取り可能な記憶媒体。
  35. データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するシステムであって、該システムは、
    データオブジェクトを格納するデータリポジトリを提供するデータ格納システムと、
    グラフィカルユーザインターフェイスを提供するための少なくとも1つの出力デバイスまたはポートと、
    前記データ格納システムおよび前記少なくとも1つの出力デバイスまたはポートに接続されたコンピュータシステムであって、
    前記データリポジトリに格納された第1のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用可能なロジックを用い、
    前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第2のデータオブジェクトを生成し、
    前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせ、
    前記第2のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために前記再使用可能なロジックを再使用する
    ための回路を含み、前記少なくとも1つの表示された入力エレメントは、データオブジェクトを選択するための選択肢を提供し、前記選択肢は前記第2のデータオブジェクトにリンクされた前記一または複数の関連するデータオブジェクトに依存する、コンピュータシステム、
    を含む、システム。
  36. 請求項35に記載のシステムにおいて、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることは、前記第2のデータオブジェクトを前記第1のデータオブジェクトにリンクさせることを含む、システム。
  37. 請求項35に記載のシステムにおいて、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることは、前記第2のデータオブジェクトを一または複数の関連するリンクを介して前記第1のデータオブジェクトに関連する少なくとも1つのデータオブジェクトにリンクさせることを含む、システム。
  38. 請求項35に記載のシステムであって、
    一または複数の関連するリンクを介して前記第2のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示するための回路をさらに含む、システム。
  39. 請求項38に記載のシステムにおいて、
    前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第1のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む、システム。
  40. 請求項39に記載のシステムにおいて、
    前記情報は前記第2のデータオブジェクトについての情報を含む、システム。
  41. 請求項38に記載のシステムにおいて、
    前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む、システム。
  42. 請求項41に記載のシステムにおいて、
    前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する、システム。
  43. 請求項42に記載のシステムにおいて、
    前記選択肢のセットは、一または複数の関連するリンクを介して前記第2のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく、システム。
  44. 請求項38に記載のシステムにおいて、
    前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する、システム。
  45. 請求項35に記載のシステムにおいて、
    前記再使用可能なロジックは、前記データリポジトリに格納された第3のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用される、システム。
  46. 請求項45に記載のシステムにおいて、
    前記再使用可能なロジックは、前記第1のデータオブジェクトに関連付けられた前記表示された入力エレメントと、前記第2のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第3のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される、システム。
  47. 請求項35に記載のシステムにおいて、
    前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む、システム。
  48. 請求項35に記載のシステムであって、
    前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第3のデータオブジェクトを生成するための回路をさらに含む、システム。
  49. 請求項35に記載のシステムにおいて、
    前記第2のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられる、システム。
  50. 請求項35に記載のシステムにおいて、
    前記第1のデータオブジェクトは専用のエディタに関連付けられた、システム。
  51. 請求項35に記載のシステムにおいて、
    前記第2のデータオブジェクトに関連付けられた前記表示された入力エレメントは、前記第2のデータオブジェクトにおいて実行されることが可能な1つまたは複数のアクションに基づいて決定される、システム。
  52. データリポジトリに格納されたデータオブジェクトを管理し、データオブジェクトに関連付けられたエレメントをグラフィカルユーザインターフェイス上に表示するシステムであって、該システムは、
    前記データリポジトリに格納された第1のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用可能なロジックを用いる手段と、
    前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納された第2のデータオブジェクトを生成する手段と、
    前記表示されたエレメントに関連付けられたデータオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせる手段と、
    を含み、
    再使用可能なロジックを用いる前記手段は、前記第2のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために前記再使用可能なロジックを再使用し、前記少なくとも1つの表示された入力エレメントは、データオブジェクトを選択するための選択肢を提供し、前記選択肢は前記第2のデータオブジェクトにリンクされた前記一または複数の関連するデータオブジェクトに依存する、システム。
  53. 請求項52に記載のシステムにおいて、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることは、前記第2のデータオブジェクトを前記第1のデータオブジェクトにリンクさせることを含む、システム。
  54. 請求項52に記載のシステムにおいて、
    前記表示された入力エレメントに関連付けられた前記データオブジェクトに基づき、前記データリポジトリにおける一または複数の関連するデータオブジェクトに前記第2のデータオブジェクトを自動的にリンクさせることは、前記第2のデータオブジェクトを一または複数の関連するリンクを介して前記第1のデータオブジェクトに関連する少なくとも1つのデータオブジェクトにリンクさせることを含む、システム。
  55. 請求項52に記載のシステムであって、
    一または複数の関連するリンクを介して前記第2のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに関連付けられた一または複数のエレメントを前記グラフィカルユーザインターフェイス上に表示する手段、をさらに含む、システム。
  56. 請求項55に記載のシステムにおいて、
    前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、どのデータオブジェクトが前記第1のデータオブジェクトに関連しているかについての情報を表示するエレメントを含む、システム。
  57. 請求項56に記載のシステムにおいて、
    前記情報は前記第2のデータオブジェクトについての情報を含む、システム。
  58. 請求項55に記載のシステムにおいて、
    前記一または複数のデータオブジェクトに関連付けられた一または複数のエレメントは、ユーザからの情報を受け取るための入力エレメントを含む、システム。
  59. 請求項58に記載のシステムにおいて、
    前記入力エレメントは、前記情報を提供するために前記ユーザが選択する選択肢のセットを提供する、システム。
  60. 請求項59に記載のシステムにおいて、
    前記選択肢のセットは、一または複数の関連するリンクを介して前記第2のデータオブジェクトに関連する前記データリポジトリに格納された一または複数のデータオブジェクトに基づく、システム。
  61. 請求項55に記載のシステムにおいて、
    前記グラフィカルユーザインターフェイスは、前記一または複数のデータオブジェクトに関連付けられた前記一または複数のエレメントを含むブラウザページを提供する、システム。
  62. 請求項52に記載のシステムにおいて、
    前記再使用可能なロジックは、前記データリポジトリに格納された第3のデータオブジェクトに関連付けられた少なくとも1つの表示された入力エレメントを提供するために再使用される、システム。
  63. 請求項62に記載のシステムにおいて、
    前記再使用可能なロジックは、前記第1のデータオブジェクトに関連付けられた前記表示された入力エレメントと、前記第2のデータオブジェクトに関連付けられた前記表示された入力エレメントと、ブラウザページ上にレンダリングされる前記第3のデータオブジェクトに関連付けられた前記表示された入力エレメントと、を提供するためにレンダラによって使用される、システム。
  64. 請求項52に記載のシステムにおいて、
    前記表示された入力エレメントに関連付けられた前記ユーザ入力は、前記表示された入力エレメントとのユーザインタラクションを含む、システム。
  65. 請求項52に記載のシステムであって、
    前記表示された入力エレメントに関連付けられたユーザ入力に応答し、前記データリポジトリに格納するための第3のデータオブジェクトを生成する手段、をさらに含む、システム。
  66. 請求項52に記載のシステムにおいて、
    前記第2のデータオブジェクトを生成するために前記ユーザ入力を収集するべく一連の画面が用いられる、システム。
  67. 請求項52に記載のシステムにおいて、
    前記第1のデータオブジェクトは専用のエディタに関連付けられた、システム。
  68. 請求項52に記載のシステムにおいて、
    前記第2のデータオブジェクトに関連付けられた前記表示された入力エレメントは、前記第2のデータオブジェクトにおいて実行されることが可能な1つまたは複数のアクションに基づいて決定される、システム。
JP2011536466A 2008-11-12 2009-11-12 データオブジェクトの管理および自動的リンク Active JP5651121B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11403208P 2008-11-12 2008-11-12
US61/114,032 2008-11-12
PCT/US2009/064211 WO2010056867A1 (en) 2008-11-12 2009-11-12 Managing and automatically linking data objects

Publications (3)

Publication Number Publication Date
JP2012508934A JP2012508934A (ja) 2012-04-12
JP2012508934A5 JP2012508934A5 (ja) 2012-12-27
JP5651121B2 true JP5651121B2 (ja) 2015-01-07

Family

ID=42166163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011536466A Active JP5651121B2 (ja) 2008-11-12 2009-11-12 データオブジェクトの管理および自動的リンク

Country Status (8)

Country Link
US (3) US9317624B2 (ja)
EP (1) EP2356581A4 (ja)
JP (1) JP5651121B2 (ja)
KR (2) KR101627594B1 (ja)
CN (1) CN102272752B (ja)
AU (3) AU2009314067B2 (ja)
CA (2) CA3042068C (ja)
WO (1) WO2010056867A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3042068C (en) 2008-11-12 2022-09-20 Ab Initio Technology Llc Managing and automatically linking data objects
AU2009322602B2 (en) 2008-12-02 2015-06-25 Ab Initio Technology Llc Mapping instances of a dataset within a data management system
KR101631978B1 (ko) * 2009-09-16 2016-06-20 아브 이니티오 테크놀로지 엘엘시 데이터세트 요소의 매핑
US8195719B2 (en) * 2010-06-11 2012-06-05 Kenneth Ellis Nichol Lampinen Graphical objects bonding society system and method of operation
WO2012061109A1 (en) * 2010-10-25 2012-05-10 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
CN102567430B (zh) * 2010-12-31 2014-10-01 中国移动通信集团湖北有限公司 元数据关系的图形化显示方法及装置
CA2824282C (en) 2011-01-14 2019-05-21 Ab Initio Technology Llc Managing changes to collections of data
US20130091444A1 (en) * 2011-10-11 2013-04-11 Microsoft Corporation Automatic rendering of interactive user interface elements
US8723870B1 (en) * 2012-01-30 2014-05-13 Google Inc. Selection of object types with data transferability
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US20150026465A1 (en) * 2013-07-18 2015-01-22 Alcatel Lucent Methods And Devices For Protecting Private Data
GB2518003A (en) * 2013-09-10 2015-03-11 Belegin Ltd Method and apparatus for generating a plurality of graphical user interfaces
CN106662854B (zh) * 2014-05-29 2019-01-15 Abb瑞士股份有限公司 用于控制系统的装置的配置的方法和系统
JP6457622B2 (ja) 2014-07-18 2019-01-23 アビニシオ テクノロジー エルエルシー パラメータの集合の管理
US9626393B2 (en) 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US10191924B2 (en) * 2014-10-20 2019-01-29 Ab Initio Technology Llc Specifying and applying rules to data
US9524150B2 (en) * 2014-12-15 2016-12-20 Kirsten Ingmar Heiss System and method for software development using graphical tree structures
EP3040891A1 (en) * 2014-12-31 2016-07-06 Thomson Licensing Method for providing information to determine a graph associated with a data item
CN106484695B (zh) * 2015-08-25 2020-10-13 阿里巴巴集团控股有限公司 一种用于检索的方法与设备
US11003466B2 (en) 2016-12-09 2021-05-11 Vmware, Inc. Information-technology workflows using executable tiles with plural user interfaces
US10732934B2 (en) * 2016-12-09 2020-08-04 Vmware, Inc. Information-technology workflows using executable tiles
US10733013B2 (en) * 2016-12-09 2020-08-04 Vmware, Inc. Information-technology workflows using executable tiles distributed between workflow instances
US10732947B2 (en) * 2016-12-09 2020-08-04 Wmware, Inc. Information-technology workflow using tiles that declaratively specify datatypes
US11450043B2 (en) * 2018-04-25 2022-09-20 Adobe Inc. Element association and modification
US11263263B2 (en) * 2018-05-30 2022-03-01 Palantir Technologies Inc. Data propagation and mapping system
WO2021111344A1 (en) * 2019-12-03 2021-06-10 BrainSquall, Inc. Context map boards
WO2022165321A1 (en) 2021-01-31 2022-08-04 Ab Initio Technology Llc Data processing system with manipulation of logical dataset groups
CN114860223B (zh) * 2022-07-06 2022-09-30 绍兴圆方半导体有限公司 交互编辑框架、交互对象的生成方法和电子设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734886A (en) 1994-11-16 1998-03-31 Lucent Technologies Inc. Database dependency resolution method and system for identifying related data files
JPH08147317A (ja) 1994-11-18 1996-06-07 Sharp Corp データ管理システムおよびそのデータ管理方法
US5734866A (en) * 1995-07-18 1998-03-31 Xilinx Inc Set of functions for mapping into cell based integrated circuits with fixed number of inputs
US6065002A (en) * 1996-10-31 2000-05-16 Systems And Computer Technology Corporation Simplified interface for relational database access using open database connectivity
US5930802A (en) * 1996-11-29 1999-07-27 Daewoo Electronics Co., Ltd. Method for automatically linking index data with image data in a search system
JP3202968B2 (ja) 1998-06-30 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション 表示制御情報生成方法及びコンピュータ
US6609132B1 (en) 2000-04-11 2003-08-19 Revelink, Inc. Object data model for a framework for creation, update and view navigation of data objects and textual annotations of relations between data objects
AU2003259744A1 (en) 2002-08-09 2004-02-25 Corticon Technologies, Inc. Rule engine
CN101410857B (zh) * 2003-06-04 2016-05-04 费尔艾萨克公司 关系逻辑管理系统
US20050198395A1 (en) * 2003-12-29 2005-09-08 Pradeep Verma Reusable compressed objects
US20050257193A1 (en) 2004-05-13 2005-11-17 Alexander Falk Method and system for visual data mapping and code generation to support data integration
CA2500573A1 (en) * 2005-03-14 2006-09-14 Oculus Info Inc. Advances in nspace - system and method for information analysis
US20070022405A1 (en) * 2005-07-20 2007-01-25 Caterpillar Inc. Method and system for software design
US20070038666A1 (en) * 2005-08-15 2007-02-15 Microsoft Corporation Independent explicit interface implementation
US8140362B2 (en) 2005-08-30 2012-03-20 International Business Machines Corporation Automatically processing dynamic business rules in a content management system
US7440945B2 (en) 2005-11-10 2008-10-21 International Business Machines Corporation Dynamic discovery of abstract rule set required inputs
WO2007117643A2 (en) * 2006-04-07 2007-10-18 Mathsoft Engineering & Education, Inc. System and method for maintaining the genealogy of documents
US7792868B2 (en) * 2006-11-10 2010-09-07 Microsoft Corporation Data object linking and browsing tool
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US7827209B2 (en) * 2007-08-09 2010-11-02 Tektronix, Inc. Data object based data analysis
US8004541B2 (en) * 2008-01-28 2011-08-23 Hewlett-Packard Development Company, L.P. Structured display system with system defined transitions
CA3042068C (en) 2008-11-12 2022-09-20 Ab Initio Technology Llc Managing and automatically linking data objects
US9519418B2 (en) * 2011-01-18 2016-12-13 Nokia Technologies Oy Method and apparatus for providing a multi-stage device transition mechanism initiated based on a touch gesture
US8650150B2 (en) * 2011-03-14 2014-02-11 Sap Ag System and method of relating data and generating reports

Also Published As

Publication number Publication date
CN102272752B (zh) 2015-07-08
JP2012508934A (ja) 2012-04-12
AU2016202060A1 (en) 2016-04-28
CA2743151A1 (en) 2010-05-20
AU2009314067B2 (en) 2016-01-14
EP2356581A1 (en) 2011-08-17
US20160299993A1 (en) 2016-10-13
EP2356581A4 (en) 2012-05-02
US20180210967A1 (en) 2018-07-26
AU2018236912A1 (en) 2018-10-25
KR20150038755A (ko) 2015-04-08
WO2010056867A1 (en) 2010-05-20
US20100121890A1 (en) 2010-05-13
CA2743151C (en) 2019-12-24
KR20110094026A (ko) 2011-08-19
CA3042068A1 (en) 2010-05-20
US10997246B2 (en) 2021-05-04
AU2018236912B2 (en) 2020-10-29
AU2009314067A1 (en) 2010-05-20
CN102272752A (zh) 2011-12-07
KR101627594B1 (ko) 2016-06-07
US9317624B2 (en) 2016-04-19
KR101688554B1 (ko) 2016-12-21
US9959366B2 (en) 2018-05-01
CA3042068C (en) 2022-09-20

Similar Documents

Publication Publication Date Title
AU2018236912B2 (en) Managing and automatically linking data objects
EP3635536B1 (en) Integrated system for rule editing, simulation, version control, and business process management
JP2012508934A5 (ja)
JP2006107478A (ja) ワークフローを設計するための拡張可能フレームワーク
US20230086854A1 (en) Dynamically controlling case model structure using case fragments
CN113168497A (zh) 改进的电子表格和用于更新电子表格的方法
Lumertz et al. User interfaces metamodel based on graphs
Dong et al. Design pattern evolutions in QVT
CN112181483A (zh) 等离子体控制系统软件开发平台及方法
US11805181B2 (en) Migration of software extensions
US20240311087A1 (en) Deeply Integrated Development Environment
Fatolahi et al. Assessing a model-driven web-application engineering approach
Fatolahi et al. A Model-Driven Approach for the Semi-automated Generation of Web-based Applications from Requirements.
Singh Programming Web Applications Declaratively A Qualitative Study
White Rehosting the Workflow Designer

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20120321

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120419

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20121112

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131224

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140324

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140331

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140423

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140501

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140526

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: 20141028

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141114

R150 Certificate of patent or registration of utility model

Ref document number: 5651121

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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