(57)【要約】  １つのフレームワークからターゲットにデータ統合ジョブを変換するための技術をここで開示する。変換ツールは、複数のコンポーネントを備えるデータ統合ジョブを受け取る。各コンポーネントは、割り当てられたタスクを実行する。第１のデータ統合ジョブは、所定のフレームワークのものである。変換ツールは、データ統合ジョブをターゲットフレームワークのデータ統合ジョブに変換するための要求を受け取る。要求に応要求に応答して、変換ツールは、データ統合ジョブの各コンポーネントに対して、ターゲットフレームワーク中の対応するコンポーネントが利用可能であるかを決定することにより、データ統合ジョブを変換する。変換ツールは、コンポーネントを対応するコンポーネントに変換し、データストア中に新たなデータ統合ジョブをデータストア中に記憶する。【選択図】図１
2019530121.tif 000002
【特許請求の範囲】
【請求項１】
ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための方法であって、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるかを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、方法。
【請求項２】
レビューのために前記コンポーネントにフラグを立てると、
アプリケーションを介して前記コンポーネントを提示することと、
前記フラグを立てたコンポーネントの代わりに、前記第２のデータ統合ジョブ中に含めるために、コンポーネントの仕様を受け取ることとをさらに備える、請求項１に記載の方法。
【請求項３】
前記第１のデータ統合ジョブ中の前記コンポーネントに対応する前記第２のフレームワーク中の前記コンポーネントが利用可能でないと決定すると、
前記コンポーネントに関係付けられている１つ以上の変換ルールを識別することと、
前記識別された１つ以上の変換ルールを前記コンポーネントに適用することとをさらに備える、請求項１に記載の方法。
【請求項４】
前記第２のフレームワーク中のコンポーネントが利用可能であると決定することは、
前記第１のフレームワークを前記第２のフレームワークに統合するジョブ定義モデルを評価することを備える、請求項１に記載の方法。
【請求項５】
前記要求は、前記第１のデータ統合ジョブに対応するファイル、前記第１のフレームワークを記述するメタデータ、および、前記第２のフレームワークの仕様を含む、請求項１に記載の方法。
【請求項６】
グラフィカルユーザインターフェースを介して前記第２のデータ統合ジョブを提示することと、
前記第２のデータ統合ジョブ中の少なくとも第１のコンポーネントへの１つ以上の修正の選択を受け取ることと、
前記１つ以上の修正に基づいて、前記少なくとも第１のコンポーネントを変換することとをさらに備える、請求項１に記載の方法。
【請求項７】
前記変換されたコンポーネントを生成すると、
前記第１のデータ統合ジョブのコンポーネント中のパラメータを前記変換したコンポーネント中に入れることをさらに備える、請求項１に記載の方法。
【請求項８】
命令を記憶しているコンピュータ読取可能記憶媒体であって、プロセッサ上で命令が実行されるとき、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための動作を実行し、前記動作は、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるかを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、コンピュータ読取可能記憶媒体。
【請求項９】
前記動作は、レビューのために前記コンポーネントにフラグを立てると、
アプリケーションを介して前記コンポーネントを提示することと、
前記フラグを立てたコンポーネントの代わりに、前記第２のデータ統合ジョブ中に含めるために、コンポーネントの仕様を受け取ることとをさらに備える、請求項８に記載のコンピュータ読取可能記憶媒体。
【請求項１０】
前記動作は、前記第１のデータ統合ジョブ中の前記コンポーネントに対応する前記第２のフレームワーク中の前記コンポーネントが利用可能でないと決定すると、
前記コンポーネントに関係付けられている１つ以上の変換ルールを識別することと、
前記識別された１つ以上の変換ルールを前記コンポーネントに適用することとをさらに備える、請求項８に記載のコンピュータ読取可能記憶媒体。
【請求項１１】
前記第２のフレームワーク中のコンポーネントが利用可能であると決定することは、
前記第１のフレームワークを前記第２のフレームワークに統合するジョブ定義モデルを評価することを備える、請求項８に記載のコンピュータ読取可能記憶媒体。
【請求項１２】
前記要求は、前記第１のデータ統合ジョブに対応するファイル、前記第１のフレームワークを記述するメタデータ、および、前記第２のフレームワークの仕様を含む、請求項８に記載のコンピュータ読取可能記憶媒体。
【請求項１３】
前記動作は、
グラフィカルユーザインターフェースを介して前記第２のデータ統合ジョブを提示することと、
前記第２のデータ統合ジョブ中の少なくとも第１のコンポーネントへの１つ以上の修正の選択を受け取ることと、
前記１つ以上の修正に基づいて、前記少なくとも第１のコンポーネントを変換することとをさらに備える、請求項８に記載のコンピュータ読取可能記憶媒体。
【請求項１４】
前記動作は、前記変換されたコンポーネントを生成すると、
前記第１のデータ統合ジョブのコンポーネント中のパラメータを前記変換したコンポーネント中に入れることをさらに備える、請求項８に記載のコンピュータ読取可能記憶媒体。
【請求項１５】
システムであって、
プロセッサと、
プログラムコードを記憶しているメモリとを備え、前記プログラムコードは、前記プロセッサ上で実行されるとき、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための動作を実行し、前記動作は、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるか否かを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、システム。
【請求項１６】
前記動作は、レビューのために前記コンポーネントにフラグを立てると、
アプリケーションを介して前記コンポーネントを提示することと、
前記フラグを立てたコンポーネントの代わりに、前記第２のデータ統合ジョブ中に含めるために、コンポーネントの仕様を受け取ることとをさらに備える、請求項１５に記載のシステム。
【請求項１７】
前記動作は、前記第１のデータ統合ジョブ中の前記コンポーネントに対応する前記第２のフレームワーク中の前記コンポーネントが利用可能でないと決定すると、
前記コンポーネントに関係付けられている１つ以上の変換ルールを識別することと、
前記識別された１つ以上の変換ルールを前記コンポーネントに適用することとをさらに備える、請求項１５に記載のシステム。
【請求項１８】
前記第２のフレームワーク中のコンポーネントが利用可能であると決定することは、
前記第１のフレームワークを前記第２のフレームワークに統合するジョブ定義モデルを評価することを備える、請求項１５に記載のシステム。
【請求項１９】
前記動作は、
グラフィカルユーザインターフェースを介して前記第２のデータ統合ジョブを提示することと、
前記第２のデータ統合ジョブ中の少なくとも第１のコンポーネントへの１つ以上の修正の選択を受け取ることと、
前記１つ以上の修正に基づいて、前記少なくとも第１のコンポーネントを変換することとをさらに備える、請求項１５に記載のシステム。
【請求項２０】
前記動作は、前記変換されたコンポーネントを生成すると、
前記第１のデータ統合ジョブのコンポーネント中のパラメータを前記変換したコンポーネント中に入れることをさらに備える、請求項１５に記載のシステム。
【発明の詳細な説明】
【背景】
【０００１】
【技術分野】
【０００２】
[0001]  本開示の実施形態は、一般的にデータ処理に関し、より具体的には、１つのフレームワークから別のフレームワークに処理ジョブを変換することに関する。
【関連技術の説明】
【０００３】
[0002]  分析、在庫、および、マーケティングのようなさまざまな目的の大量のデータを、組織は処理するかもしれない。ビッグデータは、組織による意思決定を通知することができる傾向を決定するために、統計的に分析されることができる。典型的に、組織は、さまざまなソースからのデータをデータの統一されたビューに組み合わせるためのタスクを備える（ここでは「ジョブ」とも呼ばれることもある）データ統合ワークフローを設計するかもしれない。例えば、抽出−変換−ロード（ＥＴＬ）ジョブは、一般的に、同質または異質なソースからのデータのセットを入力としてとり、後続の分析のためにデータをフォーマットし、データをターゲットデータストア中に記憶する。
【０００４】
[0003]  データ統合テクノロジーは進化しており、大量のデータを処理するための多くの異なるフレームワークが利用可能になっている。例えば、ＭａｐＲｅｄｕｃｅは、所定のデータセット上でＭａｐとＲｅｄｕｃｅ機能の組み合わせを使用して、並行して多くのデータセットを処理し、分析のための有益なデータのセットを生成するプログラミングモデルである。別の例として、いくつかのクラスタコンピューティングフレームワークは、ミニバッチ中にデータを取り込み、これらのミニバッチ上で耐障害性分散データセット（ＲＤＤ：ｒｅｓｉｌｉｅｎｔ  ｄｉｓｔｒｉｂｕｔｅｄ  ｄａｔａｓｅｔ）変換を実行してもよい。
【０００５】
[0004]  開発者は、最も速い処理時間、所定のデータのタイプ、ジョブの複雑性、および、データの量のような要因を考慮して、所望のデータ統合ジョブに対して適切なフレームワークを選んでもよい。しかしながら、完全に異なる、大量のデータを処理するために利用可能なフレームワークの量を考慮すると、どのフレームワークを使用するかを開発者はただちに確信しないかもしれない。例えば、所定のデータ統合ジョブに対して、標準のＪａｖａ（登録商標）フレームワークは、ＭａｐＲｅｄｕｃｅフレームワークを使用して実行される場合よりもより速く結果をもたらすかもしれない。または、基本的なデータのサイズを考慮すると、バッチストリーミングジョブは、リソースを最も効率的に使用してデータを処理するかもしれない。
【０００６】
[0005]  結果として、開発者は、所定のデータ統合ジョブに対して異なるフレームワークで試すことを望むかもしれない。しかしながら、開発者は、各フレームワークに対してジョブを手動で作成することを要求されるかもしれない。さらに、システムが異なるフレームワーク下でジョブを実行しようとなかろうと、開発者は、データ統合ジョブをあるシステムから別のシステムに移動させたいかもしれない。したがって、開発者は、そのフレームワークを使用するジョブを記録する必要があるだろう。各フレームワークは、完全に異なる基礎となるコンポーネントを有しているかもしれないことから、１つのフレームワーク中のデータ統合ジョブは、別のフレームワーク中の同じデータ統合ジョブに対して異なる複雑性を有しているだろう。結果として、別のフレームワーク中でデータ統合ジョブを再作成することは、非常に時間がかかり、エラーになりやすいプロセスになることがある。
【概要】
【０００７】
[0006]  ここに提示する１つの実施形態は、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための方法を説明する。方法は、第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることを含んでいる。第１のデータ統合ジョブは、複数のコンポーネントを備えている。各コンポーネントは、第１のデータ統合ジョブの一部として割り当てられたタスクを実行する。要求に応答して、方法は、一般的に、第１のデータ統合ジョブの各コンポーネントに対して、以下のステップを実行するが、まず、第１のデータ統合ジョブ中のコンポーネントに対応する第２のフレームワーク中のコンポーネントが利用可能であるかを決定すること、を実行する。第２のフレームワーク中のコンポーネントが利用可能であると決定する場合、第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成する。第２のフレームワーク中のコンポーネントが利用可能でないと決定する場合、レビューのためにコンポーネントにフラグを立てる。第２のデータ統合ジョブをデータストア中に記憶する。
【０００８】
[0007]  ここに提示する別の実施形態は、命令を記憶しているコンピュータ読取可能記憶媒体を説明し、プロセッサ上で命令が実行されるとき、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための動作を実行する。動作自体は、一般的に、第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることを含んでいる。第１のデータ統合ジョブは、複数のコンポーネントを備えている。各コンポーネントは、第１のデータ統合ジョブの一部として割り当てられたタスクを実行する。要求に応答して、動作は、一般的に、第１のデータ統合ジョブの各コンポーネントに対して、以下のステップを実行するが、まず、第１のデータ統合ジョブ中のコンポーネントに対応する第２のフレームワーク中のコンポーネントが利用可能であるかを決定すること、を実行する。第２のフレームワーク中のコンポーネントが利用可能であると決定する場合、第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成する。第２のフレームワーク中のコンポーネントが利用可能でないと決定する場合、レビューのためにコンポーネントにフラグを立てる。第２のデータ統合ジョブをデータストア中に記憶する。
【０００９】
[0008]  ここに提示するさらに別の実施形態は、プロセッサとメモリとを有するシステムを説明する。プログラムコードを記憶しているメモリは、プロセッサ上で実行されるとき、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための動作を実行する。動作自体は、第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることを含んでいる。第１のデータ統合ジョブは、複数のコンポーネントを備えている。各コンポーネントは、第１のデータ統合ジョブの一部として割り当てられたタスクを実行する。要求に応答して、動作は、一般的に、第１のデータ統合ジョブの各コンポーネントに対して、以下のステップを実行するが、まず、第１のデータ統合ジョブ中のコンポーネントに対応する第２のフレームワーク中のコンポーネントが利用可能であるかを決定すること、を実行する。第２のフレームワーク中のコンポーネントが利用可能であると決定する場合、第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成する。第２のフレームワーク中のコンポーネントが利用可能でないと決定する場合、レビューのためにコンポーネントにフラグを立てる。第２のデータ統合ジョブをデータストア中に記憶する。
【図面の簡単な説明】
【００１０】
[0009]  本開示の上述した特徴を詳細に理解できるように、上記で簡潔に要約した本開示のより具体的な説明が、実施形態を参照することにより行われ、実施形態のうちのいくつかが添付の図面に図示されている。しかしながら、添付した図面は、例示的な実施形態のみを図示しており、したがって、その範囲を限定するものと考えるべきではなく、他の同等に効果的な態様を認めてもよいことに留意すべきである。
【図１】[0010]  図１は、１つの実施形態にしたがった、例示的なコンピューティング環境を図示している。
【図２】[0011]  図２は、１つの実施形態にしたがった、図１に関連して説明するデータ変換ツールの概念上のダイヤグラムを図示している。
【図３】[0012]  図３は、１つの実施形態にしたがった、ユニバーサルジョブ定義モデルの概念上のダイヤグラムを図示している。
【図４】[0013]    図４は、１つの実施形態にしたがった、所定のフレームワークのデータ統合ジョブを別のフレームワークのデータ処理ジョブに変換するための方法を図示している。
【図５】[0014]    図５は、１つの実施形態にしたがった、所定のフレームワークのデータ処理ジョブを別のフレームワークのデータ統合ジョブに変換するように構成されている例示的なコンピューティングシステムを図示している。
【００１１】
［0015］  理解を促進するように、図面に共通の同一の要素を指定するために、可能な限り同一の参照番号が使用されている。１つの実施形態中の要素と特徴は、さらなる詳述なく、他の実施形態に有益に組み込むことができることが企図されている。
【詳細な説明】
【００１２】
[0016]  ここで提示する実施形態は、１つのフレームワーク（例えば、標準Ｊａｖａフレームワーク、ＭａｐＲｅｄｕｃｅフレームワーク、バッチ処理フレームワーク等）から別のフレームワークにデータ統合ジョブを変換するための技術を開示する。実施形態は、入力データのセットを受け取り、データを処理し、処理したデータに基づいて出力を生成するための、多数のタスクを備えるデータ統合ジョブを開発者が設計することを可能にする統合開発環境（ＩＤＥ）アプリケーションを提供する。
【００１３】
[0017]  １つの実施形態において、ＩＤＥアプリケーションは、基礎となるソースコード、グラフィカルフロー説明、および、所定のフレームワークのデータ統合ジョブ間の接続メタデータを別のフレームワークのジョブに変換するための、統合ジョブ定義モデルを使用する変換ツールを提供する。統合ジョブ定義モデルは、標準Ｊａｖａ、ＭａｐＲｅｄｕｃｅ、バッチ処理、ストリーム処理フレームワークのような、さまざまなフレームワークに対する定義を含んでいてもよい。
【００１４】
[0018]  以下でさらに説明するように、変換ツールは、ジョブ定義モデルを使用して、データ統合ジョブを変換してもよい。例えば、変換ツールは、ジョブ定義モデルに対して入力ジョブの各コンポーネントを分析してもよい。変換ツールは、ターゲットフレームワークの対応するコンポーネントを識別する。識別した場合、変換ツールは、そのコンポーネントを対応するコンポーネントに変換する。
【００１５】
[0019]  図1は、１つの実施形態にしたがった、コンピューティング環境１００を図示している。図示したように、コンピューティング環境１００は、開発者システム１０５、データ処理システム１１０、入力データストア１１５、および、出力データストア１２０を含み、それぞれは、ネットワーク１２５、例えばインターネットを介して、相互接続されている。
【００１６】
[0020]  一般的に、データ処理システム１１０は、処理アプリケーション１１２を含んでいる。処理アプケーション１１２は、入力データストア１１５（および他のデータのソース）からデータを検索し、データを処理し（例えば、さらに分析されるようにデータを変換し）、処理したデータを出力データストア１２０にロードするためにワークフローとして実行されるさまざまなタスクを含む、データ統合ジョブを実行する。例えば、データ統合ジョブは、ＭａｐＲｅｄｕｃｅのようないくつかのデータ処理フレームワークの下で実行される、抽出−変換−およびロード（ＥＴＬ）処理ジョブであってもよい。
【００１７】
[0021]  １つの実施形態において、開発者は、処理アプリケーション１１２によって実行されることになるデータ統合ジョブを設計してもよい。特に、開発者システム１０５は、開発者がデータ統合ジョブ１０９を設計できるＩＤＥアプリケーション１０６を含んでいる。例えば、ＩＤＥアプリケーション１０６は、所定のデータ統合ジョブに対するキャンバスを含むグラフィカルユーザインターフェース（ＧＵＩ）を提供してもよい。開発者は、設計コンポーネントのグラフィカル表現とコネクタとをキャンバス上にドラッグして、所定のデータ統合ジョブ１０９を作成してもよい。
【００１８】
[0022]  各コンポーネントは、そのコンポーネントに関係付けられている基礎となる機能を実行する。例えば、ファイル入力パスに対するコンポーネントは、データ統合ジョブ１０９中でファイル入力パスを検索するソースコードを含んでいてもよい。開発者は、所定のコンポーネントを別のコンポーネントとリンクして、データ統合ジョブ１０９に対するフローを作成してもよい。ＩＤＥアプリケーション１０６下で作成したジョブは、モデリングフレームワーク下に記憶される。モデリングフレームワークは、グラフィカルフロー説明と接続メタデータのような、所定のデータ統合ジョブ１０９に関連する情報を記憶する。
【００１９】
[0023]  ＩＤＥアプリケーション１０６は、さまざまなデータ処理フレームワークをサポートする。例示的なフレームワークは、Ｊａｖａ、Ａｐａｃｈｅ  Ｈａｄｏｏｐ、Ａｐａｃｈｅ  Ｓｐａｒｋ、および、これらに類するものを含む。データ処理ジョブ１０９を作成するとき、開発者は、フレームワークのうちの１つを選択してもよく、その後、ＩＤＥアプリケーション１０６は、そのフレームワークに関係付けられているコンポーネントとコネクタを検索する。いくつかのケースでは、開発者は、１つのフレームワーク（例えば、ＭａｐＲｅｄｕｃｅ）の所定のデータ統合ジョブ１０９を別のフレームワーク（例えば、Ａｐａｃｈｅ  Ｓｐａｒｋ）の対応するデータ統合ジョブ１０９に移植することを望むかもしれない。
【００２０】
[0024]  このようにするために、ＩＤＥアプリケーション１０６は、データ統合ジョブ１０９をさまざまなフレームワークに自動的に変換する変換ツール１０７を含んでいる。例えば、開発者は、ＧＵＩを通して変換ツール１０７にアクセスし、特定のデータ処理フレームワークの所望のデータ統合ジョブ１０９を選択してもよい。開発者は、データ統合ジョブ１０９を変換するターゲットフレームワークも選択してもよい。１つの実施形態では、変換ツール１０７は、すべてのサポートされているフレームワークの各コンポーネントに対して定義（例えば、クラス、オブジェクト定義）を提供する統合されたモデルである、ジョブ定義モデル１０８を含んでいる。ジョブ定義モデル１０８は、フレームワークに渡る共通の定義を互いにマッピングしてもよい。
【００２１】
[0025]  図２は、１つの実施形態にしたがった、変換ツール１０７の概念上のダイヤグラムを図示している。図示しているように、変換ツール１０７は、検索コンポーネント２０５、生成コンポーネント２１０、評価コンポーネント２１５、変換コンポーネント２２０、記憶コンポーネント２２５、および、ジョブ定義モデル１０８を含んでいる。
【００２２】
[0026]  一般的に、検索コンポーネント２０５は、１つのフレームワークから別のフレームワークにデータ統合ジョブ１０９を変換するための要求を受け取る。検索コンポーネント２０５は、データソースからデータ統合ジョブ１０９自体とともに、ＩＤＥアプリケーション１０９のモデルフレームワークからジョブに関連する情報を検索してもよい。このような情報は、データ統合ジョブのタイプ、基礎となるフレームワーク、グラフィカルフロー説明、コネクタメタデータ、および、これらに類するものを含むことができる。生成コンポーネント２１０は、オリジナルデータ統合ジョブ１０９において提供されるコンテンツを含む新たなデータ処理ジョブ１０９ファイルを初期化する。生成コンポーネント２１０は、フレームワークメタデータがターゲットフレームワークを指定できるように、ファイルの特性を更新してもよい。
【００２３】
[0027]  コンポーネントにおいて指定されるパラメータ、値、および、変数を識別するために、評価コンポーネント２１５は、データ統合ジョブ１０９のコンポーネントのそれぞれを分析してもよい。さらに、評価コンポーネント２１５は、変換の目的のために、ターゲットフレームワークにおける対応するコンポーネントを決定してもよい。例えば、標準データ統合フレームワーク中のｔＦｉｌｅＩｎｐｕｔＤｅｌｉｍｉｔｅｄコンポーネントは、Ａｐａｃｈｅ  Ｓｐａｒｋ中のｔＦｉｌｅＩｎｐｕｔＤｅｌｉｍｉｔｅｄコンポーネントに対応してもよい。
【００２４】
[0028]  さらに、評価コンポーネント２１５は、任意の特別な変換をコンポーネントにすべきかを識別するために、任意の追加の変換ポリシーを評価してもよい。例えば、標準データ統合ジョブにおける（サーバへのＲｅｄｓｈｉｆｔ  ＪＤＢＣ接続を開始するための）ｔＲｅｄｓｈｉｆｔＣｏｎｎｅｃｔｉｏｎコンポーネントは、通常、Ａｐａｃｈｅ  Ｓｐａｒｋ中に対応するコンポーネントを有していないかもしれない。代わりに、ポリシーは、ｔＲｅｄＳｈｉｆｔＣｏｎｎｅｃｔｉｏｎがＡｐａｃｈｅ  ＳｐａｒｋにおけるｔＲｅｄＳｈｉｆｔＣｏｎｎｅｃｔｉｏｎコンポーネントに変換すべきであることを指定してもよい。
【００２５】
[0029]  評価コンポーネント２１５は、対応するコンポーネントが、データ統合ジョブ１０９における所定のコンポーネントに対して利用可能でないことも決定してもよい。
【００２６】
[0030]  変換コンポーネント２２０は、評価コンポーネント２１５における所定の分析されたコンポーネントについての結果を受け取る。変換コンポーネント２２０は、その後、オリジナルのコンポーネントから対応するコンポーネントに、変数、値、および、これらに類するものをコピーしてもよい。変換コンポーネント２２０は、ＧＵＩにおける提示のために、そのコンポーネントの対応するグラフィカル表現も検索してもよい。評価コンポーネント２１５が対応するコンポーネントを識別することができない場合、変換コンポーネント２２０は、開発者によるレビューのために、基礎となるコンポーネントにフラグを立ててもよい。次に、開発者は、ターゲットフレームワークに対する使用のために適切なコンポーネントを決定してもよい。例えば、レビューのために基礎となるコンポーネントにフラグを立てることに応答して、ＩＤＥアプリケーション１０６は、グラフィカルユーザインターフェースを介して開発者に、フラグを立てたコンポーネントを提示してもよい。次に、開発者は、適切なコンポーネントを決定するために、フラグを立てたコンポーネントを評価してもよい。いったん決定されると、開発者は、次に仕様を受け取り、コンポーネントを指定のコンポーネントに変換するＩＤＥアプリケーション１０６を介して、対応するコンポーネントを指定してもよい。
【００２７】
[0031]  記憶コンポーネント２２５は、結果として生じたデータ統合ジョブ１０９をデータストア、例えば、開発者システム１０５上のローカルディスク、クラウド記憶ロケーション等にセーブする。さらに、開発者は、ＩＤＥアプリケーション１０６のＧＵＩを介して結果として生じたデータ統合ジョブ１０９を見て、（例えば、変換コンポーネント２２０によってフラグを立てられたコンポーネントへの）任意のさらなる修正を行ってもよい。
【００２８】
[0032]  図３は、１つの実施形態にしたがった、例示的なユニバーサルジョブ定義モデル３００の概念上のダイヤグラムを図示している。ＩＤＥアプリケーション１０６は、さまざまなランタイムに変換されることができるユニバーサルジョブ定義モデルを含んでいる。例えば、これは、Ｊａｖａにおける標準ジョブ、ＭａｐＲｅｄｕｃｅジョブ、Ｓｐａｒｋ  Ｂａｔｃｈジョブ、Ｓｐａｒｋ  ｓｔｒｅａｍｉｎｇジョブ、および、ＪａｖａにおけるＳｔｏｒｍジョブを含むことができる。
【００２９】
[0033]  １つの実施形態において、ＩＤＥアプリケーション１０６は、所定のジョブに関連する情報を記憶するためのモデリングフレームワーク（例えば、Ｅｃｌｉｐｓｅモデリングフレームワーク）を使用する。このような情報は、グラフィカルフロー説明、接続メタデータ、および、これらに類するものを含む。モデリングフレームワークは、ＩＤＥアプリケーションが、モデルをジョブとしてセーブし、回復することを可能にする。モデリングフレームワークにおいて、ジョブは、一般的に、３０５において図示されているように、プロセスアイテムと呼ばれるメインクラスに基づいてもよい。
【００３０】
[0034]  ビッグデータバッチジョブは、プロセスアイテムクラスを拡張するＭａｐＲｅｄｕｃｅＰｒｏｃｅｓｓＩｔｅｍと呼ばれるモデリングフレームワーククラスに基づいている。ジョブの定義は、（図３１０において図示されている）プロセスタイプオブジェクトに含まれる。ビッグデータストリーミングジョブは、プロセスアイテムクラスを伸長するＳｔｏｒｍＰｒｏｃｅｓｓＩｔｅｍと呼ばれるモデリングフレームワークに基づいている。ジョブの定義は、プロセスタイプオブジェクト３１０中に含まれる。
【００３１】
[0035]  任意のジョブが変換されるとき、デフォルト設定で、すべての変数が維持されるという点でコンポーネントのセットアップは同じままであるということに留意すべきである。したがって、主な変更はコンポーネントを含むクラスにおいて起こる。ジョブは、サブジョブと呼ばれる有向非巡回グラフのシーケンスからなる。サブジョブは、複数のコンポーネントを含んでいてもよい。
【００３２】
[0036]  図４は、１つの実施形態にしたがった、所定のフレームワークのデータ統合ジョブを別のフレームワークのデータ処理ジョブに変換するための方法４００を図示している。示すように、方法４００は、ステップ４０５において開始し、検索コンポーネント２０５は、１つのフレームワークから別のフレームワークにデータ統合ジョブを変換するための要求を受け取る。要求は、データ統合ジョブファイル、データ統合ジョブの基礎となるフレームワークを記述したメタデータ、および、ターゲットフレームワークを含んでいてもよい。例えば、要求は、ＭａｐＲｅｄｕｃｅフレームワークからＡｐａｃｈｅ  Ｓｐａｒｋフレームワークにデータ統合ジョブを変換することを指定してもよい。検索コンポーネント２０５は、記憶装置からのデータ処理ジョブ１０９とともに、モデルフレームワーク中に記憶されているデータ処理ジョブ１０９に関係付けられている任意のメタデータを検索してもよい。
【００３３】
[0037]  ステップ４１０において、生成コンポーネント２１０は、オリジナルデータ統合のコンテンツ（コンポーネント、コネクタ、および、これらに類するもの）を含む新たなデータ統合ジョブを初期化する。生成コンポーネント２１０はまた、データ統合ジョブファイルがターゲットフレームワークのものであると（例えば、新たなファイルに関するメタデータにおいて）指定してもよい。
【００３４】
[0038]  ステップ４１５において、方法４００は、新たなデータ統合ジョブの各コンポーネントについてループを入力する。ステップ４２０において、評価コンポーネント２１５は、コンポーネントが、ターゲットフレームワーク中の対応するコンポーネントを有しているかを決定する。評価コンポーネント２１５は、ジョブ定義モデル１０８を評価することによってそのようにしてもよい。ステップ４２５において、評価コンポーネント２１５は、対応するコンポーネントは利用可能であるかを決定する。評価コンポーネントの２１５は、決定の結果を変換コンポーネント２２０に送ってもよい。対応するコンポーネントが利用可能である場合、その後、変換コンポーネント２２０は、オリジナルコンポーネントを対応するコンポーネントに変換する。変換コンポーネント２２０は、変数に関係付けられているコンポーネントに対するパラメータとオリジナルコンポーネントから検索した値を入れ（ｐｏｐｕｌａｔｅ）てもよい。
【００３５】
[0039]  対応するコンポーネントが利用可能でない場合、その後、ステップ４３０において、評価コンポーネント２１５は、変換ポリシーを評価し、その特定のコンポーネントに利用可能な任意の特別な変換ルールがあるかを決定する。そうである場合、ステップ４３５において、変換コンポーネント２２０は、ルールをそのコンポーネントに適用する。そうでなければ、ステップ４４０において、変換コンポーネント２２０は、開発者によるレビューのために、コンポーネントにフラグを立ててもよい。
【００３６】
[0040]  ステップ４４５において、記憶コンポーネント２２５は、新たなデータ統合ジョブを記憶ロケーション（例えば、開発者システム１０５中のローカルディスク、クラウド記憶ロケーション、ファイルサーバ等）にセーブする。
【００３７】
[0041]  図５は、１つの実施形態にしたがった、所定のフレームワークのデータ処理ジョブを別のフレームワークのデータ統合ジョブに変換するように構成されている例示的なコンピューティングシステム５００を図示している。示しているように、コンピューティングシステム５００は、中央処理ユニット（ＣＰＵ）５０５、ネットワークインターフェース５１５、メモリ５２０、および、記憶装置５３０を含むがこれらに限定されず、それぞれは、バス５１７に接続されている。コンピューティングシステム５００は、Ｉ／Ｏデバイス５１２（例えば、キーボード、マウス、および、ディスプレイデバイス）をコンピューティングシステム５００に接続するＩ／Ｏデバイスインターフェース５１０も含んでいてもよい。さらに、本開示の文脈において、コンピューティングシステム５００において示すコンピューティング要素は、物理的コンピューティングシステム（例えば、データセンター中のシステム）に対応してもよく、または、コンピューティングクラウド内で実行する仮想コンピューティングインスタンスであってもよい。
【００３８】
[0042]  ＣＰＵ５０５は、メモリ５２０中に記憶されているプログラミング命令を検索し、実行するとともに、メモリ５２０中に存在するアプリケーションデータを検索する。相互接続５１７は、ＣＰＵ５０５、Ｉ／Ｏデバイスインターフェース５１０、記憶装置５３０、ネットワークインターフェース５１５、および、メモリ５２０の間で、プログラミング命令とアプリケーションデータを送信するために使用される。ＣＰＵ５０５は、単一のＣＰＵ、複数のＣＰＵ、複数の処理コアを有する単一のＣＰＵ、および、これらに類するものを表すように含められることに留意すべきである。メモリ５２０は、一般的に、ランダムアクセスメモリを表すように含められる。記憶装置５３０は、ディスク駆動記憶デバイスであってもよい。単一のユニットとして示されているが、記憶装置５３０は、固定ディスクドライブ、取り外し可能メモリカード、または、光学記憶装置、ネットワーク接続型記憶装置（ＮＡＳ）、ストレージエリアネットワーク（ＳＡＮ）のような、固定および／または取り外し可能記憶デバイスの組み合わせであってもよい。
【００３９】
［0043］  実例として、メモリ５２０は、ＩＤＥアプリケーション５２２を含んでいる。記憶装置５３０は、ジョブ定義モデル５３２と１つ以上のデータ統合ジョブ５３４とを含んでいる。ＩＤＥアプリケーション５２２自体は、１つのフレームワークから別のフレームワークに指定したデータ統合ジョブ５３４を変換するように構成されている変換ツール５２３を含んでいる。そうするために、変換ツール５２３は、ジョブ定義モデル５３２に対してデータ統合ジョブ５３４の個々のコンポーネントを分析してもよい。ジョブ定義モデル５３２は、各フレームワークのコンポーネントに対する統一した定義を提供する。変換ツール５２３は、各コンポーネントをフレームワーク中の対応するコンポーネントに変更してもよく、または、対応するコンポーネントが存在しない場合、ルールにしたがった特別な変換を実行してもよい。結果として生じるデータ統合ジョブ５３４は、一般的に、そのオリジナルのフロー構造を維持する。
【００４０】
[0044]  本開示の１つの実施形態は、コンピュータシステムによる使用のためのプログラムプロダクトとして実現される。プログラムプロダクトのプログラムは、（ここで説明する方法を含む）実施形態の機能を定義し、さまざまなコンピュータ読み取り可能媒体上に含まれることができる。コンピュータ読み取り可能記憶媒体の例は、（ｉ）情報を恒久的に記憶する書き込み不可能な記憶媒体（例えば、光学媒体ドライブによって読み取り可能なＣＤ−ＲＯＭまたはＤＶＤ−ＲＯＭディスクのような、コンピュータ内のリードオンリーメモリデバイス）、（ｉｉ）変更できる情報が記憶される（例えば、ディスケットドライブ内のフロッピー（登録商標）ディスクまたはハードディスクドライブのような）書き込み可能記憶媒体を含む。本発明の機能に向けたコンピュータ読み取り可能命令を媒介するとき、このようなコンピュータ読み取り可能記憶媒体は、本開示の実施形態である。他の例示的な媒体は、ワイヤレス通信ネットワークを含む、コンピュータまたは電話ネットワークを通してのような、情報をコンピュータに伝える通信媒体を含む。
【００４１】
[0045]  一般的に、本開示の実施形態を実現するために実行されるルーチンは、オペレーティングシステムまたは特定のアプリケーション、コンポーネント、プログラム、モジュール、オブジェクト、または、命令のシーケンスの一部であってもよい。本開示のコンピュータプログラムは、ネイティブコンピュータによって機械読み取り可能フォーマットに変換され、したがって、実行可能な命令になるであろう典型的な多数の命令からなる。また、プログラムは、プログラムにローカルに存在する、あるいは、メモリ中にまたは記憶デバイス上に見出されるのいずれかである変数とデータ構造からなる。さらに、ここで説明するさまざまなプログラムは、本開示の特定の実施形態においてこれらが実現されるアプリケーションに基づいて識別されてもよい。しかしながら、以下の任意の特定のプログラム用語は、便宜的に使用されていることに過ぎず、したがって、本開示は、このような用語によって識別されるおよび／または意図される任意の特定の用途に限定すべきでないことを認識すべきである。
【００４２】
[0046]  要するに、ここに提示する実施形態は、１つのフレームワークから別のフレームワークにデータ統合ジョブを変換するための技術を開示している。有利なことに、このような変換は、開発者が、比較的少ない労力で、複雑なデータ統合ジョブを他のフレームワークに移植することを可能にする。そのようにすることは、異なるフレームワーク中の同じジョブを手動で記録する必要なく、開発者に、所定のジョブを展開する際に、どのフレームワークを使用するかを決定するための複数のオプションを提供する。
【００４３】
[0047]  １つのフレームワークのデータ統合ジョブを別のフレームワークのデータ統合ジョブに変換する追加の例を、添付の付録に提供した。
【００４４】
[0048]  上記は、本開示の実施形態に向けられているが、本開示の他の実施形態およびさらなる実施形態を、その基本的な範囲から逸脱することなく考案することができ、その範囲は、下記の特許請求の範囲によって決定される。
【図１】
2019530121.tif 000003
【図２】
2019530121.tif 000004
【図３】
2019530121.tif 000005
【図４】
2019530121.tif 000006
【図５】
2019530121.tif 000007
【手続補正書】
【提出日】令和1年5月16日(2019.5.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための方法であって、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるかを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、方法。
【請求項２】
レビューのために前記コンポーネントにフラグを立てると、
アプリケーションを介して前記コンポーネントを提示することと、
前記フラグを立てたコンポーネントの代わりに、前記第２のデータ統合ジョブ中に含めるために、コンポーネントの仕様を受け取ることとをさらに備える、請求項１に記載の方法。
【請求項３】
前記第１のデータ統合ジョブ中の前記コンポーネントに対応する前記第２のフレームワーク中の前記コンポーネントが利用可能でないと決定すると、
前記コンポーネントに関係付けられている１つ以上の変換ルールを識別することと、
前記識別された１つ以上の変換ルールを前記コンポーネントに適用することとをさらに備える、請求項１に記載の方法。
【請求項４】
前記第２のフレームワーク中のコンポーネントが利用可能であると決定することは、
前記第１のフレームワークを前記第２のフレームワークに統合するジョブ定義モデルを評価することを備える、請求項１に記載の方法。
【請求項５】
前記要求は、前記第１のデータ統合ジョブに対応するファイル、前記第１のフレームワークを記述するメタデータ、および、前記第２のフレームワークの仕様を含む、請求項１に記載の方法。
【請求項６】
グラフィカルユーザインターフェースを介して前記第２のデータ統合ジョブを提示することと、
前記第２のデータ統合ジョブ中の少なくとも第１のコンポーネントへの１つ以上の修正の選択を受け取ることと、
前記１つ以上の修正に基づいて、前記少なくとも第１のコンポーネントを変換することとをさらに備える、請求項１に記載の方法。
【請求項７】
前記変換されたコンポーネントを生成すると、
前記第１のデータ統合ジョブのコンポーネント中のパラメータを前記変換したコンポーネント中に入れることをさらに備える、請求項１に記載の方法。
【請求項８】
システムであって、
プロセッサと、
プログラムコードを記憶しているメモリとを備え、前記プログラムコードは、前記プロセッサ上で実行されるとき、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための動作を実行し、前記動作は、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるか否かを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、システム。
【請求項９】
前記動作は、レビューのために前記コンポーネントにフラグを立てると、
アプリケーションを介して前記コンポーネントを提示することと、
前記フラグを立てたコンポーネントの代わりに、前記第２のデータ統合ジョブ中に含めるために、コンポーネントの仕様を受け取ることとをさらに備える、請求項８に記載のシステム。
【請求項１０】
前記動作は、前記第１のデータ統合ジョブ中の前記コンポーネントに対応する前記第２のフレームワーク中の前記コンポーネントが利用可能でないと決定すると、
前記コンポーネントに関係付けられている１つ以上の変換ルールを識別することと、
前記識別された１つ以上の変換ルールを前記コンポーネントに適用することとをさらに備える、請求項８に記載のシステム。
【請求項１１】
前記第２のフレームワーク中のコンポーネントが利用可能であると決定することは、
前記第１のフレームワークを前記第２のフレームワークに統合するジョブ定義モデルを評価することを備える、請求項８に記載のシステム。
【請求項１２】
前記要求は、前記第１のデータ統合ジョブに対応するファイル、前記第１のフレームワークを記述するメタデータ、および、前記第２のフレームワークの仕様を含む、請求項８に記載のシステム。
【請求項１３】
前記動作は、
グラフィカルユーザインターフェースを介して前記第２のデータ統合ジョブを提示することと、
前記第２のデータ統合ジョブ中の少なくとも第１のコンポーネントへの１つ以上の修正の選択を受け取ることと、
前記１つ以上の修正に基づいて、前記少なくとも第１のコンポーネントを変換することとをさらに備える、請求項８に記載のシステム。
【請求項１４】
前記動作は、前記変換されたコンポーネントを生成すると、
前記第１のデータ統合ジョブのコンポーネント中のパラメータを前記変換したコンポーネント中に入れることをさらに備える、請求項８に記載のシステム。
【請求項１５】
命令を記憶しているコンピュータ読取可能媒体であって、プロセッサ上で命令が実行されるとき、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための動作を実行し、前記動作は、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるかを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、コンピュータ読取可能媒体。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４４
【補正方法】変更
【補正の内容】
【００４４】
[0048]  上記は、本開示の実施形態に向けられているが、本開示の他の実施形態およびさらなる実施形態を、その基本的な範囲から逸脱することなく考案することができ、その範囲は、下記の特許請求の範囲によって決定される。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［１］  ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための方法であって、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるかを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、方法。
［２］  レビューのために前記コンポーネントにフラグを立てると、
アプリケーションを介して前記コンポーネントを提示することと、
前記フラグを立てたコンポーネントの代わりに、前記第２のデータ統合ジョブ中に含めるために、コンポーネントの仕様を受け取ることとをさらに備える、［１］に記載の方法。
［３］  前記第１のデータ統合ジョブ中の前記コンポーネントに対応する前記第２のフレームワーク中の前記コンポーネントが利用可能でないと決定すると、
前記コンポーネントに関係付けられている１つ以上の変換ルールを識別することと、
前記識別された１つ以上の変換ルールを前記コンポーネントに適用することとをさらに備える、［１］に記載の方法。
［４］  前記第２のフレームワーク中のコンポーネントが利用可能であると決定することは、
前記第１のフレームワークを前記第２のフレームワークに統合するジョブ定義モデルを評価することを備える、［１］に記載の方法。
［５］  前記要求は、前記第１のデータ統合ジョブに対応するファイル、前記第１のフレームワークを記述するメタデータ、および、前記第２のフレームワークの仕様を含む、［１］に記載の方法。
［６］  グラフィカルユーザインターフェースを介して前記第２のデータ統合ジョブを提示することと、
前記第２のデータ統合ジョブ中の少なくとも第１のコンポーネントへの１つ以上の修正の選択を受け取ることと、
前記１つ以上の修正に基づいて、前記少なくとも第１のコンポーネントを変換することとをさらに備える、［１］に記載の方法。
［７］  前記変換されたコンポーネントを生成すると、
前記第１のデータ統合ジョブのコンポーネント中のパラメータを前記変換したコンポーネント中に入れることをさらに備える、［１］に記載の方法。
［８］  命令を記憶しているコンピュータ読取可能記憶媒体であって、プロセッサ上で命令が実行されるとき、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための動作を実行し、前記動作は、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるかを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、コンピュータ読取可能記憶媒体。
［９］  前記動作は、レビューのために前記コンポーネントにフラグを立てると、
アプリケーションを介して前記コンポーネントを提示することと、
前記フラグを立てたコンポーネントの代わりに、前記第２のデータ統合ジョブ中に含めるために、コンポーネントの仕様を受け取ることとをさらに備える、［８］に記載のコンピュータ読取可能記憶媒体。
［１０］  前記動作は、前記第１のデータ統合ジョブ中の前記コンポーネントに対応する前記第２のフレームワーク中の前記コンポーネントが利用可能でないと決定すると、
前記コンポーネントに関係付けられている１つ以上の変換ルールを識別することと、
前記識別された１つ以上の変換ルールを前記コンポーネントに適用することとをさらに備える、［８］に記載のコンピュータ読取可能記憶媒体。
［１１］  前記第２のフレームワーク中のコンポーネントが利用可能であると決定することは、
前記第１のフレームワークを前記第２のフレームワークに統合するジョブ定義モデルを評価することを備える、［８］に記載のコンピュータ読取可能記憶媒体。
［１２］  前記要求は、前記第１のデータ統合ジョブに対応するファイル、前記第１のフレームワークを記述するメタデータ、および、前記第２のフレームワークの仕様を含む、［８］に記載のコンピュータ読取可能記憶媒体。
［１３］  前記動作は、
グラフィカルユーザインターフェースを介して前記第２のデータ統合ジョブを提示することと、
前記第２のデータ統合ジョブ中の少なくとも第１のコンポーネントへの１つ以上の修正の選択を受け取ることと、
前記１つ以上の修正に基づいて、前記少なくとも第１のコンポーネントを変換することとをさらに備える、［８］に記載のコンピュータ読取可能記憶媒体。
［１４］  前記動作は、前記変換されたコンポーネントを生成すると、
前記第１のデータ統合ジョブのコンポーネント中のパラメータを前記変換したコンポーネント中に入れることをさらに備える、［８］に記載のコンピュータ読取可能記憶媒体。
［１５］  システムであって、
プロセッサと、
プログラムコードを記憶しているメモリとを備え、前記プログラムコードは、前記プロセッサ上で実行されるとき、ソースフレームワークからターゲットフレームワークにデータ統合ジョブを変換するための動作を実行し、前記動作は、
第１のフレームワークの第１のデータ統合ジョブを第２のフレームワークの第２のデータ統合ジョブに変換するための要求を受け取ることであって、前記第１のデータ統合ジョブは、複数のコンポーネントを備え、ここにおいて、各コンポーネントは、前記第１のデータ統合ジョブの一部として割り当てられたタスクを実行し、
前記要求に応答して、前記第１のデータ統合ジョブの各コンポーネントに対して、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能であるか否かを決定することと、
前記第２のフレームワーク中のコンポーネントが利用可能であると決定すると、前記第２のデータ統合ジョブ中に含めるために、変換されたコンポーネントを生成することと、
前記第１のデータ統合ジョブ中のコンポーネントに対応する前記第２のフレームワーク中のコンポーネントが利用可能でないと決定すると、レビューのために前記コンポーネントにフラグを立てることと、
前記第２のデータ統合ジョブをデータストア中に記憶することとを備える、システム。
［１６］  前記動作は、レビューのために前記コンポーネントにフラグを立てると、
アプリケーションを介して前記コンポーネントを提示することと、
前記フラグを立てたコンポーネントの代わりに、前記第２のデータ統合ジョブ中に含めるために、コンポーネントの仕様を受け取ることとをさらに備える、［１５］に記載のシステム。
［１７］  前記動作は、前記第１のデータ統合ジョブ中の前記コンポーネントに対応する前記第２のフレームワーク中の前記コンポーネントが利用可能でないと決定すると、
前記コンポーネントに関係付けられている１つ以上の変換ルールを識別することと、
前記識別された１つ以上の変換ルールを前記コンポーネントに適用することとをさらに備える、［１５］に記載のシステム。
［１８］  前記第２のフレームワーク中のコンポーネントが利用可能であると決定することは、
前記第１のフレームワークを前記第２のフレームワークに統合するジョブ定義モデルを評価することを備える、［１５］に記載のシステム。
［１９］  前記動作は、
グラフィカルユーザインターフェースを介して前記第２のデータ統合ジョブを提示することと、
前記第２のデータ統合ジョブ中の少なくとも第１のコンポーネントへの１つ以上の修正の選択を受け取ることと、
前記１つ以上の修正に基づいて、前記少なくとも第１のコンポーネントを変換することとをさらに備える、［１５］に記載のシステム。
［２０］  前記動作は、前記変換されたコンポーネントを生成すると、
前記第１のデータ統合ジョブのコンポーネント中のパラメータを前記変換したコンポーネント中に入れることをさらに備える、［１５］に記載のシステム。
【国際調査報告】
2019530121.tif 000008
2019530121.tif 000009
2019530121.tif 000010