(57)【特許請求の範囲】
【請求項１】
コンピューティングデバイスであって、
処理ユニットと、
前記処理ユニットに接続されたシステムメモリと、を含み、
前記システムメモリは、
前記処理ユニットによって実行されると、前記処理ユニットに対して、方法を実行させる命令を含み、前記方法は、
内部データストア及び外部データストアにあるデータにアクセスし且つ当該データを操作するビジネスデータカタログモジュールを作成するステップであって、前記ビジネスデータカタログモジュールは、データの要求を受信し、前記データが前記内部データストア又は前記外部データストアに存在するかどうかを判定し、前記外部データストアに特有の１つ以上のＡＰＩコールを用いて、前記外部データストアに存在する前記データにアクセスし、前記外部データストアに関連づけられたＡＰＩｓについての情報が前記内部データストアに含まれ、前記情報は、許容動作と、前記外部データを表示し且つ操作するための、１つ以上の事前に定義された制約条件とを含み、ビジネスオブジェクトに関連する１セットの定義済み属性をカプセル化する前記ビジネスオブジェクトの定義を作成し、前記１セットの定義済み属性は、特定のエンティティの永続的な同一性を表す識別子属性と、前記外部データストアから返信されるデータメンバをフィルタにかける基準を含むフィルタ属性と、特定のエンティティに関連するＵＲＬに対するリファレンスを含む動作属性と、関連性が定義された少なくとも１つのエンティティに対するリファレンスを含む関連属性と、アクセス権を設定するための方法を含むアクセス属性とを含む、生成するステップと、
前記外部データストアからアクセスされたデータを供給する外部データ供給モジュールを作成するステップであって、前記外部データ供給モジュールは、クライアントコンピューティングデバイス上への提示のために、前記外部データストアからの外部データをマップし、グラフィカルユーザーインターフェースを介して前記クライアントコンピューティングデバイスのユーザに提示およびアクセスするためのフォーム及び画面を生成し、前記フォーム及び画面は、前記外部データストアと関連付けられた外部ビジネスシステムのＡＰＩｓにおいて統合された許容動作と関連するコンテンツを含み、前記許容動作は、前記外部データストアに記憶するデータを含む新規エンティティインスタンスを前記ユーザが作成することを可能とする第１の選択メニューアイテムを生成するクリエイタメソッドと、エンティティインスタンスに関連するデータを前記ユーザが表示することを可能とする第２の選択メニューアイテムを生成するスペシフィックファインダメソッドと、エンティティインスタンスの少なくとも１つのプロパティを前記ユーザが修正することを可能とする第３の選択メニューアイテムを生成するアップデータメソッドと、エンティティインスタンスを前記ユーザが削除することを可能とする第４の選択メニューアイテムを生成するデリータメソッドとを含む、生成するステップとを含み、
ユーザは、前記内部データストアからのデータにアクセスし且つ操作するのと同じように、前記外部データストアからの前記データにアクセスし且つ前記データを操作することができることを特徴とするコンピューティングデバイス。
【請求項２】
前記外部データを含む前記外部データストアをさらに含む請求項１に記載のコンピューティングデバイスであって、
前記外部データは、
ビジネスシステムのエンティティ、
前記ビジネスシステムの前記エンティティに関連付けられた方法、及び
前記方法によって用いられるパラメータを含むことを特徴とするコンピューティングデバイス。
【請求項３】
前記ビジネスデータカタログモジュールは、接続パラメータと複数の異なる外部データストアの定義とを含むパラメータモジュールをさらに含むことを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項４】
前記接続パラメータは、内部データストアと前記外部データストアの双方の定義を含むことを特徴とする請求項３に記載のコンピューティングデバイス。
【請求項５】
エンティティモジュールは、スカラータイプを示すデータメンバを含むことを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項６】
前記外部データ供給モジュールは、エンティティの定義にアクセスして、そこで定義された属性のインベントリを実行するスキーマ作成モジュールをさらに含むことを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項７】
前記外部データ供給モジュールは、外部データソースのデータメンバのデータタイプを前記コンピューティングデバイスにネイティブのデータタイプフィールドにマップすることにより、クライアントコンピューティングデバイス上に表示するために前記外部データストアから外部データをマップすることを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項８】
前記内部データストアからの内部データと同じ方法で、前記ユーザに前記外部データストアから前記外部データを表示するスキーマ作成モジュールをさらに備えることを特徴とする請求項１に記載のコンピューティングデバイス。
【請求項９】
ビジネスデータを取得する方法であって、
前記方法は、
ビジネスオブジェクトに関連する１セットの定義済み属性をカプセル化する前記ビジネスオブジェクトの定義を作成するステップであって、前記１セットの定義済み属性は、特定のエンティティの永続的な同一性を表す識別子属性と、外部データストアから返信されるデータメンバをフィルタにかける基準を含むフィルタ属性と、特定のエンティティに関連するＵＲＬに対するリファレンスを含む動作属性と、関連性が定義された少なくとも１つのエンティティに対するリファレンスを含む関連属性と、アクセス権を設定するための方法を含むアクセス属性とを含む、生成するステップと、
エンティティの定義にアクセスして、そこに定義された属性のインベントリを実行するステップと、
データストアからのデータの要求を受信するステップと、
前記データが内部データストア又は外部データストアに存在するかどうかを判定するステップと、
前記データが前記外部データストアに存在するとき、前記外部データストアに特有の１つ以上のＡＰＩコールを用いて、前記外部データストア上の外部データにアクセスするステップであって、前記外部データストアに関連づけられたＡＰＩｓについての情報が前記内部データストアに含まれ、前記情報は、許容動作と、前記外部データを表示し且つ操作するための、１つ以上の事前に定義された制約条件とを含む、アクセスするステップと、
前記外部データストアから前記外部データをマップするステップと、
ユーザに提示するためのフォーム及び画面を生成するステップであって、前記フォーム及び画面は、前記外部データストアと関連付けられた外部ビジネスシステムのＡＰＩｓにおいて統合された許容動作と関連するコンテンツを含み、前記許容動作は、前記外部データストアに記憶するデータを含む新規エンティティインスタンスを前記ユーザが作成することを可能とする第１の選択メニューアイテムを生成するクリエイタメソッドと、エンティティインスタンスに関連するデータを前記ユーザが表示することを可能とする第２の選択メニューアイテムを生成するスペシフィックファインダメソッドと、エンティティインスタンスの少なくとも１つのプロパティを前記ユーザが修正することを可能とする第３の選択メニューアイテムを生成するアップデータメソッドと、エンティティインスタンスを前記ユーザが削除することを可能とする第４の選択メニューアイテムを生成するデリータメソッドとを含む、生成するステップとを含む、生成するステップと、
前記内部データストアからの内部データと同じように、前記外部データストアからの前記外部データを前記ユーザに提示するステップと、
前記内部データストアからの内部データを操作するのと同じように、前記外部データストアを前記ユーザが操作することを許容するステップと
を含む方法。
【請求項１０】
スカラータイプを示すデータメンバを定義するステップを、さらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
前記外部データストアから前記外部データをマップするステップは、外部データソースのデータメンバのデータタイプをコンピューティングデバイスにネイティブのデータタイプフィールドにマップすることを含むことを特徴とする請求項９に記載の方法。
【請求項１２】
エンティティの定義にアクセスして、そこに定義された属性のインベントリを実行するステップは、複数の異なる外部データストアの接続パラメータにアクセスするステップをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１３】
前記接続パラメータは、前記内部データストアと前記外部データストアの双方の定義を含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記外部データストアから前記外部データを前記画面及びフォームのうちの１つにおいてユーザに提示するステップは、Ｗｅｂブラウザアプリケーションによってインスタンス化されたグラフィカルユーザーインターフェースを介して提示されることを特徴とする請求項９に記載の方法。
【請求項１５】
コンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、
前記コンピュータ実行可能命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに対して、方法を実行させ、前記方法は、
ビジネスオブジェクトに関連する１セットの定義済み属性をカプセル化する前記ビジネスオブジェクトの定義を作成するステップであって、前記１セットの定義済み属性は、特定のエンティティの永続的な同一性を表す識別子属性と、外部データストアから返信されるデータメンバをフィルタにかける基準を含むフィルタ属性と、特定のエンティティに関連するＵＲＬに対するリファレンスを含む動作属性と、関連性が定義された少なくとも１つのエンティティに対するリファレンスを含む関連属性と、アクセス権を設定するための方法を含むアクセス属性とを含む、生成するステップと、
エンティティの定義にアクセスして、そこに定義された属性のインベントリを実行するステップと、
データストアからのデータの要求を受信するステップと、
前記データが内部データストア又は外部データストアに存在するかどうかを判定するステップと、
前記データが前記外部データストアに存在するとき、前記外部データストアに特有の１つ以上のＡＰＩコールを用いて、前記外部データストア上の外部データにアクセスするステップと、
前記外部データストアから前記外部データをマップするステップと、
前記コンピューティングデバイスのユーザに提示するためのフォーム及び画面を作成するステップであって、前記フォーム及び画面は、前記外部データストアと関連付けられた外部ビジネスシステムのＡＰＩｓにおいて統合された許容動作と一致するコンテンツを含み、前記外部データストアに関連づけられたＡＰＩｓについての情報が前記内部データストアに含まれ、前記情報は、許容動作と、前記外部データを表示し且つ操作するための、１つ以上の事前に定義された制約条件とを含み、前記情報は、さらにパラメータ、セキュリティ認可情報、及び、フィルタリング情報を含み、前記許容動作は、前記外部データストアに記憶するデータを含む新規エンティティインスタンスを前記ユーザが作成することを可能とする第１の選択メニューアイテムを生成するクリエイタメソッドと、エンティティインスタンスに関連するデータを前記ユーザが表示することを可能とする第２の選択メニューアイテムを生成するスペシフィックファインダメソッドと、エンティティインスタンスの少なくとも１つのプロパティを前記ユーザが修正することを可能とする第３の選択メニューアイテムを生成するアップデータメソッドと、エンティティインスタンスを前記ユーザが削除することを可能とする第４の選択メニューアイテムを生成するデリータメソッドとを含む、生成するステップと、
前記内部データストアからの内部データと同じように、前記外部データストアから前記外部データを前記画面及びフォームのうちの１つにおいてユーザに提示するステップと、
前記内部データストアからの前記内部データを操作するのと同じように、前記ユーザが前記外部データストアを操作することを許可するステップと
を含むことを特徴とするコンピュータ可読記憶媒体。
【請求項１６】
スカラータイプを示すデータメンバを定義するステップを、さらに含むことを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記外部データストアから前記外部データをマップするステップは、外部データソースのデータメンバのデータタイプを前記コンピューティングデバイスにネイティブのデータタイプフィールドにマップすることを含むことを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１８】
エンティティの定義にアクセスして、そこに定義された属性のインベントリを実行するステップは、複数の異なる外部データストアの接続パラメータにアクセスするステップをさらに含むことを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１９】
前記接続パラメータは、前記内部データストアと前記外部データストアの双方の定義を含むことを特徴とする請求項１８に記載のコンピュータ可読記憶媒体。
【請求項２０】
前記外部データストアから前記外部データを前記画面及びフォームのうちの１つにおいてユーザに提示するステップは、Ｗｅｂブラウザアプリケーションによってインスタンス化されたグラフィカルユーザーインターフェースを介して提示されることを特徴とする請求項１５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビジネスデータを取得する方法、前記方法を実現するコンピューティングデバイス、及び、前記方法を実現するコンピュータ実行可能命令を有するコンピュータ可読記憶媒体に関する。
【背景技術】
【０００２】
現在の企業コンピューティングシステムの実装において、ビジネスデータは複数のデータストアにわたって分散され得る。例えば、ユーザは、顧客情報や他の事業関連データ等の事業活動に関する知識を得るために、複数の「ラインオブビジネス」データストアに対するアクセスを必要とし得る。これらラインオブビジネス（Line-of-Business）データストアは、システムに横断的に拡散され得るし、システムから外部にも設けられ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
かかるデータシステム及び他の事業プロセスを利用するユーザは、その日その日の動作の過程上において複数の外部ビジネスシステムにわたって頻繁に情報を見つけることが必要とされ得る。外部ビジネスシステム間において操作し且つ外部データストアからコンテンツを取得することは、管理者及びユーザの視点からみて、複雑であり且つコストを要し得る。
【課題を解決するための手段】
【０００４】
１つの態様において、コンピューティングデバイスは、処理ユニットと、処理ユニットに接続されたシステムメモリを含む。システムメモリは、前記処理ユニットによって実行されると、前記処理ユニットに対して、内部データストア及び外部データストアにあるデータにアクセスし且つ当該データを操作するビジネスデータカタログモジュールを作成せしめ、前記外部データストアに存在する前記データにアクセスせしめ、前記外部データストアからアクセスされたデータを供給する外部データ供給モジュールを作成せしめる命令を含む。ビジネスデータカタログモジュールは、データの要求を受信し、前記データが前記内部データストア又は前記外部データストアに存在するかどうかを判定し、外部データ供給モジュールは、クライアントコンピューティングデバイス上の提示のために、前記外部データストアからの外部データをマップする。ユーザは、内部データストアからのデータにアクセスし且つ操作するのと同じように、前記外部データストアからの前記データにアクセスし且つ前記データを操作し得る。
【０００５】
別の態様において、ビジネスデータを取得する方法は、データストアからのデータの要求を受信するステップと、前記データが内部データストア又は外部データストアに存在するかどうかを判定するステップと、前記データが前記外部データストアに存在するときに前記外部データストア上の外部データにアクセスするステップと、前記外部データストアから前記外部データをマップするステップと、前記内部データストアからの内部データと同じように前記外部データストアからの前記外部データをユーザに提示するステップとを含む。
【０００６】
さらに別の態様において、コンピュータ実行可能命令を有するコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令は、コンピューティングデバイスによって実行されると、前記コンピューティングデバイスに対して、前記ビジネスオブジェクトに関連する１セットの定義済み属性をカプセル化するビジネスオブジェクトの定義を作成するステップと、エンティティの定義にアクセスして、そこに定義された属性のインベントリを実行するステップと、データストアからのデータの要求を受信するステップと、前記データが内部データストア又は外部データストアに存在するかどうかを判定するステップと、前記データが前記外部データストアに存在するとき、前記外部データストアに特有の１つ以上のＡＰＩコールを用いて、前記外部データストア上の外部データにアクセスするステップと、前記外部データストアから前記外部データをマップするステップと、前記クライアントコンピューティングデバイスの前記ユーザに提示するためのフォーム及び画面を作成するステップと、前記内部データストアからのデータと同じように、前記外部データストアからの前記外部データを前記画面及びフォームのうちの１つにおいてユーザに提示するステップと、前記内部データストアからの前記内部データを操作するのと同じように、前記ユーザが前記外部データストアを操作することを許可するステップと、を実行せしめ、前記フォーム及び画面は、前記外部データストアと関連付けられた外部ビジネスシステムのＡＰＩｓにおいて統合された容認動作と一致するコンテンツを含むことを特徴とする。
【０００７】
この発明の概要は、概念の選択を単純化した形態にて導入するために提供されており、その単純化された形態は、以下に詳細な説明でさらに説明されている。この発明の概要は、特許請求の範囲に記載された発明の重要な特色若しくは本質的な特徴を特定することを目的としていないし、特許請求の範囲に記載された発明を限定することを目的とはしていない。
【０００８】
本開示の態様は、添付図面と共に、様々な実施形態に関する以下の詳細な説明を考慮して、より完全に理解され得る。
【図面の簡単な説明】
【０００９】
【図１】例示的ネットワーク化コンピューティングシステムを示す図である。
【図２】図１のシステムから例示的サーバコンピューティングデバイスを示す図である。
【図３】図２のサーバコンピューティングデバイスの例示的ロジックモジュールを示す図である。
【図４】図３の例示的ビジネスデータカタログモジュールの例示的ロジックモジュールを示す図である。
【図５】図３の例示的外部データリスト供給モジュールの例示的ロジックモジュールを示す図である。
【図６】外部データリストの作成のための例示的方法のフローチャートである。
【図７】外部データリスト画面を表示する例示的方法のフローチャートである。
【図８】新規フォームの提出のための例示的方法のフローチャートである。
【図９】エンティティの特定のインスタンスの削除のための例示的方法のフローチャートである。
【発明を実施するための形態】
【００１０】
本願は、１つ以上の外部データストアにおいて保存されたデータを、好適なビジネスソフトウェアプラットフォームに統合するシステム及び方法に指向されている。外部保存されたデータは、当該データが好適なビジネスソフトウェアプラットフォームに対してネイティブであるかのように、ユーザに提示される。ユーザは、１つ以上の事前に定義された制約条件に応じて、データに対する操作を実行し得る。
【００１１】
本明細書に記載された実施例は、「内部」にあるデータストア及び「外部」にあるデータストアを含む。「内部」にあるデータストアは、システム又は企業内に設けられたストアであり、例えば、ファイアウォール等の安全策のためにシステム又は企業内でのみアクセス可能なストアである。「外部」にあるデータストアは、例えば、インターネット等のネットワークを解してシステム又は企業外でアクセス可能なストアである。
【００１２】
以下の例示的実施形態は、ワシントン州レッドモンドのマイクロソフト社からのＳＨＡＲＥＰＯＩＮＴチームサービスポータルサーバサービスプラットフォームに関して本明細書において記載される。しかしながら、本開示の概念は、外部に設けられたデータをソフトウェアプラットフォームに統合することが望ましいであろう他のシステムにも適用可能である。
【００１３】
図１は、例示的ネットワーク化コンピューティングシステム１００を示している。当該例示的ネットワーク化コンピューティングシステム１００は、ビジネスソフトウェアプラットフォームによってアクセスされる内部データストア及び外部データストアの双方において保存されたデータを含む。「システム」及び「プラットフォーム」という用語は、コンピュータソフトウェアに対して、ネットワーク環境において相互接続され得る１つ以上のコンピューティングデバイスにおけるプログラムモジュール、アルゴリズム、動作、及びタスクを実行せしめるあらゆるハードウェアアーキテクチャ及び／又はソフトウェアフレームワークを一般的に意味する。
【００１４】
例示的ネットワーク化コンピューティングシステム１００は、クライアントコンピューティングデバイス１０５、サーバコンピューティングデバイス１１０、ローカルビジネスシステム１１５、ローカルデータストア１２０、複数の外部ビジネスシステム１２５ａ−ｃ（集合的に、外部ビジネスシステム１２５）、及び外部データストア１３０ａ−ｃ（集合的に、外部データストア１３０）を含む。さらに、第１の通信ネットワーク１３５ａ及び第２の通信ネットワーク１３５ｂ（集合的に、通信ネットワーク１３５）が示されている。例示的ネットワーク化コンピューティング環境１００の他の実施形態も可能である。
【００１５】
通信ネットワーク１３５は、１つ以上のコンピューティングデバイス間のデータ転送のための双方向性データ通信路である。例示的実施形態において、第１の通信ネットワーク１３５ａは、クライアントコンピューティングデバイス１０５とサーバコンピューティングデバイス１１０の間のデータ転送の内部通信経路を確立する。第２の通信ネットワーク１３５ｂは、サーバコンピューティングデバイス１１０と外部ビジネスシステム１２５の間のデータ転送の外部通信経路を確立する。
【００１６】
一般に、通信ネットワーク１３５は、多くのワイヤレス若しくは有線ＷＡＮ、ＬＡＮ、インターネット、又は他のパケットベースの通信ネットワークのいずれでもあり得るので、データは、例示的環境１００の要素間において転送され得る。通信ネットワーク１３５の他の実施形態も可能である。
【００１７】
図示された実施例において、ネットワーク１３５ａは、ビジネスデータプラットフォーム１４０に関して内部的に設けられたネットワークである。ネットワーク１３５ａは、ビジネスデータプラットフォーム１４０と関連付けられたデバイス１０５，１１０及びファイアウォール等のセキュリティ規定の背後に設けられた他のデバイスのみにアクセス可能であるネットワーク１３５ａがＬＡＮ又はＷＡＮであるので、「内部的」である。
【００１８】
ネットワーク１３５ｂはビジネスデータプラットフォーム１４０の外部にある複数のコンピューティングデバイスによってアクセス可能なネットワークである。例えば、ネットワーク１３５ｂは、ビジネスデータプラットフォーム１４０の外部においてアクセス可能であるインターネット又は別のネットワークであり得る。
【００１９】
コンピューティングデバイス１０５，１１０は、以下に説明するように、汎用のコンピューティングデバイスであり得る。図示された実施例において、サーバコンピューティングデバイス１１０は、ビジネスプロセスを実装し得るビジネスサーバである。例示的ビジネスプロセスは、データ連携プロセス、データ管理プロセス、及び他のプロセスを含む。サーバコンピューティングデバイス１１０は、共に動作してビジネスプロセスを実装する複数の相互接続されたサーバコンピューティングデバイスを含み得る。
【００２０】
ローカルビジネスシステム１１５は、ビジネスアプリケーションを提供する１つ以上のビジネスシステムを含む。ローカルビジネスシステム１１５は、さらに詳細に以下に説明するように、ローカルデータストア１２０等の１つ以上のデータストアにおいて設けられたデータに対して動作するビジネスロジックを通常含む。１つの例示的ローカルビジネスシステムは、マイクロソフト社によって提供されたWindows SharePoint Services3.0である。ローカルビジネスシステム１１５の他の実施形態も可能である。
【００２１】
ローカルデータストア１２０は、関連データストア等のデータストア又は他のあらゆるタイプの永続的データ記憶装置等のデータ記憶媒体である。ローカルデータストア１２０は、データを定義済フォーマットにおいて記憶するので、サーバコンピューティングデバイス１１０は、そこに記憶されたデータについて、クエリーを実行し、変更し、管理し得る。例えば、ローカルデータストア１２０は、構造化クエリー言語（SQL: structured query language）データベース等のＸＭＬ Enabledデータベースであり得る。特定の実施形態において、ローカルデータストア１２０は、相互接続された「ファーム」構成に共に論理的にグループ化された複数のデータ記憶装置を含み得る。ローカルデータストア１２０の他の実施形態も、可能である。
【００２２】
図１に図示されているように、クライアントコンピューティングデバイス１０５、サーバコンピューティングデバイス１１０、ローカルビジネスシステム１１５、及びローカルデータストア１２０は、ビジネスデータプラットフォーム１４０内で共に論路的にグループ化されて、ビジネスソフトウェアプラットフォームとして機能的に動作する。例えば、ユーザは、クライアントコンピューティングデバイス１０５におけるＷｅｂブラウザアプリケーションと情報をやり取りして、ビジネスデータの管理及びビジネスデータプラットフォーム１４０内で操作する一人以上の他のユーザとの連携のためのツールとして、それぞれのデバイス１１０，１１５及びローカルデータストア１２０の機能を利用し得る。
【００２３】
かかるビジネスデータプラットフォームの１つの例示的実施形態は、マイクロソフト社からのＳＨＡＲＥＰＯＩＮＴチームサービスポータルサーバサービスプラットフォームである。例示的実施形態において、プラットフォーム要素はＯｆｆｉｃｅ ＳｈａｒｅＰｏｉｎｔ Ｓｅｒｖｅｒ２００７として実施され得るし、サービス要素はＷｉｎｄｏｗｓ ＳｈａｒｅＰｏｉｎｔ Ｓｅｒｖｉｃｅｓ ３．０としてそれぞれ実施され得る。ビジネスデータプラットフォーム１４０の他の実施形態も可能である。
【００２４】
外部ビジネスシステム１２５は、ビジネスデータプラットフォーム１４０の外部にて動作することを除いて、上述したように、ローカルビジネスシステム１１５に類似している。各それぞれの外部ビジネスシステム１２５ａ−ｃは、ビジネスアプリケーションを提供する１つ以上のビジネスシステムを含み得る。
【００２５】
例えば、１つ以上の外部ビジネスシステム１２５ａ−ｃは、ペンシルバニア州、ニュータウンスクウェアのＳＡＰ Ａｍｅｒｉｃａ株式会社の企業資源計画（ERP： enterprise resource planning）システム又は別の一般顧客取引先総合管理であり得る。一般に、それぞれの外部ビジネスシステム１２５ａ−ｃの各々は、外部のサービス、又は、関連データストア若しくは他のあらゆるタイプの永続的データ記憶デバイスに設けられたデータに対するビジネスロジック動作を有するソフトウェアシステムを含むあらゆるタイプのラインオブビジネスシステムであり得る。
【００２６】
例示的実施形態において、それぞれの外部ビジネスシステム１２５ａ−ｃの各々は、それぞれの外部データストア１３０ａ−ｃに通信可能となるように接続されている。外部データストア１３０は、上述したように、ローカルデータストア１２０のものと同様に構成され得る。ローカルデータストア１２０において、各それぞれの外部データストア１３０ａ−ｃは、フォーマットされているので、対応する外部ビジネスシステム１２５ａ−ｃは、自身に記憶されたデータに基づいて動作し得る。外部データストア１３０の他の実施形態も、可能である。
【００２７】
同じように、ビジネスデータプラットフォーム１４０の要素に関して、上述したように、ユーザは、クライアントコンピューティングデバイス１０５におけるＷｅｂブラウザアプリケーションと情報をやり取りして、ビジネスデータの管理及びビジネスデータプラットフォーム１４０のコンテクスト内で操作している一人以上の他のユーザとの連携のためのツールとして、サーバコンピューティングデバイス１１０，外部ビジネスシステム１２５，及び外部データストア１３０の機能を利用することができる。
【００２８】
外部ビジネスシステム１２５と外部データストア１３０はビジネスデータプラットフォーム１４０の外部に設けられているものの、本開示のサーバコンピューティングデバイス１１０は、外部ビジネスシステム１２５の機能をビジネスデータプラットフォーム１４０に統合するよう構成されている。
【００２９】
例えば、さらに詳細に以下に説明するように、サーバコンピューティングデバイス１１０は、マッピング動作を実装するよう構成され得る。当該マッピング動作において、外部ビジネスデータは、ビジネスデータプラットフォーム１４０のコンテクストに移行される。この例においては、サーバコンピューティングデバイス１１０は、ビジネスデータプラットフォーム１４０の内部において保存されたビジネスデータに基づいて提示し且つ動作する方法と同じように、それぞれの外部ビジネスデータを提示し且つ当該データに基づいて動作する複数の方法を実装する。この様に、外部ビジネスデータは、ユーザに提示され、自身がビジネスデータプラットフォーム１４０に対してネイティブである（すなわち、内部にある）かのように動作され得る。
【００３０】
図２は、図１のサーバコンピューティングデバイス１１０の詳細な図面を示している。上記に説明したように、図示された実施例において、サーバコンピューティングデバイス１１０は、少なくとも１つの処理ユニット２０５とシステムメモリ２１０を含むコンピューティングデバイスである。
【００３１】
例えば、サーバコンピューティングデバイス１１０は、デスクトップコンピュータ、ラップトップコンピュータ、又は携帯情報端末であり得る。サーバコンピューティングデバイス１１０は、あらゆる数の、入出力デバイス、中央演算処理ユニット（ＣＰＵ）、データ記憶デバイス、ネットワークデバイス、及びデータを処理し且つ転送する他のあらゆる機能的デバイス少なくとも１つの処理ユニット２０５とシステムメモリ２１０を含み得る。
【００３２】
コンピューティングデバイスの構成及び形態に依存して、システムメモリ２１０は、揮発性（例えば、ＲＡＭ）、不揮発性（例えば、ＲＯＭ、フラッシュメモリ等）、又はこれらのあらゆる組み合わせであり得る。システムメモリ２１０は、コンピューティングデバイスの動作を制御するオペレーティングシステム２１５を記憶し得る。オペレーティングシステム２１５の１つの実施例は、マイクロソフト社からのＷＩＮＤＯＷＳＲオペレーティングシステム又はマイクロソフト社のＭｉｃｒｏｓｏｆｔ Ｏｆｆｉｃｅ ＳｈａｒｅＰｏｉｎｔ Ｓｅｒｖｅｒ ２００７等のサーバである。
【００３３】
システムメモリ２１０は、１つ以上のソフトウェアアプリケーション２２０を含み得るし、プログラムデータを含み得る。ソフトウェアアプリケーション２２０は、例えば、電子メールプログラム、カレンダープログラム、インターネットの閲覧プログラム、表計算プログラム、情報を追跡し且つレポートするプログラム、文書処理プログラム、及び多くの他のもの等、多くの異なるタイプの単一の及び複数の機能性プログラムを含み得る。１つの実施例プログラムがマイクロソフト社からのアプリケーションのオフィス一式である。
【００３４】
サーバコンピューティングデバイス１１０は、付加的な特徴又は機能を有し得る。例えば、サーバコンピューティングデバイス１１０は、例えば、磁気ディスク、光ディスク、又はテープ等の（脱着可能な及び／又は脱着不可能な）さらなるデータ記憶デバイスを含み得る。かかる付加的記憶が、着脱式記憶装置２２５及び非着脱式記憶装置２３０によって図２に示されている。コンピュータの読み込み可能な記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、若しくは他のデータ等の情報を記憶する全ての方法若しくは技術において実装された揮発性の若しくは不揮発性の脱着可能媒体及び脱着不可能媒体を含み得る。システムメモリ２１０，脱着可能記憶装置２２５，及び脱着不可能記憶装置２３０は、すべてコンピュータの読み込み可能な記憶媒体の実施例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ若しくは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）若しくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置若しくは他の磁気記憶装置、又は、所望の情報を記憶するのに使用され且つサーバコンピューティングデバイス１１０によってアクセスされ得るすべての他の媒体を含むがこれらに限定されてない。かかるコンピュータ記憶媒体の全てが、サーバコンピューティングデバイス１１０の一部であり得る。
【００３５】
サーバコンピューティングデバイス１１０は、キーボード、マウス、ペン、音声入力装置、タッチ入力装置等の（複数の）入力装置２３５を有し得る。ディスプレイ、スピーカ、プリンタ等の（複数の）出力装置２４０も含まれ得る。
【００３６】
サーバコンピューティングデバイス１１０は、ネットワーク化された分散コンピューティング環境におけるネットワーク（例えば、図１の通信ネットワーク１３５）上で、外部ビジネスシステム１２５等他のコンピューティングデバイス（例えば、クライアント、サーバ、データベース）との通信を可能にする通信接続２４５をも含み得る。通信接続２４５は、通信媒体の１例である。通信媒体は、コンピュータの読取可能な指示、データ構造、プログラムモジュール又は伝送波若しくは他の転送機構等の変調されたデータ信号における他のデータによって典型的に具現化され得るし、いかなる情報配信媒体をも含む。「変調されたデータ信号」という用語は、信号の情報をエンコードするような方法で設定され又は変化された特性のうち１つ以上を有する信号を意味している。例として、通信媒体は、有線ネットワーク又は直接有線接続等の有線媒体と、音響媒体、ＲＦ媒体、赤外線媒体及び他の無線媒体等の無線媒体とを含む。
【００３７】
例示的実施形態において、図１のクライアントコンピューティングデバイス１０５は、上述したように、サーバコンピューティングデバイス１１０のものと同様に構成され得る。クライアントコンピューティングデバイス１０５は、グラフィカルユーザーインターフェースを表示するＷｅｂブラウザアプリケーションをも含み得る。この様に、ユーザは、ウェブページを介してオンラインコンテンツと情報のやり取りを行い得る。例示的実施形態において、Ｗｅｂブラウザアプリケーションは、ＨＴＴＰ（ハイパーテキスト転送プロトコル）を使用して、オンラインコンテンツに対してＷｅｂサーバの要求をなすクライアントプログラムである。かかるＷｅｂブラウザアプリケーションの１つの実施例は、マイクロソフト社からのＩＮＴＥＲＮＥＴ ＥＸＰＬＯＲＥＲインターネットブラウザである。
【００３８】
一般に、例示的システム１００は、複数のクライアントコンピュータデバイス１０５及びサーバコンピューティングデバイス１１０を含み得る。クライアントコンピュータデバイス１０５及びサーバコンピューティングデバイス１１０の他の実施形態も可能である。
【００３９】
図３は、図２のサーバコンピューティングデバイスの例示的ロジックモジュールを示している。サーバコンピューティングデバイス１１０は、例示的ビジネスデータカタログ（BDC: business data catalog）モジュール３０５及び例示的外部データリスト供給（EDL: external data list）モジュール３１０を含み得る。
【００４０】
ＢＤＣモジュール３０５及びＥＤＬモジュール３１０は、伴に動作して、ビジネスデータプラットフォーム１４０のコンテクスト内の外部データストア１３０に存在するビジネスデータを統合する。例えば、１つの実施形態において、ＢＤＣモジュール３０５及びＥＤＬモジュール３１０は、外部データストア１３０ａから収集されたビジネスデータの「外部データリスト」を、クライアントコンピューティングデバイス１０５上で起動するＷｅｂブラウザアプリケーションのグラフィックユーザインターフェイス上に、伴に作成し且つ表示する。ユーザがビジネスデータプラットフォーム１４０に対して内部に存在するデータにアクセスし且つ操作することができるのと同様に、クライアントコンピュータデバイス１０５のユーザは、この外部ビジネスデータにアクセスし、そして／又は、この外部ビジネスデータを操作し得る。
【００４１】
ＢＤＣモジュール３０５は、サーバコンピューティングデバイス１１０上で実行するソフトウェアのロジックモジュールを含む。当該サーバコンピューティングデバイス１１０によって、ＢＤＣモジュール３０５は外部データストア１３０に存在するデータにアクセスし及び／又は当該データを操作することが可能となる。一般に、クライアントコンピューティングデバイス１０５を介してＷｅｂブラウザアプリケーションと情報をやり取りするユーザがデータを要求するとき、ＢＤＣモジュール３０５は要求を受信し、要求されたデータがビジネスデータプラットフォーム１４０に関して内部又は外部に存在するかどうかを判定する。要求されたデータのステータスを評価する際に、ＢＤＣモジュール３０５は、データ要求を処理する。
【００４２】
例示的実施形態において、データ要求がビジネスデータプラットフォーム１４０の外部に存在するビジネスデータと関連づけられるとき、外部ビジネスシステムのビジネスロジックが１２５はＡＰＩのファサードを介して表示されるので、ＢＤＣモジュール３０５は、それぞれの外部ビジネスシステム１２５によってサポートされているアプリケーションプログラミングインタフェイス（ＡＰＩ）を用いて、外部データストア１３０から様々なデータタイプのビジネスデータを取得する。例示的実施形態において、各それぞれの外部ビジネスシステム１２５ａ−ｃのそれぞれのＡＰＩは、それぞれの外部データストア１３０ａ−ｃに存在するビジネスデータを表示し且つ操作するために、１つ以上の事前に定義された制約条件と共に、許容動作を定義する。
【００４３】
１つの態様において、それぞれの外部ビジネスシステム１２５ａ−ｃに関連付けられたＡＰＩに関する情報は、ＢＤＣモジュール３０５によってアクセスされ得るローカルデータストア１２０において記憶されたデータに含まれる。さらに、ＢＤＣモジュール３０５は、外部データストア１３０からのデータにアクセスし且つ取得するために利用するコンストラクトの様々なパラメータ及び定義を含む各それぞれの外部ビジネスシステム１２５ａ−ｃに関連付けられた他のデータが、ローカルデータストア１２０においても記憶され得る。
【００４４】
例えば、このデータは、セキュリティ認可情報、情報のフィルタリングに関連付けられたエンティティ、方法、パラメータ、及び各方法、パラメータ記述子、及び、各方法、セキュリティ認可情報、情報のフィルタリングに関連付けられたパラメータに関連するデータは含み得る。さらに、ローカルデータストア１２０は、それぞれの外部データストア１３０の各々にて記憶されたデータのタイプを記述するデータを含み得る。
【００４５】
例示的ＥＤＬモジュール３１０は、サーバコンピューティングデバイス１１０上で起動するソフトウェアのロジックモジュールを含む。サーバコンピューティングデバイス１１０によって、ＥＤＬモジュール３１０は、ビジネスデータプラットフォーム１４０のコンテクスト内の外部データストア１３０に保存されたビジネスデータを供給することができる。例えば、ＥＤＬモジュール３１０は、Ｗｅｂブラウザアプリケーションを介したクライアントコンピューティングデバイス１０５上に提示するために、外部ビジネスデータを「画面」及び「フォーム」へマップするアルゴリズムを含む。１つの態様において、外部ビジネスデータを供給することは、製品における変更を生じせしめる設定をなすプロセスを意味する。
【００４６】
例示的実施形態において、上述したように、ローカルデータストア１２０において記憶されたデータに応じて、それぞれの外部ビジネスシステム１２５と対応する外部データストア１３０の設定に基づいた「画面」は外部ビジネスデータを表示する方法に対応する。「フォーム」は、それぞれの外部データストア１３０において記憶された外部ビジネスデータを更新する。データに対する方法に相当する。この様に、供給されたフォーム及び画面は、それぞれの外部ビジネスシステム１２５のＡＰＩにおいて具現化された許容可能な動作と一致しているコンテンツを含み、当該供給されたフォーム及び画面によって、外部ビジネスデータは許容可能なＣＲＵＤＱ動作（作成動作、読取り動作、更新動作、削除動作及びクエリー動作）を介してアクセスされ且つ変更され得る。
【００４７】
図４は、図３のＢＤＣモジュール３０５の例示的ロジックモジュールに関する詳細な図を示している。例示的実施形態において、ＢＤＣモジュール３０５は、例示的パラメータモジュール４０５と例示的エンティティモジュール４１０を含む。
【００４８】
パラメータモジュール４０５は、ＢＤＣモジュール３０５がビジネスデータのソース及びビジネスロジックとしてモデル化し且つアクセスし得る複数のビジネスシステムの接続パラメータ及び定義にアクセスするソフトウェアを含む。例示的実施形態において、それぞれのビジネスシステム特有の接続パラメータ及び定義は、パラメータモジュール４０５によってアクセスされ得るローカルデータストア１２０において記憶されたデータに含まれる。
【００４９】
一般に、ビジネスシステムは、ビジネスデータプラットフォーム１４０のコンテクストの内外において存在するように定義され得る。例えば、ローカルビジネスシステム１１５に対する接続パラメータ及び定義及びそれぞれの外部ビジネスシステム１２５ａ−ｃは、定義され得る。その上、ＢＤＣモジュール３０５は、それぞれのパラメータ及び定義を有するニュービジネスシステムがいつでも定義され得る点において、拡張可能である。
【００５０】
エンティティモジュール４１０は、エンティティと称される、ビジネスオブジェクトに関連する１セットの定義済み属性をカプセル化するビジネスオブジェクトの定義を作成する。例示的実施形態において、エンティティ及び関連属性は、エンティティモジュール４１０によってアクセスされ得るローカルデータストア１２０において記憶されたデータに含まれる。
【００５１】
一般に、エンティティのインスタンスは、整数や文字列等のスカラータイプを表す単純なタイプ、又は、アドレス等の構造化フィールドを表す複雑なタイプであり得るデータメンバを含む。例えば、「顧客」又は「従業員」等のエンティティインスタンスは、表リストデータを含み得る。例示的実施形態において、「顧客」エンティティのインスタンスは、顧客の名前、順序、製品、アドレス等のフィールドを含む行を含むデータの表リストを含み得る。表リストはそれぞれの行と列の各々に割り当てられたデータメンバを含むだろう。
【００５２】
１つの態様において、エンティティの属性は、特定のエンティティに関連するフィールド及びそれぞれのデータメンバがどのようにアクセスされて、変更されて、表示されるのかを命令する複数の定義を含み得る。例えば、ＣＲＵＤＱ動作に割り当てられた方法に関連するエンティティの属性は、許容可能なＲＵＤＱ動作及び関連する機能を命令し得る。例えば、「クリエイタ」というタイプの方法がエンティティの属性内において定義される場合、エンティティの新規インスタンスの作成が許可される。その上、さらに詳細に以下に説明するように、ＣＲＵＤＱ動作は、エンティティに関連付けられたそれぞれの画面及びフォームの各々の供給を可能にする画面グループに論理的にグループ化され得る。
【００５３】
供給された画面及びフォームは、画面グループ内のＣＲＵＤＱ動作に割り当てられた例えば定義された方法に関連付けられた関連機能を有するであろう。例えば、「クリエイタ」方法がエンティティの画面グループ内で定義される場合、「新規」メニューアイテムが、ユーザが新規エンティティインスタンスを作成することを選択し得るウェブページ上に供給され得る。他の実施例方法は、画面に対応する「ファインダ」または「スペシフィックファインダ」というタイプの方法、特定のエンティティインスタンスの１つ以上のプロパティのアップデートを許可する「アップデータ」というタイプの方法、及び、特定のエンティティインスタンスの削除を許可する「デリータ」というタイプの方法を含む。
【００５４】
上記に説明したように、特定の実施形態において、それぞれの画面とフォームに対するＣＲＵＤＱ動作に割り当てられた方法は、画面グループに論理的にグループ化され得る。一般に、エンティティは複数の画面グループを含み得る。例えば、「顧客」というエンティティのインスタンスの１つの特定の画面が、「名」と「姓」と「企業名」を含み得る１セットのカラムに対応し得る。特定の実施形態において、この特定の画面は、表示操作をサポートのみし得る。表示操作において、さらに詳細に以下に説明するように、関連付けられた画面グループが「ファインダ」又は「特定のファインダ」というタイプの方法を含むだけであり得る。
【００５５】
例示的実施形態において、他のタイプの定義済エンティティ属性も可能である。例えば、プライマリキー等の特定のエンティティの永続的な同一性を表す「識別子」属性が、定義され得るので、それぞれのエンティティが特定され得る。さらに、それぞれのＣＲＵＤＱ動作に割り当てられた方法の呼出しの後に返信されるデータメンバをフィルタにかける基準を含む「フィルタ記述子」属性が定義され得る。いくつかの例示的フィルタリング基準は、「ページ番号」基準、「ワイルドカード」基準、「比較」基準、及び他の基準を含む。さらに、エンティティに関連し得るＵＲＬに対するリファレンスである動作を含む「動作」属性が定義され得る。
【００５６】
さらに、関連性が定義された１つ以上のエンティティに対するリファレンスを含む「関連」属性が定義され得る。例示的実施形態において、関連性は１つ以上のエンティティ間の関係を表す。さらに、管理人がアクセス権（すなわち、ＣＲＵＤＱ動作）を設定するために利用することができる方法を含む「アクセス」属性が定義され得る。エンティティ属性に関する多くの他の方法又はタイプが定義され得る。
【００５７】
図５は、図３の例示的ＥＤＬモジュール３１０のロジックモジュールに関する詳細な図を示している。例示的実施形態において、ＥＤＬモジュール３１０は、例示的スキーマ作成モジュール５０５及び例示的なフォーム及び画面作成表示（FVGR: forms and views generation and rendering）モジュール５１０を含む。
【００５８】
１つの態様において、例示的スキーマ作成モジュール５０５及びＦＶＧＲモジュール５１０によって、ＥＤＬモジュール３１０は、クライアントコンピューティングデバイス１０５におけるＷｅｂブラウザアプリケーションによってインスタンス化されたグラフィカルユーザーインターフェースを介してそれぞれのビジネスデータをユーザへの提示のための画面及びフォームにマップすることによって、外部データストア１３０に保存されたビジネスデータをビジネスデータプラットフォーム１４０のコンテクストに統合することが可能となる。本開示の原理によれば、供給された画面及びフォームは、ＢＤＣモジュール３０５によって取得されるようにそれぞれの外部ビジネスシステム１２５のＡＰＩにおいて具現化された許容可能な動作と一致しているコンテンツを含む。
【００５９】
１つの態様において、スキーマ作成モジュール５０５は、上述したように、エンティティモジュール４１０において定義されるようなエンティティの定義にアクセスするソフトウェアを含む。一般に、スキーマ作成モジュール５０５は、ローカルデータストア１２０において記憶されたデータに含まれるようなそれぞれのエンティティとすべての関連属性にアクセスする。例えば、スキーマ作成モジュール５０５は、「顧客」というエンティティにアクセスする要求を受信し得るし、そこに定義された属性のインベントリを実行し得る。例示的実施形態において、「顧客」というエンティティは、ビジネスデータプラットフォーム１４０のコンテクスト内で定義され得るので、デフォルトとして、標準のＣＲＵＤＱ動作に関連付けられたすべての方法を含み得る。当該すべての方法は、「クリエイタ」方法、「スペシフィックファインダ」方法、「アップデータ」方法、及び「デリータ」方法を含む。従って、要求の際に、スキーマ作成モジュール５０５は、「顧客」エンティティの列挙されたＣＲＵＤＱ方法の存在を反映するインベントリを実行するだろう。
【００６０】
別の例として、スキーマ作成モジュール５０５は、「従業員」というエンティティにアクセスする要求を受信し得るし、そこに定義された属性のインベントリを実行し得る。例示的実施形態において、「従業員」というエンティティは、ビジネスデータプラットフォーム１４０のコンテクストの外部において定義され得るし、ＣＲＵＤＱ方法のすべてを含まなくてもよい。例えば、「従業員」というエンティティは、「クリエイタ」方法を含み得ないし、要求の際に、スキーマ作成モジュール５０５は、「従業員」というエンティティが「スペシフィックファインダ」方法、「アップデータ」方法、及び「デリータ」方法のみを有する一覧表を作成するだろう。
【００６１】
ＦＶＧＲモジュール５１０は、スキーマ作成モジュール５０５にアクセスして、それぞれのエンティティ内で定義された属性のインベントリを要求するソフトウェアを含む。それに続いて、確かめられたインベントリに基づいて、ＦＶＧＲモジュール５１０は、Ｗｅｂブラウザアプリケーションによってインスタンス化されたグラフィカルユーザーインターフェースを介してクライアントコンピューティングデバイス１０５のユーザに対して後に提示するためのフォームと画面を生成する。この様に、供給された画面及びフォームは、それぞれの外部データストア１３０上に存在する外部ビジネスデータのデータタイプ及びＢＤＣモジュール３０５によって取得されるようなそれぞれの外部ビジネスシステム１２５のＡＰＩにおいて具現化されたビジネス許容動作と一致しているコンテンツを含む。
【００６２】
例えば、「顧客」というエンティティに関して、上述したように、ＦＶＧＲモジュール５１０は、スキーマ作成モジュール５０５にアクセスして、「顧客」というエンティティの属性のインベントリを要求する。例示的実施形態において、スキーマ作成モジュール５０５は、インベントリを実行して、「クリエイタ」方法、「スペシフィックファインダ」方法、「アップデータ」方法、及び「デリータ」方法を含む定義された属性を返すだろう。
【００６３】
それに続いて、ＦＶＧＲモジュール５１０は、「顧客」というエンティティのインスタンスからの関連データのクライアントコンピューティングデバイス１０５による要求に応じて、フォーム及び画面を作成する。「クリエイタ」方法が見出されたとき、これは、例えば、「新規」メニューアイテムを作成するステップ及び「Newltem.aspx」ウェブページを作成するステップを含み得る。「アップデータ」方法が見出されたとき、これは、「編集」メニューアイテムを作成するステップ及び「Editltem.aspx」ウェブページを作成するステップを含み得る。「デリータ」方法が見出されたとき、これは、「削除」メニューアイテムを作成するステップを含み得る。さらに、さらに詳細に以下に説明するように、「スペシフィックファインダ」が見出されたとき、これは、外部データリストの作成の間に「画面」メニューアイテムを作成するステップ及び新しいディスプレイフォーム「Displtem.aspx」を作成するステップを含み得る。新しいディスプレイフォーム「Displtem.aspx」を作成するステップにおいて、それによって返される「スペシフィックファインダ」はフィールドに対して問い合わせられるだろうし、「Displtem.aspx」表示フォームのフィールドとして追加されるであろう。
【００６４】
同様に、「従業員」というエンティティに関して、上述したように、ＦＶＧＲモジュール５１０は、スキーマ作成モジュール５０５にアクセスして、「従業員」というエンティティの属性のインベントリを要求する。例示的実施形態において、スキーマ作成モジュール５０５は、インベントリを実行して、「スペシフィックファインダ」方法、「アップデータ」方法及び「デリータ」方法を含む取得され且つ定義された属性を返す。
【００６５】
それに続いて、ＦＶＧＲモジュール５１０は、クライアントコンピューティングデバイス１０５による外部ビジネスデータの要求に応じて、フォーム及び画面を供給する。例示的実施形態において、これは、「顧客」エンティティに関して上述したものと同様に、「スペシフィックファインダ」方法、「アップデータ」方法、及び「デリータ」方法に関して画面及びフォームを作成するステップを含み得る。しかしながら、例示的実施形態において、「クリエイタ」方法は「従業員」エンティティにおいて見出されないので、あらゆる関連付けられたリンクと共に、関連付けられたフォームは表示されないであろう。
【００６６】
本明細書に記載された実施例は、ビジネスデータをＷｅｂブラウザアプリケーション上に表示することを含む。しかしながら本開示のシステム及び方法は、例えば、ウィンドウズプレゼンテーションファウンデーションの拡張可能アプリケーションマークアップ言語（XAML: Extensible Application Markup Language）を表示する等のあらゆるクライアントレンダリングプロセスにも適用可能であり得る。
【００６７】
上述したように、プラットフォーム１４０によって、ユーザは内部及び外部データストアに存在するデータにアクセスし、閲覧し、且つ操作することが可能となる。かかる動作の実施例を、図６−８を参照して以下に説明する。
【００６８】
図６は、外部データリストの作成のための例示的方法のフローチャートを示している。動作６０５において、ビジネスアプリケーションはサーバコンピューティングデバイス上でインスタンス化される。それに続いて、動作６０７において、サーバコンピューティングデバイスは、ローカルデータストアにアクセスし、ローカルデータストアで記憶されたすべてのエンティティの定義内において定義された属性のインベントリを実行する。
【００６９】
動作６１０において、サーバコンピューティングデバイスは、動作６０５において取得された属性のインベントリを分析して、例えば、外部データリストを作成するのに使用されるだろうビジネスデータを保存するそれぞれの外部データストアの１つ以上のパラメータを特定する。
【００７０】
動作６１５において、サーバコンピューティングデバイスは、マッピング処理を実行する。当該マッピング処理において、外部データソースのデータメンバのデータタイプは、好適なビジネスデータプラットフォームに対してネイティブであるデータタイプフィールドにマップされる。例えば、「顧客」エンティティのインスタンスは、一種の「文字列」を有するデータメンバを有する「名」と「姓」を有し得る。サーバコンピューティングデバイスは、「名」及び「姓」のデータメンバを、ビジネスデータプラットフォームに対してネイティブである「文字列」タイプを有するデータタイプフィールドにマップするだろう。好適ビジネスデータプラットフォームが、例えば、ＳｈａｒｅＰｏｉｎｔである実施形態において、動作６１５は、「顧客」エンティティタイプの「名」及び「姓」のデータメンバを、「文字列」データタイプフィールドである「SPList」フィールドにマップし得る。当該「文字列」データタイプフィールドは、ＳｈａｒｅＰｏｉｎｔのコンテクスト内の画面及びフォームにおける外部ビジネスデータのレンダリングを可能にする。この様に、動作６１５のマッピング手順は、それが固有のデータであるかのように、外部ビジネスデータをビジネスデータプラットフォームに浮上せしめるよう動作する。
【００７１】
次に、動作６２０において、サーバコンピューティングデバイスは外部データリストを作成する。例示的実施形態において、外部データリストは、それぞれの画面又はフォームを全く有することなく、構成されている。１つの態様において、作成された外部データリストは、ビジネスデータプラットフォームがサーバコンピューティングデバイスを介してそれぞれの外部データソースに時間内のいかなる点においても接続することを容認するように、デマークされる。
【００７２】
動作６２５において、サーバコンピューティングデバイスは、動作６０５において取得された属性のインベントリを分析して、ＣＲＵＤＱ動作に関連付けられた方法のうちどれが、ローカルデータストアにおいて記憶されたエンティティ内で定義されているのかを判定する。特定の実施形態において、方法は、特定のエンティティのそれぞれの画面及びフォームの各々に割り当てられた画面グループ内で論理的にグループ化される。
【００７３】
動作６３０において、サーバコンピューティングデバイスは、動作６２５で画面グループにおいて見出された各「ファインダ」方法に対する画面を作成する。例示的実施形態において、サーバコンピューティングデバイスは、「ファインダ」方法を含む各画面グループに対するウェブページを作成し、ウェブページで表示されるべき画面フォームウェブ部分を構成する。１つの態様において、ウェブ部分は、「ファインダ」方法から作成された協力的アプリケーションマークアップ言語（CAML: Collaborative Application Markup Language）画面ＸＭＬを利用し、画面において返信されるだろうすべてのデータタイプフィールドをリスト化する。１つの態様において、ユーザがウェブページを見るときに「ファインダ」が実行し且つ外部ビジネスデータが外部データストアから取得されるよう、ウェブページは構成され、サーバコンピューティングデバイスによって、ユーザがビジネスデータプラットフォームにおいて予想し得るものと一致したフォームに形成される。
【００７４】
動作６３５において、サーバコンピューティングデバイスは、動作６２５で画面グループにおいて見出された各「アップデート」方法に対するフォームを作成する。それぞれの画面グループが「アップデート」方法をサポートするとき、例えば、「EditForm」が作成される。例示的実施形態において、サーバコンピューティングデバイスは、「アップデート」方法を含む各画面グループに対するウェブページを作成し、ウェブページで表示されるべきフォームウェブ部分を構成する。動作６４０において、サーバコンピューティングデバイスは、それぞれの外部ビジネスデータに関連づけられた動作を、ビジネスデータプラットフォームのカスタム動作へマップする。例えば、エンティティに関連し得るＵＲＬに対するリファレンスが作成される。
【００７５】
図７は、外部データリスト画面を表示する例示的方法７００のフローチャートを示している。動作７０５において、サーバコンピューティングデバイスは、ローカルデータストアにアクセスし、ローカルデータストアで記憶されたすべてのエンティティの定義内において定義された属性のインベントリを実行する。例えば、サーバコンピューティングデバイスが、外部ビジネスデータが取得されることを許容するだろう外部ビジネスデータシステムＡＰＩを呼び出すことを可能にせしめられるように、サーバコンピューティングデバイスは、属性のインベントリを分析する。例示的実施形態において、一覧表を作成された属性は、例えば、それぞれのエンティティに対して画面グループを完全に定義する「LobSystemlnstance」、「EntityNamespace」、「Entity Name」及び「SpecificFinder」の名を含む。
【００７６】
動作７１０において、動作７０５でのインベントリで特定されたそれぞれの「ファインダ」方法に対して、上述したように、「ファインダ」方法の名は、例えば、例示的方法６００の動作６３０と同様に、画面ＣＡＭＬにおいて記憶される。動作７１５において、サーバコンピューティングデバイスは、外部の業務データシステムＡＰＩを呼び出して、「ファインダ」における１セットのフィルタを決定し、画面ＣＡＭＬにおいて記憶された値に基づいてフィルタ値を設定する。
【００７７】
動作７２０において、サーバコンピューティングデバイスは、「ファインダ」方法を実行して、外部ビジネスデータを外部データソースから検索する。動作７２５において、画面ＣＡＭＬに応じて、検索されたデータは再順序化され、１つ以上のソート化、フィルタ化、及び呼出が検索されたデータに利用される。一般に、検索されたデータは、データテーブルとしてメモリにロードされ、インデクシングスキーマは、テーブル内に何回もデータをコピーする必要性を防止するのに使用される。動作７３０において、ＨＴＭＬは、動作７２５と一致する手法において条件化された検索されたデータに対するウェブページに提供される。例示的実施形態において、検索されたデータは、ビジネスデータプラットフォームに対してネイティブであるデータタイプフィールドに基づいて表示される。
【００７８】
図８は、新規フォームの提出のための例示的方法８００のフローチャートを示している。動作８０５において、サーバコンピューティングデバイスは、フォームフィールド値をローカルデータストアから収集する。例示的実施形態において、動作８０５は、表示されたウェブページ編集フォーム上で「ＯＫ」を選択して、ＨＴＭＬフォームのフィールド値を収集するユーザによって実装される。
【００７９】
動作８１０において、サーバコンピューティングデバイスは、ローカルデータストアにアクセスし、ローカルデータストアで記憶されたすべてのエンティティの定義内において定義された属性のインベントリを実行する。この様に、サーバコンピューティングデバイスは、外部ビジネスデータが取得されることを許容するだろう外部ビジネスデータシステムＡＰＩを呼び出すことを可能にせしめられる。例示的実施形態において、一覧表を作成された属性は、例えば、それぞれのエンティティに対して画面グループを完全に定義する「LobSystemlnstance」、「EntityNamespace」、「Entity Name」及び「SpecificFinder」の名を含む。
【００８０】
動作８１５において、サーバコンピューティングデバイスは、属性のインベントリを分析して、ローカルデータストアで記憶されたすべてのエンティティの定義内において定義された例えば「アップデータ」方法のパラメータを決定する。例示的実施形態において、フォームの各フィールド値に対して、関連「アップデータ」パラメータが設定される。動作８２０において、サーバコンピューティングデバイスは、「アップデータ」方法を実行して、それぞれの外部データストアにおける外部ビジネスデータを更新する。
【００８１】
図９は、エンティティの特定のインスタンスの削除のための例示的方法９００のフローチャートを示している。動作９１０において、サーバコンピューティングデバイスは、ローカルデータストアにアクセスし、ローカルデータストアで記憶されたすべてのエンティティの定義内において定義された属性のインベントリを実行する。例えば、エンティティ「識別子」は属性プライマリキー等の特定のエンティティの同一性を表すように、サーバコンピューティングデバイスは、取得された属性のインベントリを分析するので、それぞれのエンティティが特定され得る。
【００８２】
動作９１５において、サーバコンピューティングデバイスは、動作９１０において取得された属性のインベントリを分析するので、例えば、サーバコンピューティングデバイスは、外部ビジネスデータが取得されることを許容するだろう外部ビジネスデータシステムＡＰＩを呼び出すことを可能にせしめられる。例示的実施形態において、一覧表を作成された属性は、例えば、それぞれのエンティティに対して画面グループを完全に定義する「LobSystemlnstance」、「EntityNamespace」、「Entity Name」及び「SpecificFinder」の名を含む。動作９２０において、サーバコンピューティングデバイスは、「デリータ」方法を実行する。
【００８３】
本明細書において記載された例示的実施形態は、ネットワーク化されたコンピュータシステム環境のコンピューティングデバイスにおける論理演算として実装され得る。論理演算は、（ｉ）コンピュータデバイス上で起動する一連のコンピュータ実装命令、ステップ、プログラムモジュール及び（ｉｉ）コンピューティングデバイス内で起動する相互接続された論理モジュール又はハードウェアモジュールとして実装され得る。
【００８４】
例えば、論理演算は、本開示の範囲から逸脱することなく、ソフトウェア、ファームウェア、アナログ回路／デジタル回路、及び／又は、それらのあらゆる組合せのアルゴリズムとして実装され得る。ソフトウェア、ファームウェア、又はコンピュータ命令の類似のシーケンスは、コンピュータ可読記憶媒体においてエンコード化され且つ記憶され得るし、また、コンピューティングデバイス間の転送のためのキャリア波信号内で暗号化され得る。
【００８５】
本発明が構造の機能及び／又は方法論の動作に対して特定の言語によって説明されてきたが、添付して特許請求の範囲において定義された本発明は、上述した特定の特徴又は動作に必ずしも制限されるというわけではないと理解されるべきである。むしろ、上述した特定の特徴又は動作は特許請求の範囲を実装する典型的な形態として開示されている。
【図１】
0005536190.tif 000002
【図２】
0005536190.tif 000003
【図３】
0005536190.tif 000004
【図４】
0005536190.tif 000005
【図５】
0005536190.tif 000006
【図６】
0005536190.tif 000007
【図７】
0005536190.tif 000008
【図８】
0005536190.tif 000009
【図９】
0005536190.tif 000010