JP2013536498A - コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム - Google Patents

コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2013536498A
JP2013536498A JP2013520128A JP2013520128A JP2013536498A JP 2013536498 A JP2013536498 A JP 2013536498A JP 2013520128 A JP2013520128 A JP 2013520128A JP 2013520128 A JP2013520128 A JP 2013520128A JP 2013536498 A JP2013536498 A JP 2013536498A
Authority
JP
Japan
Prior art keywords
workflow
computer application
computer
macro
micro
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013520128A
Other languages
English (en)
Other versions
JP5756520B2 (ja
Inventor
マサイ、シジュ
フローレス、ロメリア
ジベンズ、シャルレット、ネス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013536498A publication Critical patent/JP2013536498A/ja
Application granted granted Critical
Publication of JP5756520B2 publication Critical patent/JP5756520B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 コンピュータ・アプリケーション間でワークフローを管理するためのミドルウェア・システム、方法、およびプログラム製品を提供する。
【解決手段】 ミドルウェア・システムは、共通構成ユニットおよびワークフロー・エクスポート・ユニットを含む。共通構成ユニットは、(i)ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出し、(ii)第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成するマクロ・ワークフローを実行する。ワークフロー・エクスポート・ユニットは、第2のコンピュータ・アプリケーションが第1のコンピュータ・アプリケーションのワークフローに対応するワークフローを実行できるようにする、出力を生成する。
【選択図】 図2

Description

本発明は、アプリケーションの開発および統合プラットフォームに関する。より具体的には、本発明は、ミドルウェアおよびコンピュータ・アプリケーション間でワークフローを管理するための方法およびシステムに関する。
ビジネスまたは組織のプロセスは、規定の様式で実施され、組織の目標につながる、ステップまたはワークフローの集合である。組織プロセスのステップは、アプリケーション・サーバ・システムによって、またはユーザによって実行可能である。組織プロセスをサポートするために、1)定義−組織分析者または開発者が組織プロセス・ワークフローまたはステップの定義または修正を実行できるようにする、2)実行−開発者またはシステム分析者がワークフローまたは組織プロセス・ステップのアプリケーション・プロセス・エンジンまたはシステムの実行の着手または開始を実行できるようにする、3)監視−どのプロセスおよびステップが実行されたか、ならびにそれらの性能のビューを提供する、という、3つのタイプの構成要素が存在する。
アプリケーション開発のサービス指向アーキテクチャ(SOA)のパラダイムが与えられた場合、ほとんどのアプリケーション・システム(Rhapsody、FileNet、Siebel、Curamなど)は、こうしたアプリケーション・システム内で作成されたワークフローを定義、実行、および場合によっては監視するための機能を提供する。特定のアプリケーション・システムまたはアプリケーション・システムの構成要素に特有のワークフローは、マイクロ・ワークフローと呼ばれる。加えて、IBM WebSphere Process ServerまたはOracle Business Process Managementなどのビジネス・プロセス管理(BPM)ソフトウェアは、ウェブ・サービスを介した様々なアプリケーション・システムへのステップまたはワークフローの編成を実行可能にする。この編成により、様々なアプリケーション・システム間での処理およびデータの統合が可能になる。複数のアプリケーション・システムに及ぶワークフローは、マクロ・ワークフローと呼ばれる。
典型的なSOAアプリケーションは、特定の機能または目標を達成するために、マクロおよびマイクロの両方のワークフローを実行する。通常、これらのSOA環境をサポートするためのワークフローの定義、実行、および監視が存在し、様々なアプリケーション・サーバ・システムならびにミドルウェア・ソフトウェアを使用して実行される。
現在、マクロおよびマイクロの両方のレベルでワークフローを定義および演出(choreograph)し、これらのワークフローを第三者のアプリケーション・サーバ・プロセス・エンジンにエクスポートするために使用可能な、単一のミドルウェア・プラットフォームはない。たとえば既存のアプリケーション・システムは、その特定のベンダによって提供された複数のツール上に、定義を定義付けする必要がある。同様に、様々なアプリケーション・サーバ全体にわたってワークフローのステップを監視する、ランタイム・ツールもない。
様々なアプリケーション・システム全体にわたるワークフローの定義、実行、および監視を単一のプラットフォームに実行させられないことによって、制限が生じる。開発者は、複数のワークフロー・ツールを習得し、これらのワークフロー定義を様々なツールにおいて作成および維持しなければならない。実行のためには、複数のワークフロー・エンジンを使用可能にして、それらのアプリケーション・サーバ環境に対するステップを実行する必要がある。現行のシステムを監視するために、分析者または開発者は、様々なアプリケーション・サーバ・ツールを使用して、ワークフローおよびワークフロー内の個々のステップの性能を駆動、デバッグ、および監視する必要がある。
米国特許公開第2006008524号は、チームおよびタスクを管理するための方法を開示している。チームおよびタスクの管理に加え、チーム・スペースを使用して、パートナおよび独立したソフトウェア・ベンダが共同に対応する業界特有のソリューションを構築できるようにする。この点において、チーム共同ツールは、会社の社員達が互いに対話できるような、企業内ソリューションならびに企業間ソリューションを提供することができる。
米国特許公開第20070143736号は、共通のワークフロー・タスクを設計時にワークフロー図内に視覚的に表される独立した構成要素内に封入する、グラフィカル・ワークフロー編集システムを開示している。これは、各ツールがすべての他のツールから独立できるようにするシステム提供APIを介して達成される。プラットフォームは、共通のコード・ベースを壊すことなく、第三者または消費者あるいはその両方が提供する構成要素を容易に受け入れる。これによって消費者は、動作に必要な様々なタイプの情報の取り込み/受け入れ、それらのビジネス・プロセスの定義、およびそれらの最適な受信側宛先への情報の送達を、1つのプラットフォームに実行させることができる。
米国特許公開第2006008524号 米国特許公開第20070143736号
したがって、分析者または開発者がマクロとマイクロの両方のワークフローの定義を作成および維持するための中央位置を提供する、単一の設計プラットフォームまたは単一のミドルウェア・システムが求められている。
本発明の一態様によれば、コンピュータ・アプリケーション間でワークフローを管理するためのミドルウェア・システムは、共通構成ユニットおよびワークフロー・エクスポート・ユニットを含む。
共通構成ユニットは、ミドルウェア・システムのマクロ・ワークフローのワークフローの構成要素と、第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間の、マッピングを取り出す。共通構成は、第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成する、マクロ・ワークフローを実行する。ワークフロー・エクスポート・ユニットは、共通構成ユニットが、第1または第2のコンピュータ・アプリケーション上でマイクロ・ワークフローを編成するマクロ・ワークフローを実行できるようにする、出力を生成する。
本発明の他の態様によれば、コンピュータ・アプリケーション間でワークフローを管理するコンピュータ実装方法は、ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出すことであって、マクロ・ワークフローは、第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することが可能である、取り出すこと、および、ミドルウェア・システムの共通構成が、第1または第2のコンピュータ・アプリケーション上でマイクロ・ワークフローを編成するマクロ・ワークフローを実行できるようにする、出力を生成すること、を含む。
本発明のさらに他の態様によれば、コンピュータ・アプリケーション間でワークフローを管理するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、コンピュータ読み取り可能記憶媒体上に格納されるコンピュータ・プログラム命令を含む。命令が実行される場合、コンピュータは方法のステップを実行することになる。
第1の態様から見ると、本発明は、コンピュータ・アプリケーション間でワークフローを管理するためのミドルウェア・システムを提供し、このシステムは、ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出すため、およびマクロ・ワークフローを実行するための、共通構成ユニットであって、マクロ・ワークフローは、第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することが可能である、共通構成ユニットと、共通構成が第1のコンピュータ・アプリケーションまたは第2のコンピュータ・アプリケーション上でマクロ・ワークフローを実行できるようにする出力を生成するための、ワークフロー・エクスポート・ユニットと、を備える。
好ましくは、本発明は、出力を生成することが、マッピングを参照すること、ミドルウェア・システムのマクロ・ワークフロー構成要素に対応する第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素を取り出すこと、および、出力を生成するために第1のコンピュータ・アプリケーションの取り出されたマイクロ・ワークフロー構成要素を使用することによって実行される、システムを提供する。
好ましくは、本発明は、第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素およびミドルウェア・システムのマクロ・ワークフロー構成要素が、ビジネス・オブジェクトおよび機能呼び出しからなるグループから選択される、システムを提供する。
好ましくは、本発明は、出力が、標準言語ファイル、独自所有(proprietary)言語ファイル、テキスト・ファイル、およびAPI呼び出しからなるグループから選択される、システムを提供する。
好ましくは、本発明は、第1のコンピュータ・アプリケーションまたは第2のコンピュータ・アプリケーションあるいはその両方がミドルウェア・コンピュータ・アプリケーションである、システムを提供する。
好ましくは、本発明は、共通構成ユニットが、ミドルウェア・システムと第1または第2のコンピュータ・アプリケーションとの間の既存の接続をテストするため、あるいは、ミドルウェア・システムと第1または第2のコンピュータ・アプリケーションとの間に新規の接続を作成するための、サービス・マネージャ構成要素を備え、既存または新規の接続は、生成された出力をミドルウェア・システムが取り出すかまたは適用できるようにするものである、システムを提供する。
好ましくは、本発明は、第1または第2のコンピュータ・アプリケーション上でマクロ・ワークフローを実行するための実行ユニットをさらに備えるシステムを提供し、この実行ユニットは、オプションで、第1または第2のコンピュータ・アプリケーションのアプリケーション・ソフトウェア環境の状況を取り出すためのエンジン状況ユニットを備える。
好ましくは、本発明は、マクロ・ワークフローの実行を監視するための監視ユニットをさらに備えるシステムを提供し、この監視ユニットは、マクロ・ワークフローの実行の状況を取得するための警報エンジンを備える。
好ましくは、本発明は、マクロ・ワークフローの実行の状況を取得することが、警報エンジンの共通監視フォルダから出力を取り出すこと、および、ミドルウェア・システムのマクロ・ワークフローに対応するマイクロ・ワークフローの構成要素に関するランタイム情報を生成するために出力を解析することによって実行される、システムを提供する。
好ましくは、本発明は、さらに警報エンジンが生成されたランタイム情報を表示する、システムを提供する。
他の態様から見ると、本発明は、コンピュータ・アプリケーション間でワークフローを管理する方法を提供し、この方法は、ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出すことであって、マクロ・ワークフローは、第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することが可能である、取り出すこと、および、ミドルウェア・システムの共通構成が、第1のコンピュータ・アプリケーションまたは第2のコンピュータ・アプリケーション上でマクロ・ワークフローを実行できるようにする、出力を生成すること、を含む。
好ましくは、本発明は、出力を生成することが、マッピングを参照すること、ミドルウェア・システムのマクロ・ワークフロー構成要素に対応する第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素を取り出すこと、および、出力を生成するために第1のコンピュータ・アプリケーションの取り出されたマイクロ・ワークフロー構成要素を使用することを含む、方法を提供する。
好ましくは、本発明は、第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素およびミドルウェア・システムのマクロ・ワークフロー構成要素が、ビジネス・オブジェクトおよび機能呼び出しからなるグループから選択される、方法を提供する。
好ましくは、本発明は、出力が、標準言語ファイル、独自所有(proprietary)言語ファイル、テキスト・ファイル、およびAPI呼び出しからなるグループから選択される、方法を提供する。
好ましくは、本発明は、第1のコンピュータ・アプリケーションまたは第2のコンピュータ・アプリケーションあるいはその両方がミドルウェア・システムである、方法を提供する。
好ましくは、本発明は、ミドルウェア・システムと第1または第2のコンピュータ・アプリケーションとの間の既存の接続をテストすること、あるいは、ミドルウェア・システムと第1または第2のコンピュータ・アプリケーションとの間に新規の接続を作成することをさらに含む、方法を提供し、既存または新規の接続は、生成された出力をミドルウェア・システムが取り出すかまたは適用できるようにするものである。
好ましくは、本発明は、第1または第2のコンピュータ・アプリケーション上でマクロ・ワークフローまたはマイクロ・ワークフローを実行することをさらに含む、方法を提供する。
好ましくは、本発明は、第1または第2のコンピュータ・アプリケーションのアプリケーション・ソフトウェア環境の状況を取り出すこと、および、オプションで、マクロ・ワークフローに対応するマイクロ・ワークフローの実行の状況を取得することをさらに含む、方法を提供する。
好ましくは、本発明は、マクロ・ワークフローに対応するマイクロ・ワークフローの実行の状況を取得することが、ミドルウェア・システムの共通監視フォルダから出力を取り出すこと、および、ミドルウェア・システムのマクロ・ワークフローに対応するマイクロ・ワークフローの構成要素に関するランタイム情報を生成するために出力を解析することを含む、方法を提供する。
好ましくは、本発明は、生成されたランタイム情報を表示することをさらに含む方法を提供する。
他の態様から見ると、本発明は、コンピュータ・アプリケーション間でワークフローを管理するためのコンピュータ・プログラム製品を提供し、当該コンピュータ・プログラム製品は、ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出すステップであって、マクロ・ワークフローは、第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することが可能である、取り出すステップと、ミドルウェア・システムの共通構成が、第1のコンピュータ・アプリケーションまたは第2のコンピュータ・アプリケーション上でマクロ・ワークフローを実行できるようにする、出力を生成するステップとを実行するための、コンピュータ・プログラム命令を含み、当該コンピュータ・プログラム命令は、コンピュータ読み取り可能記憶媒体上に格納される。
好ましくは、本発明は、出力を生成することが、マッピングを参照すること、ミドルウェア・システムのマクロ・ワークフロー構成要素に対応する第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素を取り出すこと、および、出力を生成するために第1のコンピュータ・アプリケーションの取り出されたワークフロー構成要素を使用することによって実行される、請求項に記載のコンピュータ・プログラム製品を提供する。
好ましくは、本発明は、当該コンピュータ・プログラム命令が、ミドルウェア・システムと第1または第2のコンピュータ・アプリケーションとの間の既存の接続をテストするステップ、あるいは、ミドルウェア・システムと第1または第2のコンピュータ・アプリケーションとの間に新規の接続を作成するステップをさらに実行する、コンピュータ・プログラム製品を提供し、既存または新規の接続は、生成された出力をミドルウェア・システムが取り出すかまたは適用できるようにするものである。
好ましくは、本発明は、当該コンピュータ・プログラム命令が、第1または第2のコンピュータ・アプリケーション上でマクロ・ワークフローを実行するステップをさらに実行する、コンピュータ・プログラム製品を提供する。
好ましくは、本発明は、当該コンピュータ・プログラム命令が、第1または第2のコンピュータ・アプリケーションのアプリケーション・ソフトウェア環境の状況を取り出すステップと、オプションで、マクロ・ワークフローの実行の状況を取得するステップとをさらに実行する、コンピュータ・プログラム製品を提供する。
次に、発明の好ましい実施形態について、添付の図面を参照しながら単なる例として説明する。
本発明の好ましい実施形態に従った、コンピュータ・アプリケーション間でワークフローを管理するためのミドルウェア・システムを示すブロック図である。 本発明の好ましい実施形態に従った、ミドルウェア・システムの細部を示すブロック図である。 本発明の好ましい実施形態に従った、ミドルウェア・システムの共通構成ユニットを示すブロック図である。 本発明の好ましい実施形態に従った、ミドルウェア・システムのワークフロー・エクスポート・ユニットがどのようにコンピュータ・アプリケーションと対話し、出力を生成するためにデータベース内に格納された情報を使用するかの例を示す、ブロック図である。 本発明の好ましい実施形態に従った、ミドルウェア・システムの実行ユニットを示すブロック図である。 本発明の好ましい実施形態に従った、ミドルウェア・システムの監視ユニットを示すブロック図である。 本発明の好ましい実施形態に従った、コンピュータ・アプリケーション間でワークフローを管理するためのコンピュータ実装方法を示す流れ図である。 本発明の好ましい実施形態が内部で実装可能な、例示的コンピューティング・システムを示すブロック図である。
本明細書の図面で全体として説明および例示されるような本発明の実施形態は、説明される好ましい実施形態に加えて、多種多様な異なる構成で配置構成および設計できることを容易に理解されよう。したがって、図面に表された本発明の実施形態の以下の詳細な説明は、請求された本発明の範囲を制限することは意図されておらず、本発明の選択された好ましい実施形態の単なる代表である。以下の説明は、単なる例として意図されており、本明細書で請求される本発明のある選択された好ましい実施形態を示す。
本発明の一実施形態によれば、コンピュータ・アプリケーション間でワークフローを管理するためのミドルウェア・システムが提供される。図1を参照すると、ブロック図は、コンピュータ・アプリケーション200間でワークフローを管理するためのミドルウェア・システム100を示す。
単一のミドルウェア・システム100は、マクロとマイクロの両方のワークフローの定義を作成および維持するためのユーザ用の中央位置を提供する。前述のように、マイクロ・ワークフローは、コンピュータ・アプリケーション200によって実行されることになるステップまたは一連のステップであり、マクロ・ワークフローは、ミドルウェア・システム100とコンピュータ・アプリケーション200との間の接続を実行可能にするステップまたは一連のステップである。マイクロ・ワークフローの例は電子メールを送信することであってよく、マクロ・ワークフローの例は報告を生成することであってよく、あるコンピュータ・アプリケーションを使用して電子メールを送信すること、他のコンピュータ・アプリケーションを使用して電子メールを取り出すこと、および、さらに異なるコンピュータ・アプリケーションを使用して電子メールのコンテンツを印刷することを含むことができる。
ワークフローは、ビジネス・オブジェクトまたは機能呼び出しなどの適切なワークフロー構成要素と共にエクスポート可能であり、したがってミドルウェア・サーバが使用できるようにすることができる。コンピュータ・アプリケーション200は、たとえば、SAP、Siebel、Oracleなどの第三者アプリケーションであるか、または他のミドルウェア・システムとすることも可能である。
ミドルウェア・システム100はワークフロー構成要素を動的に変更し、したがってマイクロ・ワークフロー処理を編成することが可能である。これにより、マクロ・フロー・ミドルウェア・システムによってどのマイクロ・ワークフローおよびアプリケーション・システムが使用されるかを容易に修正するための、ミドルウェア・システム・マクロ・ワークフローからの機能が与えられる。例として、ファイル管理システムの場合、コンテンツ管理をFileNetとスワップすることができる。CRMシステムの場合、SiebelをSAPとスワップすることができる。適切なマイクロ・ワークフロー・アプリケーション・システムを選択するための規則のインテリジェントな実行を可能にするために、規則エンジンをミドルウェア・システム100の一部として含めることができる。XMLまたは他のワークフロー言語を使用して、ポリシーの設定、マクロまたはマイクロ・ワークフローの異なるランタイムへの変更、およびマクロ・ワークフロー全体の動的な変更を行うために、外部規則または様々なコンピュータ・アプリケーション200の規則を使用することができる。ワークフローをエクスポートするためのミドルウェア・システム100の機能および様々なコンピュータ・アプリケーション200のターゲットである特定のアプリケーション・サーバ・ソフトウェア環境については、以下で詳細に説明する。
ミドルウェア・システム100は、共通構成ユニットおよびワークフロー・エクスポート・ユニットを含む。図2を参照すると、ブロック図は、共通構成ユニット120およびワークフロー・エクスポート・ユニット130を含めるためのミドルウェア・システム100の細部を示している。
システム100がワークフロー210を実行するための要求を第1のコンピュータ・アプリケーション201から受信した後、ワークフロー・エクスポート・ユニット130は、ワークフロー210内でワークフロー構成要素211−1、211−2、...、211−nのうちのどれが使用されるかを決定する。この決定は、データベース300に格納可能なワークフロー構成要素211を参照することによって実行可能である。加えて、ワークフロー210がどのように構成されるかに関する、ユーザまたは他の外部入力が提供可能である。共通構成ユニット120は、ミドルウェア・システム100のマクロ・ワークフロー600構成要素161と、第1のコンピュータ・アプリケーション201のマイクロ・ワークフロー210の構成要素211−1、211−2、...、211−nとの間の、マッピング301を取り出す。前述のように、ワークフロー構成要素の例は、ビジネス・オブジェクトまたは機能呼び出しとすることができる。マクロ・ワークフロー600は、第1のコンピュータ・アプリケーション201と、図2に示される第2のコンピュータ・アプリケーション202などの、ミドルウェア・システム100に接続可能な任意の他のコンピュータ・アプリケーションとの、マイクロ・ワークフローを編成することが可能である。複数のコンピュータ・アプリケーションが接続される場合、システム100は、これらの他のコンピュータ・アプリケーションからのワークフローを実行するための要求も受信することができる。
ビジネス・オブジェクトとは、実際の組織または業務におけるある物に対応するコード構成のことである。これは、その物に関する論理、ならびにその論理が必要とするデータを封入している。ビジネス・オブジェクトは、メタデータ、すなわち、その物を記述し、構成し、その物に含められ、またはその物に関連付けられた情報、あるいはそれらすべての情報も、含むことができる。ビジネス・オブジェクトの例は、顧客、顧客の連絡先情報、顧客サービス担当者、または業務用電話番号とすることができる。機能呼び出しとは、特定のタスクを実行するコードまたはコードの一部への呼び出しのことである。機能呼び出しの例は、電子メールを送信するための呼び出し、またはプリンタにファイルを送信するための呼び出しとすることができる。
ミドルウェア・システム100および第1のコンピュータ・アプリケーション201は、異なるアプリケーション・タイプをサポートすることが可能であり、すなわち、各アプリケーションが、異なる言語またはフォーマットで、入力を取り出すかまたは認識すること、または出力を生成すること、あるいはその両方を実行することができる。加えて、第2のコンピュータ・アプリケーション202などの複数のコンピュータ・アプリケーションが、ミドルウェア・システムまたは第1のコンピュータ・アプリケーションあるいはその両方に接続されている場合、第2のコンピュータ・アプリケーション202は、ミドルウェア・システム100または第1のコンピュータ・アプリケーション201あるいはその両方とは、異なるアプリケーション・タイプをサポートすることも可能である。したがって、1つのコンピュータ・アプリケーションまたはミドルウェア・システムのワークフローの構成要素と、他のコンピュータ・アプリケーションのワークフロー構成要素との間で、マッピングが実行される。このマッピングは、1:1、1:N、またはN:1のマッピングとすることができる。マッピングの例は以下の表に示されている。
Figure 2013536498
表1では、ミドルウェア・サーバ・マクロ・ワークフローのワークフロー構成要素が第1のアプリケーションのそれぞれのワークフロー構成要素にマッピングされる。ミドルウェア・サーバのワークフロー構成要素であるビジネス・オブジェクト、CSRが、第1のアプリケーションのワークフロー構成要素であるビジネス・オブジェクト、サービス担当者にマッピングされる。ミドルウェア・サーバの他のワークフロー構成要素である機能呼び出し、電子メール送信が、第1のアプリケーションまたは他のアプリケーション・サーバの単一のワークフロー構成要素またはいくつかのワークフロー構成要素のいずれかであることが可能な、ステップ1〜4にマッピングされる。
マッピングの取り出しは、表を参照すること、あるいはソフトウェア・ライブラリ探索または状態マシンなどを使用することによって、実行可能である。図2では、マッピング301を、ミドルウェア・システム100に接続されたデータベース300に格納することが可能である。様々なコンピュータ・アプリケーションによって使用されるワークフロー210、220、ならびにワークフロー構成要素211−1、211−2、...、211−n、220−1、220−2、...、220−nを、このデータベース300に格納することも可能である。既存の技法を使用して、新規の第三者アプリケーション・ワークフローおよびこれらのワークフロー間のマッピングをインポートすることができる。
図3を参照すると、共通構成ユニット120はサービス・マネージャ・ユニット121を含む。サービス・マネージャ・ユニット121は、ミドルウェア・システム100とコンピュータ・アプリケーション201、202との間の現行の接続401をテストするか、または、コンピュータ・アプリケーション201、202への新規の接続402を作成する。このサービス・マネージャ・ユニット121は、コンピュータ・アプリケーション201、202のサーバに対してコネクタ・ユニットに関するサポートを提供する。コネクタに関連付けられた様々なハンドラが存在する。異なるコネクタが様々なバック・エンド・ソースに関連付けられる。コネクタ対コネクタの関係は、1:Nの関係である。N個のコネクタを外部コネクタに接続することができる。ハンドラは、カスタムまたはデータ・ハンドラとすることができる。コネクタはバック・エンド・ソースの初期化および呼び出しを行い、ミドルウェア・システム100のワークフロー・エクスポート・ユニット130によって生成された出力500を取り出す。既存または新規の接続401、402は、ミドルウェア・システム100が、生成された出力500の取り出しまたは適用を実行できるようにする。これらの接続は、TCP/IP、HTTP、SOAPなどの、任意のメッセージ・プロトコルを使用することができる。
ワークフロー・エクスポート・ユニット130によって生成された出力500は、ミドルウェア・システム100の共通構成120が、様々なマイクロ・ワークフロー・ステップ601−1、601−2、...、601−nを含むことが可能なマクロ・ワークフロー600を実行できるようにする。これらのマイクロ・ワークフロー・ステップ601−1、601−2、...、601−nは、マクロ・ワークフロー600のマッピングされた構成要素161(図2から)に基づいている。マッピング301が取り出された後、ワークフロー・エクスポート・ユニット130は、ミドルウェア・サーバ100のマクロ・ワークフロー構成要素161(図2から)と第1、第2、または第Nのコンピュータ・アプリケーションのうちのいずれかのワークフロー構成要素との間のマッピング301を、探索または参照する。その後、ワークフロー・エクスポート・ユニット130は、マッピング301から、第1、第2、または第Nのアプリケーション・サーバ内のマイクロ・ワークフローに対応するマイクロ・ワークフロー構成要素を取り出す。出力500は、XMLなどの標準言語ファイル、独自所有言語ファイル、テキスト・ファイル、またはAPI呼び出しなどとすることができる。これが第2のコンピュータ・アプリケーション202のアプリケーション・サーバ・ソフトウェア環境に送信されると、第2のコンピュータ・アプリケーション202は、複数のワークフロー・ステップ600−1、600−2、...、600−nに対応するワークフロー600を実行することが可能となる。ワークフロー・エクスポート・ユニット130は、ミドルウェア・システム100がこれらのアプリケーション201、202のマイクロ・ワークフローを実行できるようにする、第1および第2のアプリケーション201、202に対する出力700、800を、それぞれ生成することも可能である。
図4は、ワークフロー・エクスポート・ユニット130が、どのように第1のコンピュータ・アプリケーション201と対話し、データベース300内に格納された情報を使用して出力500を生成するかについての例を示す。第1のコンピュータ・アプリケーション201のワークフロー210の構成要素であるそのワークフロー構成要素x211が、出力500の生成において望ましい場合、ワークフロー・エクスポート・ユニット130は、ワークフロー構成要素x211と対応するマクロ・ワークフロー構成要素161との間のマッピング301を探索する。次に、ワークフロー・エクスポート・ユニット130はマッピング301からワークフロー構成要素y161を取り出し、ワークフロー構成要素y161を使用して出力500を生成する。
以下は、ワークフロー・エクスポート・ユニットによって構成される出力の例である。
Figure 2013536498
例1および例2は、XML形式での出力の例である。例1はワークフロー構成要素のより一般的な例を示し、例2はより特定な例を示す。例3は、表1に示された電子メール送信構成要素に関する擬似コードの例である。例3に関する実際の出力は、第1のアプリケーションによって認識可能なフォーマットである。
加えて、データベース300は、ワークフローの日付/タイムスタンプとワークフローの配布先であったコンピュータ・アプリケーションとを含む、ワークフロー・エクスポート状況も含むことができる。ワークフロー・エクスポート状況は、ミドルウェア・システム100をサポートする他のユニットによって取り出されることが可能である。
図5を参照すると、ミドルウェア・システム100は、マクロ・ワークフロー600、あるいは第1または第2のコンピュータ・アプリケーション201、202上の対応するワークフローを実行する、実行ユニット140を含むことができる。上記の例3を参照すると、生成された出力500が前述の擬似コードに対応するコードである場合、ミドルウェア・システム100は第1のアプリケーション(表1を参照のこと)上でコードを実行することになり、したがって電子メール送信ワークフロー(またはワークフローの電子メール送信構成要素)を実行する。
ミドルウェア・システム100の実行ユニット140は、コンピュータ・アプリケーション201、202の実行ユニット250、260と共同し、すなわち、コンピュータ・アプリケーション201、202の実行ユニット250、260は、コンピュータ・アプリケーションの実行ユニット250、260が動作中であるかどうかをミドルウェア・システム100に通知するための機能を有し、ミドルウェア・システム100の実行ユニット140は、コンピュータ・アプリケーション201、202のアプリケーション・サーバ環境の可用性をテストするための機能を有する。
ミドルウェア・システム100の実行ユニット140は、コンピュータ・アプリケーション201、202に対するそれぞれの実行ユニット250、260からアプリケーション・ソフトウェア環境の状況情報302、303を取り出す、エンジン状況ユニット141を含むことができる。コンピュータ・アプリケーション201、202に対する実行ユニットの状況情報302、303は、データベース300に格納することができる。特定のコンピュータ・アプリケーションの実行ユニットを起動する必要がある場合、それを実行するためのコマンドをデータベース300に格納することもできる。
図6を参照すると、ミドルウェア・システム100は、マクロおよびマイクロの両方のレベルで、ミドルウェア・システム100およびコンピュータ・アプリケーション201、202の両方によって実行可能なワークフローを監視するために、中央監視ユニット150を含むこともできる。監視ユニット150は、監視プロセスの実装および実装の進行中の保守において、時間および経費を劇的に減少させることができる。
この監視ユニットに関するこうした実装手法の1つが「監視(watchdog)」手法である。監視ユニット150は、特定のワークフロー・ステップの最新の状況に関する情報を取得する警報エンジン151を含む。警報エンジン151は、たとえば、実行されることになる特定のワークフロー構成要素またはステップを識別するため、およびワークフロー600の現在の実行状況を示すために、ミドルウェア・システム100の実行ユニット140がワークフロー600を実行する間に実行する、「監視役」として働く。チェックポイントおよびグリッド・コンピューティングのような監視技法も、監視ユニット150によって実装可能である。共通監視フォルダ152を、警報エンジン151の一部として含めることができる。このフォルダ152を使用して、出力500を格納するかまたはこれにアクセスすることができる。マクロ・ワークフローに対応するマイクロ・ワークフローの実行の状況を取得することは、フォルダ152から出力500を取り出すこと、この出力を解析して、実行されているマイクロ・ワークフロー601−1、601−2、...、601−nの構成要素に関係するランタイム情報を生成することによって、実行可能である。
本発明の実施形態は、BPEL4WSおよびWS Choreography標準などのオープン標準を使用するか、または第三者アプリケーションを介したオープン標準の使用を組み込むことができる。
本発明の他の実施形態によれば、コンピュータ・アプリケーション間でワークフローを管理するためのコンピュータ実装方法が提供される。図7を参照すると、流れ図は例示的方法2000を示している。
方法2000は、ブロック2005で、ミドルウェア・システムのマクロ・ワークフローの構成要素と、第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間の、マッピングを取り出すことによって開始される。ミドルウェア・システムのマクロ・ワークフロー構成要素と、ミドルウェア・システムまたは第1のコンピュータ・アプリケーションに接続可能な他のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングも、取り出すことができる。マクロ・ワークフローは、ミドルウェア・システムに接続可能な第1のコンピュータ・アプリケーションおよび他のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することができる。ブロック2010で、ミドルウェア・システムの共通構成が、第1のコンピュータ・アプリケーションまたは第2のコンピュータ・アプリケーション上でマクロ・ワークフローを実行できるようにする、出力を生成する。
出力を生成するステップの詳細は、ブロック2015、2020、および2025内にサブステップとして示されている。このサブステップは、ブロック2015で、ミドルウェア・システムのマクロ・ワークフローの構成要素と、第1、第2、または第Nあるいはそれらすべてのコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間の、マッピングを参照すること、ブロック2020で、ミドルウェア・システムのマクロ・ワークフロー構成要素に対応する第1、第2、または第Nあるいはそれらすべてのコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素を取り出すこと、ならびに、ブロック2025で、出力を生成するために、取り出された第1、第2、または第Nあるいはそれらすべてのコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素を使用すること、を含む。
ブロック2030で、方法は、ミドルウェア・システムと第1、第2、または第Nあるいはそれらすべてのコンピュータ・アプリケーションとの間の既存の接続をテストするステップ、あるいは、ミドルウェア・サーバと第1、第2、または第Nあるいはそれらすべてのコンピュータ・アプリケーションとの間の新規の接続を作成するステップを、さらに含むことができる。既存または新規の接続は、ミドルウェア・システムが生成された出力の取り出しまたは適用を実行できるようにする。
ブロック2035で、方法は、第1、第2、または第Nあるいはそれらすべてのコンピュータ・アプリケーションの対応するワークフローを実行するステップも含むことができる。
ブロック2040で、1つまたは複数のコンピュータ・アプリケーションのアプリケーション・ソフトウェア環境の状況が取り出される。
ブロック2045で、方法は、第1、第2、または第Nのアプリケーションのマクロ・ワークフローに対応するマイクロ・ワークフローの実行の状況を取得するステップを、さらに含むことができる。このステップの詳細は、ブロック2050および2055内にサブステップとして示されている。このサブステップは、ブロック2050で、ミドルウェア・システムの共通監視フォルダから出力を取り出すこと、および、ブロック2055で、ミドルウェア・システムのマクロ・ワークフローに対応するマイクロ・ワークフローの構成要素に関するランタイム情報を生成するための出力を解析すること、を含む。ブロック2060で、方法は、生成されたランタイム情報を表示するステップを含むこともできる。
図8を参照すると、ブロック図は、コンピュータ・アプリケーション3280間でワークフローを管理するためのミドルウェア・システムを含むことが可能な、例示的コンピューティング・システム3000を示す。コンピューティング・システム3000はコンピュータ3010を含む。理解できるように、コンピューティング・システム3000は、デスクトップ・コンピュータ、ラップトップ、サーバ、ポータブル・ハンドヘルド・デバイス、または他の電子デバイスを含むがこれらに限定されない、様々な知られたコンピューティング・デバイスを含むことができる。本考察を容易にするために、本発明の本実施形態についてコンピュータ3010との関連において考察する。
コンピュータ3010は、プロセッサ3020、メモリ・コントローラ3060に結合されたメモリ3040、ローカル入出力コントローラ3120を介して通信可能に結合された1つまたは複数の入力または出力あるいはその両方の(I/O)デバイス3080、3100(または周辺装置)、ならびに、ディスプレイ3160に結合されたディスプレイ・コントローラ3140を含むように表示される。例示的実施形態では、システム3000は、ネットワーク3200に結合するためのネットワーク・インターフェース3180をさらに含むことができる。ネットワーク3200は、コンピュータ3010と外部システムとの間でデータを送信および受信する。例示的実施形態では、従来のキーボード3220およびマウス3240を入力/出力コントローラ3120に結合することができる。
メモリ3040は、プロセッサ3020によって実行可能な命令を格納する。メモリ3040に格納される命令は、1つまたは複数の別々のプログラムを含むことが可能であり、そのそれぞれは、論理機能を実施するための実行可能命令の順序付けリストを含む。図8に示された例では、メモリ3040に格納される命令は、他のコンピュータ・プログラムの実行を制御し、スケジューリング、入力出力制御、ファイルおよびデータ管理、メモリ管理、ならびに通信の制御および関連サービスを提供するために好適な、オペレーティング・システム(OS)3260を含む。
プロセッサ3020は、メモリ3040内に格納された命令を実行すること、メモリ3040へのおよびメモリ3040からのデータを通信すること、ならびに、命令に関連するコンピュータ3010の動作を全体として制御することを、実行するように構成される。プロセッサ3020は、特別注文または一般に入手可能なプロセッサ、中央処理装置(CPU)、コンピュータ3010に関連付けられたいくつかのプロセッサ中の補助プロセッサ、(マイクロチップまたはチップ・セットの形の)半導体ベースのマイクロプロセッサ、マクロプロセッサ、あるいは命令を実行するための一般に任意のデバイスとすることができる。
プロセッサ3020は、コンピュータ・アプリケーション3280間でワークフローを管理するためにミドルウェア・システムの命令を実行する。様々な実施形態において、システム3280は(図示されたような)メモリ3040に格納される、ポータブル記憶デバイス(たとえばCD−ROM、ディスケット、フラッシュ・ドライブなど)(図示せず)から実行される、または、中央サーバ(図示せず)などのリモート位置から実行される、あるいはそれらすべてである。
本発明のさらに他の実施形態によれば、コンピュータ・プログラム製品は、コンピュータ・アプリケーション間でワークフローを管理するために提供される。コンピュータ・プログラム製品は、コンピュータ読み取り可能記憶媒体上に格納されたコンピュータ・プログラム命令を含む。命令が実行された場合、コンピュータは、コンピュータ・アプリケーション間でワークフローを管理するための方法のステップを実行することになり、そのステップについては前述されている。
当業者であれば理解されるように、本発明の態様は、(前述のような)システムまたは方法として、あるいはコンピュータ・プログラム製品として、具体化可能である。したがって、本発明の実施形態は、完全にハードウェア実施形態、完全にソフトウェア実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、あるいは、本明細書ではすべて全体として「回路」、「モジュール」、または「システム」と呼ばれることのあるソフトウェアとハードウェアとの態様を組み合わせた実施形態の形を取ることができる。さらに、本発明の実施形態は、その上にコンピュータ読み取り可能プログラム・コードが具体化された1つまたは複数のコンピュータ読み取り可能媒体内で具体化される、コンピュータ・プログラム製品の形を取ることができる。
1つまたは複数のコンピュータ読み取り可能媒体の組み合わせが使用可能である。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は、たとえば、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、またはデバイス、あるいはそれらの好適な組み合わせとすることができるが、それらに限定されるものではない。コンピュータ読み取り可能記憶媒体のより特定の例(非網羅的リスト)は、1本または複数本のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、あるいはそれらの好適な組み合わせを含む。コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによって、あるいはこれらと共に使用するためのプログラムを、含むかまたは格納することが可能な、有形の媒体とすることができる。
コンピュータ読み取り可能信号媒体は、内部にコンピュータ読み取り可能プログラム・コードが具体化された伝搬データ信号を、たとえばベースバンド内に、または搬送波の一部として含むことができる。こうした伝搬信号は、電磁、光、またはそれらの好適な組み合わせを含むがこれらに限定されない、様々な形を取ることができる。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体ではなく、命令実行システム、装置、またはデバイスによって、あるいはこれらと共に使用するためのプログラムを、通信、伝搬、または移送することが可能な、コンピュータ読み取り可能媒体とすることができる。
コンピュータ読み取り可能媒体上で具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、またはそれらの好適な組み合わせを含むがこれらに限定されない、適切な媒体を使用して伝送することができる。
本発明の態様に関する動作を実施するためのコンピュータ・プログラム・コードは、Java、Smalltalk、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む、1つのプログラミング言語、あるいは2つまたはそれ以上のプログラミング言語で作成可能である。プログラム・コードは、完全にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン型ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上および部分的にリモート・コンピュータ上で、あるいは、完全にリモート・コンピュータまたはサーバ上で、実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続することができるか、あるいは、(たとえばインターネット・サービス・プロバイダを使用するインターネットを介して)外部コンピュータへの接続を実行することができる。
流れ図またはブロック図あるいはその両方の各ブロック、および、流れ図またはブロック図あるいはその両方内のブロックの組み合わせは、コンピュータ・プログラム命令によって実施可能であることを理解されよう。これらのコンピュータ・プログラム命令は、機械を製造するために、汎用コンピュータ、特定用途向けコンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供可能であるため、結果として、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行する命令が、流れ図またはブロック図あるいはその両方のブロック内に指定された機能/動作を実施するための手段を作成することになる。
コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに、特定の様式で機能するように命じることが可能なこれらのコンピュータ・プログラム命令を、コンピュータ読み取り可能媒体内に格納することも可能であり、結果として、コンピュータ読み取り可能媒体に格納された命令が、流れ図またはブロック図あるいはその両方のブロック内に指定された機能/動作を実施する命令を含む製品を製造することになる。
コンピュータ・プログラム命令を、コンピュータ実装プロセスを生成するように、一連の動作ステップを、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行させるために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイス上にロードすることも可能であり、結果として、コンピュータまたは他のプログラマブル装置上で実行する命令が、流れ図またはブロック図あるいはその両方のブロック内に指定された機能/動作を実施するためのプロセスを提供することになる。

Claims (21)

  1. コンピュータ・アプリケーション間でワークフローを管理するための方法であって、
    ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出すステップであって、前記マクロ・ワークフローは、前記第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することが可能である、取り出すステップと、
    前記ミドルウェア・システムの共通構成が、前記第1のコンピュータ・アプリケーションまたは前記第2のコンピュータ・アプリケーション上で前記マクロ・ワークフローを実行できるようにする、出力を生成するステップと、
    を含む、方法。
  2. 前記出力を生成するステップが、
    前記マッピングを参照するステップと、
    前記ミドルウェア・システムの前記マクロ・ワークフロー構成要素に対応する前記第1のコンピュータ・アプリケーションの前記マイクロ・ワークフロー構成要素を取り出すステップと、
    前記出力を生成するために前記第1のコンピュータ・アプリケーションの前記取り出されたマイクロ・ワークフロー構成要素を使用するステップと、
    を含む、請求項1に記載の方法。
  3. 前記第1のコンピュータ・アプリケーションの前記マイクロ・ワークフロー構成要素および前記ミドルウェア・システムの前記マクロ・ワークフロー構成要素が、ビジネス・オブジェクトおよび機能呼び出しからなるグループから選択される、前記請求項のいずれか一項に記載の方法。
  4. 前記出力が、標準言語ファイル、独自所有言語ファイル、テキスト・ファイル、およびAPI呼び出しを含むグループから選択される、請求項1に記載の方法。
  5. 前記第1のコンピュータ・アプリケーションまたは前記第2のコンピュータ・アプリケーションあるいはその両方がミドルウェア・システムである、前記請求項のいずれか一項に記載の方法。
  6. 前記ミドルウェア・システムと前記第1または第2のコンピュータ・アプリケーションとの間の既存の接続をテストするステップ、または、前記ミドルウェア・システムと前記第1または第2のコンピュータ・アプリケーションとの間に新規の接続を作成するステップをさらに含み、前記既存または新規の接続は、前記生成された出力を前記ミドルウェア・システムが取り出すかまたは適用できるようにする、請求項1に記載の方法。
  7. 前記マクロ・ワークフローまたは前記マイクロ・ワークフローを前記第1または第2のコンピュータ・アプリケーション上で実行するステップをさらに含む、請求項1に記載の方法。
  8. 前記第1または第2のコンピュータ・アプリケーションの前記アプリケーション・ソフトウェア環境の状況を取り出すステップと、オプションで、
    前記マクロ・ワークフローに対応する前記マイクロ・ワークフローの実行の前記状況を取得するステップと、
    をさらに含む、請求項7に記載の方法。
  9. 前記マクロ・ワークフローに対応する前記マイクロ・ワークフローの前記実行の前記状況を取得するステップが、
    前記ミドルウェア・システムの共通監視フォルダから前記出力を取り出すステップと、
    前記ミドルウェア・システムの前記マクロ・ワークフローに対応する前記マイクロ・ワークフローの前記構成要素に関するランタイム情報を生成するために前記出力を解析するステップと、
    を含む、請求項8に記載の方法。
  10. 前記生成されたランタイム情報を表示するステップをさらに含む、請求項9に記載の方法。
  11. コンピュータ・アプリケーション間でワークフローを管理するためのミドルウェア・システムであって、
    前記ミドルウェア・システムのマクロ・ワークフローの構成要素と第1のコンピュータ・アプリケーションのマイクロ・ワークフロー構成要素との間のマッピングを取り出すため、および前記マクロ・ワークフローを実行するための、共通構成ユニットであって、前記マクロ・ワークフローは、前記第1のコンピュータ・アプリケーションおよび第2のコンピュータ・アプリケーションのマイクロ・ワークフローを編成することが可能である、共通構成ユニットと、
    前記共通構成が前記第1のコンピュータ・アプリケーションまたは前記第2のコンピュータ・アプリケーション上で前記マクロ・ワークフローを実行できるようにする出力を生成するための、ワークフロー・エクスポート・ユニットと、
    を備える、システム。
  12. 前記出力を生成することが、前記マッピングを参照すること、前記ミドルウェア・システムの前記マクロ・ワークフロー構成要素に対応する前記第1のコンピュータ・アプリケーションの前記マイクロ・ワークフロー構成要素を取り出すこと、および、前記出力を生成するために前記第1のコンピュータ・アプリケーションの前記取り出されたマイクロ・ワークフロー構成要素を使用することによって実行される、請求項11に記載のシステム。
  13. 前記第1のコンピュータ・アプリケーションの前記マイクロ・ワークフロー構成要素および前記ミドルウェア・システムの前記マクロ・ワークフロー構成要素が、ビジネス・オブジェクトおよび機能呼び出しからなるグループから選択される、請求項11に記載のシステム。
  14. 前記出力が、標準言語ファイル、独自所有言語ファイル、テキスト・ファイル、およびAPI呼び出しからなるグループから選択される、請求項11に記載のシステム。
  15. 前記第1のコンピュータ・アプリケーションまたは前記第2のコンピュータ・アプリケーションあるいはその両方がミドルウェア・コンピュータ・アプリケーションである、請求項11に記載のシステム。
  16. 前記共通構成ユニットが、前記ミドルウェア・システムと前記第1または第2のコンピュータ・アプリケーションとの間の既存の接続をテストするため、あるいは、前記ミドルウェア・システムと前記第1または第2のコンピュータ・アプリケーションとの間に新規の接続を作成するための、サービス・マネージャ構成要素を備え、前記既存または新規の接続は、前記生成された出力を前記ミドルウェア・システムが取り出すかまたは適用できるようにするものである、請求項11に記載のシステム。
  17. 前記第1または第2のコンピュータ・アプリケーション上で前記マクロ・ワークフローを実行するための実行ユニットをさらに備え、前記実行ユニットは、オプションで、前記第1または第2のコンピュータ・アプリケーションの前記アプリケーション・ソフトウェア環境の前記状況を取り出すためのエンジン状況ユニットを備える、請求項11に記載のシステム。
  18. 前記マクロ・ワークフローの前記実行を監視するための監視ユニットをさらに備え、前記監視ユニットは、前記マクロ・ワークフローの前記実行の前記状況を取得するための警報エンジンを備える、請求項17に記載のシステム。
  19. 前記マクロ・ワークフローの前記実行の前記状況を取得することが、前記警報エンジンの共通監視フォルダから前記出力を取り出すこと、および、前記ミドルウェア・システムの前記マクロ・ワークフローに対応する前記マイクロ・ワークフローの前記構成要素に関するランタイム情報を生成するために前記出力を解析することによって実行される、請求項18に記載のシステム。
  20. 前記警報エンジンが前記生成されたランタイム情報をさらに表示する、請求項19に記載のシステム。
  21. コンピュータ・システム内にロードされ、実行された場合、請求項1から10のいずれか一項に記載の方法のすべてのステップを実行するためのコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
JP2013520128A 2010-07-20 2011-07-19 コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム Expired - Fee Related JP5756520B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/839,841 US8458729B2 (en) 2010-07-20 2010-07-20 Managing and optimizing workflows among computer applications
US12/839,841 2010-07-20
PCT/EP2011/062358 WO2012010599A1 (en) 2010-07-20 2011-07-19 Managing and optimizing workflows among computer applications

Publications (2)

Publication Number Publication Date
JP2013536498A true JP2013536498A (ja) 2013-09-19
JP5756520B2 JP5756520B2 (ja) 2015-07-29

Family

ID=44544122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013520128A Expired - Fee Related JP5756520B2 (ja) 2010-07-20 2011-07-19 コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム

Country Status (6)

Country Link
US (2) US8458729B2 (ja)
JP (1) JP5756520B2 (ja)
CN (1) CN103003830B (ja)
DE (1) DE112011102394T5 (ja)
GB (1) GB2496072A (ja)
WO (1) WO2012010599A1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527938B2 (en) * 2005-06-21 2013-09-03 The Boeing Company Worklet modeling
WO2010093879A1 (en) 2009-02-13 2010-08-19 Ab Initio Technology Llc Managing task execution
WO2011159759A1 (en) 2010-06-15 2011-12-22 Ab Initio Technology Llc Dynamically loading graph-based computations
JP2013149171A (ja) * 2012-01-20 2013-08-01 Panasonic Corp プログラム実行方法およびその装置
US8468233B1 (en) * 2012-09-14 2013-06-18 SolveDirect Service Management GmbH Service process integration systems and methods
US9507682B2 (en) * 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US20150046212A1 (en) * 2013-08-09 2015-02-12 Xerox Corporation Monitoring of business processes and services using concept probes and business process probes
CA3114544C (en) 2013-12-05 2025-09-02 Ab Initio Technology Llc Interface management for data flow graphs composed of subgraphs
GB2536402A (en) * 2014-11-14 2016-09-21 Mastercard International Inc Workflow integration
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US11831682B2 (en) * 2015-10-28 2023-11-28 Qomplx Llc Highly scalable distributed connection interface for data capture from multiple network service and cloud-based sources
JP6584672B2 (ja) 2015-12-21 2019-10-02 アビニシオ テクノロジー エルエルシー サブグラフインターフェースの生成
CN105740066A (zh) * 2016-01-26 2016-07-06 邱小平 基于工作流的中间系统
US20170212928A1 (en) * 2016-01-27 2017-07-27 International Business Machines Corporation Cognitive decision making based on dynamic model composition
US11079909B2 (en) * 2016-12-23 2021-08-03 Salesforce.Com, Inc. Macro building tool with an information pane and a macro building pane for compiling an ordered macro and determining data dependency
CN108596824A (zh) * 2018-03-21 2018-09-28 华中科技大学 一种基于gpu优化富元数据管理的方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002203086A (ja) * 2000-12-28 2002-07-19 Sumitomo Electric Ind Ltd ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラムを記録した記録媒体
JP2004206694A (ja) * 2002-12-10 2004-07-22 Hewlett-Packard Development Co Lp 要件ベースワークフローを動的に順序付けするシステムおよび方法
JP2006515942A (ja) * 2003-07-31 2006-06-08 スイス リインシュランス カンパニー トランザクションサーバ及びコンピュータプログラム製品
JP2008112393A (ja) * 2006-10-31 2008-05-15 Canon Inc 情報処理装置、情報処理方法、情報処理システムならびに情報処理方法を実行するプログラム(ワークフローエディタ)
JP2009271660A (ja) * 2008-05-02 2009-11-19 Canon Inc 画像形成装置、情報処理装置、ワークフロー管理方法及びプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6157934A (en) 1995-10-24 2000-12-05 Ultimus, L.L.C. Method and apparatus for using distributed spreadsheets in a client/server architecture for workflow automation
US6866866B1 (en) 2000-11-03 2005-03-15 Andrx Labs, Llc Controlled release metformin compositions
US20060085245A1 (en) 2004-10-19 2006-04-20 Filenet Corporation Team collaboration system with business process management and records management
US7792693B2 (en) 2005-02-25 2010-09-07 Novell, Inc. Distributed workflow techniques
US7475275B2 (en) 2005-10-27 2009-01-06 International Business Machines Corporation Method for fault handling in a co-operative workflow environment
FI20051137A0 (fi) 2005-11-09 2005-11-09 Nokia Corp Menetelmä hajautetun asiankäsittelyn muodostamiseksi ja suorittamiseksi viestintäjärjestelmässä
US20070143736A1 (en) 2005-12-09 2007-06-21 Microsystems Technology, Inc. Workflow Development Platform
US20080021696A1 (en) * 2006-07-19 2008-01-24 Walgreen Co. System and method of providing a fast path link for an identified set of data
US8001080B2 (en) * 2006-09-12 2011-08-16 Infosys Technologies Ltd. Managing real-time execution of transactions in a network
US8429668B2 (en) * 2007-12-07 2013-04-23 Sap Ag Workflow task re-evaluation
CN100538650C (zh) * 2008-02-01 2009-09-09 清华大学 基于组件的网格中间件互交互方法
US20100057826A1 (en) 2008-08-29 2010-03-04 Weihsiung William Chow Distributed Workflow Process Over a Network
CN101751255B (zh) * 2009-12-30 2013-01-23 山东中创软件工程股份有限公司 遵循xpdl规范工作流中间件实现服务编制的方法、装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002203086A (ja) * 2000-12-28 2002-07-19 Sumitomo Electric Ind Ltd ワークフロー管理装置、ワークフロー管理方法およびワークフロー管理プログラムを記録した記録媒体
JP2004206694A (ja) * 2002-12-10 2004-07-22 Hewlett-Packard Development Co Lp 要件ベースワークフローを動的に順序付けするシステムおよび方法
JP2006515942A (ja) * 2003-07-31 2006-06-08 スイス リインシュランス カンパニー トランザクションサーバ及びコンピュータプログラム製品
JP2008112393A (ja) * 2006-10-31 2008-05-15 Canon Inc 情報処理装置、情報処理方法、情報処理システムならびに情報処理方法を実行するプログラム(ワークフローエディタ)
JP2009271660A (ja) * 2008-05-02 2009-11-19 Canon Inc 画像形成装置、情報処理装置、ワークフロー管理方法及びプログラム

Also Published As

Publication number Publication date
US20120023508A1 (en) 2012-01-26
DE112011102394T5 (de) 2013-05-08
US8458729B2 (en) 2013-06-04
WO2012010599A1 (en) 2012-01-26
GB201301551D0 (en) 2013-03-13
US20130227590A1 (en) 2013-08-29
GB2496072A (en) 2013-05-01
CN103003830A (zh) 2013-03-27
JP5756520B2 (ja) 2015-07-29
CN103003830B (zh) 2016-05-11
US8943518B2 (en) 2015-01-27

Similar Documents

Publication Publication Date Title
JP5756520B2 (ja) コンピュータ・アプリケーション間でのワークフローの管理および最適化のための方法、システム、およびコンピュータ・プログラム
US8762933B2 (en) Converting business process models to component models in a service oriented architecture domain
US9396046B2 (en) Graph based data model for API ecosystem insights
US9916137B2 (en) Rest service source code generation
US20210304142A1 (en) End-user feedback reporting framework for collaborative software development environments
US10296859B1 (en) Workflow discovery through user action monitoring
US20110213633A1 (en) Methods and systems for cost estimation based on templates
US10558505B2 (en) System and method for implementing enterprise operations management trigger event handling
US20130166721A1 (en) Systems and methods for a social media network/business platform interface
US20070185746A1 (en) Intelligent event adaptation mechanism for business performance monitoring
WO2011083302A1 (en) A method and system for implenting definable actions
US20110264638A1 (en) System and Method for Communicating Enterprise Information Between a Mobile Device and a Backend Platform
US20090100431A1 (en) Dynamic business process prioritization based on context
US20120151311A1 (en) System and method for generating a customized task list
US20240210903A1 (en) Software Development (DevOps) Pipelines for Robotic Process Automation
CN101180598A (zh) 用于提供过程指南的方法和装置
EP2685376A1 (en) COBOL reference architecture
JP2023070148A (ja) ロボティックプロセスオートメーション(rpa)ロボットをリソースへ動的にバインドさせるためのシステムおよび方法
US12399484B2 (en) Selective invocation of RPA workflows via API calls
US20090099880A1 (en) Dynamic business process prioritization based on context
Youssef et al. EOS: enterprise operating systems
AU2011201409B2 (en) System for integrating service management systems
Cozzi et al. Activity management as a web service
Garcês et al. Open source workflow management systems: a concise survey
AU2013204531B2 (en) System for integrating service management systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150304

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150304

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20150304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150304

TRDD Decision of grant or rejection written
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150512

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150512

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150512

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150529

R150 Certificate of patent or registration of utility model

Ref document number: 5756520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees