JP4425205B2 - 部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置 - Google Patents

部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置 Download PDF

Info

Publication number
JP4425205B2
JP4425205B2 JP2005317593A JP2005317593A JP4425205B2 JP 4425205 B2 JP4425205 B2 JP 4425205B2 JP 2005317593 A JP2005317593 A JP 2005317593A JP 2005317593 A JP2005317593 A JP 2005317593A JP 4425205 B2 JP4425205 B2 JP 4425205B2
Authority
JP
Japan
Prior art keywords
node
business process
process flow
execution subject
definition
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.)
Expired - Fee Related
Application number
JP2005317593A
Other languages
English (en)
Other versions
JP2007122651A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005317593A priority Critical patent/JP4425205B2/ja
Priority to US11/369,922 priority patent/US20070168928A1/en
Publication of JP2007122651A publication Critical patent/JP2007122651A/ja
Application granted granted Critical
Publication of JP4425205B2 publication Critical patent/JP4425205B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Description

本発明は業務内容の一部を実施するための処理手順を示す部分フロー定義を生成するための部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置に関し、特に複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて部分フロー定義を生成するための部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置に関する。
業務システムの開発にあたり、依頼主の注文を正確に業務システムに反映させるには、より業務側の視点でのシステム開発を行う必要がある。この開発において問題となるのは、次の2者間のシステムに関する考え方のギャップの存在である。
・経営層や業務部門を中心とするグループ(対象業務およびビジネスシステムの支援対象の業務機能を把握)。以下、「業務側」と呼ぶ。
・システムベンダを中心とするグループ(業務システムを実装する技法やノウハウを持つ)。以下、「ベンダ側」と呼ぶ。
この2者間には、相互理解のギャップ(それぞれが業務よりの言葉、システムよりの言葉で機能を説明しがちで、システムが実現する機能(ユースケース)が業務側からベンダ側に伝わりにくい。さらに、システムの変更が生じた場合に、変更内容を実際のシステムに反映するのに時間を要する(業務内容の変化に合わせたシステム変更が実現するまでに時間がかかるという、時間上のギャップ)という2つのギャップがある。
これを解決する指針を提示した基本概念に「サービス指向開発」(業務システムを実現する機能を、業務側が扱いやすい単位でまとめ「サービス」と呼び、「サービス」を組み合わせて業務システムを実現する)がある。この基本概念に基づいてシステム開発を行うために、経営層・業務部門側が理解できる表現でシステム化対象の業務内容を表現する手段が必要である。この1形態に業務プロセスフローがある。
業務プロセスフローを起点にした業務システム開発では、業務プロセスフローによる業務定義を起点に、システムに必要な機能を列挙し、実行順序(機能の呼び出し処理フロー)を策定する。すでに各社が、プロセスフロー定義から呼び出し処理のフローを作成するツールを発表している(例えば、特許文献1参照)。
なお、業務の流れを表現したモデルの質の向上を図る技術も考えられている。例えば、機能単位で行う一連の操作に対して、その操作が扱うエンティティオブジェクトと、複数のエンティティオブジェクトにまたがる操作を持つ制御オブジェクトとを予め区別することで、操作の呼び出し関係を発生順に表現したイベントトレース図の質の向上を図る技術がある(例えば、特許文献2参照)。
特開2001−92647号公報 特開平9−292981号公報
しかし、従来の手法・ツールでは、人手で実施する処理とシステムが実行する処理とが混在した業務プロセスフローから、システムに実装するフローのみを自動生成することはできない。経営層・業務部門側が理解でき、システムベンダ側に対して内容を合意・承認できる業務プロセスフローは、通常、業務システムによって機械的に実行する部分と、業務システム導入後も人手で実行する部分とが混在する。これに対して、従来の処理法は、次の「二度手間」を行っていた。
1.業務側との合意のために、人手で実施する処理を含むフローを記述する。
2.機械的に呼び出す部分のみのフローを改めて記述し、こちらから実行可能定義を生成する。もしくは、人手で実行する部分に焦点をあてたフローを改めて記述し、そこから人的な作業を機械的に管理するワークフロー定義を生成する。
この結果、業務内容の変更に合わせたシステム変更が実現するまで時間がかかる。また、機械的に呼び出す部分のみのフローを改めて記述する段階で誤解や転記ミスから、誤った設計でシステム開発を進めてしまう虞がある。
加えて、経営層・業務部門側の合意・承認を得るための業務プロセスフローの記述ルールには、バリエーションがあり、呼び出し処理フロー定義やワークフロー定義の記述形式も実行基盤ごとにバリエーションがある。
本発明はこのような点に鑑みてなされたものであり、システム構築に関する業務側との合意内容を反映させた業務プロセスフローに基づいて、機械的に自動実行可能なサービスフロー定義や人的な操作入力を伴う作業に関するワークフロー定義を自動生成できる部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置を提供することを目的とする。
本発明では上記課題を解決するために、図1に示すような部分フロー定義生成プログラムが提供される。本発明に係る部分フロー定義生成プログラムは、コンピュータに複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、業務内容の一部を実施するための処理手順を示す部分フロー定義を生成させるために、図1に示す機能をコンピュータに実行させることができる。
業務プロセスフロー記憶手段1は、個々の処理に対応するノードに対して、ノードで示される処理の実行主体が設定された業務プロセスフロー1aを記憶する。特定条件記憶手段4a,5aは、業務プロセスフロー1aの中から部分フロー定義の構成対象とするノードを特定するための判断基準として、実行主体に基づく判断基準を含む特定条件を記憶する。対象部分抽出手段4b,5bは、業務プロセスフロー1aから、特定条件記憶手段4a,5aに記憶された特定条件を満たすノードを抽出する。部分フロー定義生成手段4c,5cは、業務プロセスフロー1aに定義された処理手順に沿って、対象部分抽出手段4b,5bで抽出されたノード間の処理の遷移関係を示す遷移情報を定義することで、部分フロー定義を生成する。
このような部分フロー生成プログラムをコンピュータに実行させることにより、対象部分抽出手段4b,5bにより、業務プロセスフロー1aから、特定条件記憶手段4a,5aに記憶された特定条件を満たすノードが抽出される。そして、部分フロー定義生成手段4c,5cにより、業務プロセスフロー1aに定義された処理手順に沿って、対象部分抽出手段4b,5bで抽出されたノード間の処理の遷移関係を示す遷移情報が定義され、部分フロー定義が生成される。
また、上記課題を解決するために、複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、前記業務内容の一部を実施するための処理手順を示す部分フロー定義を、コンピュータにより生成するための部分フロー定義生成方法において、個々の処理に対応する前記ノードに対して、前記ノードで示される処理の実行主体が設定された業務プロセスフローを記憶する業務プロセスフロー記憶手段が予め設けられており、特定条件記憶手段が、前記業務プロセスフローの中から前記部分フロー定義の構成対象とするノードを特定するための判断基準として、前記実行主体に基づく判断基準を含む特定条件を記憶し、対象部分抽出手段が、前記業務プロセスフローから、前記特定条件記憶手段に記憶された前記特定条件を満たす前記ノードを抽出し、部分フロー定義生成手段が、前記業務プロセスフローに定義された処理手順に沿って、前記対象部分抽出手段で抽出された前記ノード間の処理の遷移関係を示す遷移情報を定義することで、前記部分フロー定義を生成する、ことを特徴とする部分フロー定義生成方法が提供される。
このような部分フロー定義生成方法によれば、対象部分抽出手段により、業務プロセスフローから、特定条件記憶手段に記憶された特定条件を満たすノードが抽出される。そして、部分フロー定義生成手段により、業務プロセスフローに定義された処理手順に沿って、対象部分抽出手段で抽出されたノード間の処理の遷移関係を示す遷移情報が定義され、部分フロー定義が生成される。
また、上記課題を解決するために、複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、前記業務内容の一部を実施するための処理手順を示す部分フロー定義を生成する部分フロー定義生成装置において、個々の処理に対応する前記ノードに対して、前記ノードで示される処理の実行主体が設定された業務プロセスフローを記憶する業務プロセスフロー記憶手段と、前記業務プロセスフローの中から前記部分フロー定義の構成対象とするノードを特定するための判断基準として、前記実行主体に基づく判断基準を含む特定条件を記憶する特定条件記憶手段と、前記業務プロセスフローから、前記特定条件記憶手段に記憶された前記特定条件を満たす前記ノードを抽出する対象部分抽出手段と、前記業務プロセスフローに定義された処理手順に沿って、前記対象部分抽出手段で抽出された前記ノード間の処理の遷移関係を示す遷移情報を定義することで、前記部分フロー定義を生成する部分フロー定義生成手段と、を有することを特徴とする部分フロー定義生成装置が提供される。
このような部分フロー定義生成装置によれば、対象部分抽出手段により、業務プロセスフローから、特定条件記憶手段に記憶された特定条件を満たすノードが抽出される。そして、部分フロー定義生成手段により、業務プロセスフローに定義された処理手順に沿って、対象部分抽出手段で抽出されたノード間の処理の遷移関係を示す遷移情報が定義され、部分フロー定義が生成される。
本発明では、業務プロセスフローに設定されている実行主体に関する情報に基づいて、部分フローを生成するようにしたため、例えば、機械的に自動実行可能なサービスフロー定義や人的な操作入力を伴う作業に関するワークフロー定義等の部分フロー定義を自動的に作成できる。その結果、業務プロセスフローの内容変更があっても、変更内容を即座に部分フロー定義に反映させることができ、部分フロー定義に基づいたシステム実装の作業の遅延を防止することができる。
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本実施の形態の概略を示す図である。図1には、複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフロー1aに基づいて、業務内容の一部を実施するための処理手順を示す部分フロー定義として、サービスフロー定義と、ワークフロー定義を生成するための機能が示されている。サービスフロー定義は、コンピュータシステムで実行する一連処理を定義したものである。ワークフロー定義は、人の作業が介在した処理の手順を定義したものである。
業務プロセスフロー記憶手段1は、個々の処理に対応するノードに対して、ノードで示される処理の実行主体が設定された業務プロセスフロー1aを記憶する。業務プロセスフロー1aは、業務プロセスフロー編集手段2を用いて作成することができる。また、業務プロセスフロー1aには、実装情報付加手段3により、コンピュータシステムに実装する際に必要となる実装情報を付加することができる。
サービスフロー切出手段4は、業務プロセスフロー1aに基づいて、コンピュータシステムで自動実行させる処理手順を示すサービスフロー定義を生成する。そのために、サービスフロー切出手段4は、特定条件記憶手段4a、対象部分抽出手段4b、および部分フロー定義生成手段4cを有している。
特定条件記憶手段4aは、業務プロセスフロー1aの中からサービスフロー定義の構成対象とするノードを特定するための判断基準として、実行主体に基づく判断基準を含む特定条件を記憶する。対象部分抽出手段4bは、業務プロセスフロー1aから、特定条件記憶手段4aに記憶された特定条件を満たすノードを抽出する。部分フロー定義生成手段4cは、業務プロセスフロー1aに定義された処理手順に沿って、対象部分抽出手段4bで抽出されたノード間の処理の遷移関係を示す遷移情報を定義することで、サービスフロー定義を生成する。
ワークフロー切出手段5は、業務プロセスフロー1aに基づいて、人手で行われる処理の手順を示すワークフロー定義を生成する。そのために、ワークフロー切出手段5は、特定条件記憶手段5a、対象部分抽出手段5b、および部分フロー定義生成手段5cを有している。
特定条件記憶手段5aは、業務プロセスフロー1aの中からワークフロー定義の構成対象とするノードを特定するための判断基準として、実行主体に基づく判断基準を含む特定条件を記憶する。対象部分抽出手段5bは、業務プロセスフロー1aから、特定条件記憶手段5aに記憶された特定条件を満たすノードを抽出する。部分フロー定義生成手段5cは、業務プロセスフロー1aに定義された処理手順に沿って、対象部分抽出手段5bで抽出されたノード間の処理の遷移関係を示す遷移情報を定義することで、ワークフロー定義を生成する。
サービスフロー定義記憶手段6は、生成されたサービスフロー定義を格納する。ワークフロー定義記憶手段7は、生成されたワークフロー定義を格納する。
このような機能によって、業務プロセスフロー1aから、サービスフロー定義やワークフロー定義が作成される。
図2は、サービスフロー定義の生成方法を示す概念図である。図2の例では、業務プロセスフロー1bに、出荷部門、出荷管理システム、および在庫管理サービスで行われる処理が、それぞれパーティションに分けて設定されている。この例では、出荷部門の処理は、全て実行主体として人が介在する旨が設定されているものする。また、出荷管理システムと在庫管理サービスとの処理は、全て実行主体がコンピュータシステムである旨が設定されているものとする。
また、この業務プロセスフロー1bには、実装情報1ba,1bb,1bcが付加されている。実装情報1baは、出荷管理システムの処理に関しては、「サービス実装不適」であることを示している。実装情報1bbは、在庫管理サービス中の処理を示すノードに対するサービスインタフェース情報(どのようなプログラムモジュールを使用してサービスを実装すべきか)を示している。実装情報1bcは、入出力されるデータのデータ構造定義を示している。
このような業務プロセスフロー1bがサービスフロー切出手段4に入力されると、コンピュータシステムを実行主体とする処理を示すノードが抽出される。ただし、実装情報において、サービス実装不適とされているノードは除外される。その結果、在庫管理サービスに設定されるノードから2つのフロー化対象部分8a,8bが抽出される。このフロー化対象部分8a,8bを、BPEL(Business Process Execution Language)等の記述形式に変換することで、サービスフロー定義6a,6bが生成される。
図3は、ワークフロー定義の生成方法を示す概念図である。業務プロセスフロー1bは、図2に示したものと同じである。
このような業務プロセスフロー1bがワークフロー切出手段5に入力されると、人が介在する処理を示すノードが抽出される。その結果、出荷部門に設定されるノードからフロー化対象部分9が抽出される。このフロー化対象部分9を、所定の記述形式に変換することで、ワークフロー定義7aが生成される。
このように業務プロセスフローからサービスフロー定義やワークフロー定義を自動的に作成できることで、業務プロセスフローの内容変更があっても、変更内容を即座に部分フロー定義に反映させることができる。その結果、部分フロー定義に基づいたシステム実装の作業の遅延を防止することができる。
なお、生成されたサービスフロー定義を用いれば、該当するサービスの実行機能をサーバに対して自動的に実装(デプロイ)することができる。例えば、サービスフロー定義をBPELで作成した場合、サーバにBPELを解釈する機能と、各処理内容に応じた実行モジュールとが用意されていれば、サーバは、サービスフロー定義に従ったサービスを提供することができる。そこで、以下に、サービスフロー定義に応じたサービスをサーバで提供するためのシステム構成を用いて、本実施の形態の詳細を説明する。
図4は、本実施の形態のシステム構成例を示す図である。システム管理サーバ100は、ネットワーク10を介して、クライアント21,22,・・・やサーバ31,32,33に接続されている。
クライアント21,22,・・・は、サーバ31,32,33で提供されるサービスの利用者が使用するコンピュータである。サーバ31,32,33は、一連の業務プロセスを実現するためのサービスを実行するコンピュータである。サーバ31,32,33は、互いに連携してサービスを実行することで、1つの業務を完遂することができる。
システム管理サーバ100は、サーバ31,32,33に対してサービスフロー定義を実装するためのコンピュータである。システム管理サーバ100は、システム管理者からの操作入力によって業務プロセスフローが作成されると、その業務プロセスフローをサーバ31,32,33で実現する処理を定義したサービスフロー定義を生成する。そして、システム管理サーバ100が、各サーバ31,32,33に対してサービスフロー定義を設定することで、各サーバ31,32,33は、設定されたサービスフロー定義に従ったサービスを実行可能となる。
図5は、本実施の形態に用いるシステム管理サーバのハードウェア構成例を示す図である。システム管理サーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図5には、システム管理サーバ100のハードウェア構成例を示したが、クライアント21,22,・・・やサーバ31,32,33も同様のハードウェア構成で実現することができる。
図6は、システム管理サーバの機能を示すブロック図である。システム管理サーバ100は、業務プロセスフロー編集部110、業務プロセスフロー記憶部120、実装情報付加部130、サービスフロー切出部140、ワークフロー切出部150、サービスフロー定義記憶部160、およびワークフロー定義記憶部170を有している。
業務プロセスフロー編集部110は、ユーザからの操作入力応じて、業務プロセスフローを生成する。生成される業務プロセスフローは、処理種別毎にパーティションが設けられ、実施すべき処理に対応するノードをパーティションに配置すると共に、処理手順を示す線でノードを結ぶことで、業務の処理手順が表現される。ノードは、業務遂行途中で発生する動作(アクション)を表している。
さらに、業務プロセスフロー編集部110は、生成した業務プロセスフローに対するユーザの操作入力に応じて、業務の処理内容を示すノードの生成等の編集を行う。その際、業務プロセスフロー編集部110は、例えば、業務プロセスフローを構成するノードに対して、処理の実行主体を示す情報を付加する。処理の実行主体を示す情報には、「システム」、「システム支援」、および「人の作業」がある。
「システム」は、該当するノードの処理が、入力された情報に基づいてコンピュータが処理を実行し、間に人手を介さずに完了できる処理であることを示している。「システム支援」は、該当するノードの処理が、コンピュータがユーザとの間で対話型の処理を行う処理であることを示している。「人の作業」は、該当するノードの処理が、人手によって行われる処理であることを示している。
そして、業務プロセスフロー編集部110は、生成した業務プロセスフローを業務プロセスフロー記憶部120に格納する。
業務プロセスフロー記憶部120は、業務プロセスフローを記憶する記憶装置である。例えば、RAM102の記憶領域の一部が、業務プロセスフロー記憶部120として使用される。
実装情報付加部130は、ユーザからの操作入力に応じて、業務プロセスフロー記憶部120に格納されている業務プロセスフローに対して、実装情報を付加する。例えば、実装情報付加部130は、業務プロセスフローに対して、パーティションで示される処理を全てサービス実装から除外することを示す「サービス実装不適」の実装情報を付加することができる。さらに、実装情報付加部130は、ノードに対してXML(eXtensible Markup Language)スキーマ情報を付加することができる。
サービスフロー切出部140は、業務プロセスフロー記憶部120に記憶された業務プロセスフローに基づいて、コンピュータシステムに実行させる処理手順を表すサービスフロー定義を作成する。そのために、サービスフロー切出部140は、特定条件記憶部141、対象部分抽出部142、およびフロー定義生成部143を有している。
特定条件記憶部141には、業務プロセスフローに設定されている要素の中から、サービスフロー定義の作成に使用する要素を抽出するための特定条件が予め格納されている。そして、特定条件記憶部141は、複数の特定条件が格納されていた場合、ユーザからの操作入力に応じて、予め格納されている特定条件の中から、業務プロセスフロー記憶部120に格納された業務プロセスフローに基づくサービスフローの作成に適用する特定条件を選択する。特定条件記憶部141は、選択した特定条件を対象部分抽出部142に対して提供する。
特定条件としては、例えば、次のような判断基準で構成される。
1.業務側と「システムによる自動実行」と合意された処理(実行主体として「システム」が設定されているノードが対象となる)を抽出対象とする。
2.業務側と「システムによる自動実行」と合意された処理間の遷移・分岐・合流に該当する処理を抽出対象とする。
3.ただし、上記2つの条件に拘わらず、「サービス実装不適」の実装情報が付加された処理を、抽出対象から除外する。
なお、対象部分抽出部142は、判断基準を適用するか不適用とするかは、ユーザの操作入力に基づいて決定する。
対象部分抽出部142は、業務プロセスフローの中から、特定条件を満たすノード(対象部分)を特定する。そして、対象部分抽出部142は、対象部分と、その対象部分に設定された実装情報とをフロー定義生成部143に渡す。
フロー定義生成部143は、対象部分抽出部142から渡された対象部分と実装情報とに基づいて、サービスフロー定義を生成する。
ワークフロー切出部150は、業務プロセスフロー記憶部120に記憶された業務プロセスフローに基づいて、人手による作業、およびコンピュータシステムの支援を受けて人が実施する処理の手順を表すワークフロー定義を作成する。そのために、ワークフロー切出部150は、特定条件記憶部151、対象部分抽出部152、およびフロー定義生成部153を有している。
特定条件記憶部151には、業務プロセスフローに設定されている要素の中から、ワークフロー定義の作成に使用する要素を抽出するための特定条件が予め格納されている。そして、特定条件記憶部151は、複数の特定条件が格納されている場合、ユーザからの操作入力に応じて、予め格納されている特定条件の中から、業務プロセスフロー記憶部120に格納された業務プロセスフローに基づくワークフローの作成に適用する特定条件を選択する。特定条件記憶部151は、選択した特定条件を対象部分抽出部152に対して提供する。
特定条件としては、例えば、次のような判断基準で構成される。
1.人手で実施する処理、およびシステムの支援を受けて人が実施する処理(実行主体として「人の作業」または「システム支援」が設定されているノードが対象となる)を抽出対象とする。
2.人手で実施する処理、およびシステムの支援を受けて人が実施する処理間の遷移・分岐・合流に該当する処理を抽出対象とする。
3.システムによる一連の自動実行処理(1つの処理に集約)を抽出対象とする。
なお、対象部分抽出部152は、各判断基準を適用するか不適用とするかは、ユーザの操作入力に基づいて決定する。
対象部分抽出部152は、業務プロセスフローの中から、特定条件を満たすノード(対象部分)を特定する。そして、対象部分抽出部152は、対象部分と、その対象部分に設定された実装情報とをフロー定義生成部153に渡す。
フロー定義生成部153は、対象部分抽出部152から渡された対象部分と実装情報とに基づいて、ワークフロー定義を生成する。
サービスフロー定義記憶部160は、サービスフロー切出部140で生成されたサービスフロー定義を記憶する記憶装置である。例えば、RAM102の記憶領域の一部が、サービスフロー定義記憶部160として使用される。
ワークフロー定義記憶部170は、ワークフロー切出部150で生成されたワークフロー定義を記憶する記憶装置である。例えば、RAM102の記憶領域の一部が、ワークフロー定義記憶部170として使用される。
このような機能を有するシステム管理サーバ100において、以下のような部分フロー生成処理が行われる。
図7は、部分フロー生成処理の手順を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。
[ステップS11]業務プロセスフロー編集部110は、システムベンダ側の担当者による操作入力に基づいて業務プロセスフローを生成し、業務プロセスフロー記憶部120に格納する。
システムベンダ側は、生成された業務プロセスフローの内容を、業務側のステークホルダ(利害関係者)に閲覧させ合意を求める。業務側の合意が得られると、以降の処理が進められる。
[ステップS12]実装情報付加部130は、システムベンダ側の担当者による操作入力に基づいて、業務プロセスフロー記憶部120に格納されている業務プロセスフローに対して実装情報を付加する。
[ステップS13]サービスフロー切出部140は、業務プロセスフロー記憶部120に格納されている業務プロセスフローに基づいて、サービスフロー定義を生成し、サービスフロー定義記憶部160に格納する。この処理の詳細は後述する。
[ステップS14]ワークフロー切出部150は、業務プロセスフロー記憶部120に格納されている業務プロセスフローに基づいて、ワークフロー定義を生成し、ワークフロー定義記憶部170に格納する。この処理の詳細は後述する。
図8は、業務プロセスフローの例を示す図である。図8に示すように、業務プロセスフロー200には、処理内容毎のパーティション210,220,230が設けられている。
パーティション210は、出荷部門で行われる処理を示している。パーティション210には、7つのノード211〜217が設定されている。なお、図8において、ノードの遷移関係は実線の矢印で示されており、データの受け渡しは破線の矢印で示されている。
ノード211は、開始ノードであり、処理の開始位置であることを示している。
ノード212は、受注情報確認処理を示しており、実行主体は「システム支援」と設定されている。ノード212は、開始ノード211から遷移する。
ノード213は、ピッキング対象提示処理を示しており、実行主体は「システム支援」と設定されている。ノード213は、パーティション220内のノード221から遷移する。また、ノード213には、パーティション230のノード231から「出荷伝票」のデータ42が渡される。
ノード214は、ピッキング作業を示しており、実行主体は「人の作業」と設定されている。ノード214は、ノード213から遷移する。また、ノード214には、パーティション230のノード231から「出荷伝票」のデータ42が渡される。
ノード215は、出荷確認入力処理を示しており、実行主体は「システム支援」と設定されている。ノード215は、ノード214から遷移する。また、ノード215には、パーティション230のノード231から「出荷伝票」のデータ42が渡される。さらに、ノード215には、出荷情報入力画面46に対する操作内容が入力される。
ノード216は、貨物状況確認処理を示しており、実行主体は「システム支援」と設定されている。ノード216は、パーティション220のノード222から遷移する。また、ノード216には、パーティション230のノード238から「貨物追跡コード」のデータ45が渡される。
ノード217は、終了ノードであり、処理の終了位置であることを示している。
パーティション220は、出荷管理システム(コンピュータシステムで提供される情報処理サービス)で行われる処理を示している。パーティション220には、2つのノード221,222が設定されている。
ノード221は、ピッキングリスト出力処理を示しており、実行主体は「システム」と設定されている。ノード221は、パーティション230のノード231から遷移する。また、ノード221には、ノード231から「出荷伝票」のデータ42が渡される。
ノード222は、貨物状況登録処理を示しており、実行主体は「システム」と設定されている。ノード222は、パーティション230のノード238から遷移する。また、ノード222には、ノード238から「貨物追跡コード」のデータ45が渡される。
パーティション230は、在庫管理サービス(コンピュータシステムで提供される情報処理サービス)で行われる処理を示している。パーティション230には、8つのノード231〜238が設定されている。
ノード231は、出荷伝票発行処理を示しており、実行主体は「システム」と設定されている。ノード231は、パーティション210のノード212から遷移する。また、ノード231には、ノード212から「受注情報」のデータ41が渡される。
ノード232は、出荷受付処理を示しており、実行主体は「システム」と設定されている。ノード232は、パーティション210のノード215から遷移する。また、ノード232には、ノード231から「出荷伝票」のデータ42が渡される。
ノード233は、出荷の種別が「緊急」か「通常出荷」かによる分岐判断処理を示している。ノード233は、ノード232から遷移する。
ノード234は、臨時便依頼処理を示しており、実行主体は「システム」と設定されている。ノード234は、ノード233において「緊急」と判断されたときに、ノード233から遷移する。また、ノード234には、ノード232から「出荷伝票(受付済)」のデータ43が渡される。
ノード235は、センタ毎取りまとめ処理を示しており、実行主体は「システム」と設定されている。ノード235は、ノード233において「通常出荷」と判断されたときに、ノード232から遷移する。また、ノード235には、ノード232から「出荷伝票(受付済)」のデータ43が渡され、処理結果によりデータ43を更新する。
ノード236は、センタ出荷処理を示しており、実行主体は「システム」と設定されている。ノード236は、ノード235から遷移する。また、ノード236には、ノード235から「出荷伝票(受付済)」のデータ43が渡される。
ノード237は、ノード234とノード236とからの遷移の合流を示している。
ノード238は、貨物追跡コード登録処理を示しており、実行主体は「システム」と設定されている。ノード238は、ノード237から遷移する。また、ノード238には、ノード234またはノード236から「納品書」のデータ44が渡される。
このような業務プロセスフロー200が生成され、内容について業務側のステークホルダと合意したものとする。なお、パーティション220に示される出荷管理システムについては、今回のシステム構築の対象外とされたものとする。
すると、システムベンダ側の担当者は、システムの実装に必要となる実装情報を業務プロセスフロー200に設定する。以下、在庫管理サービスの実装(デプロイ)に必要な実装情報をBPELで設定した例を、図9〜図11を参照して説明する。
図9は、在庫管理サービスに関する実装情報を示す第1の図である。出荷部門のパーティション210には、在庫管理サービスの呼び出し・復帰に関わる実装情報51〜55が設定されている。
図10は、在庫管理サービスに関する実装情報を示す第2の図である。在庫管理サービスのパーティション230の前半の処理には、実装情報61〜65が設定されている。
図11は、在庫管理サービスに関する実装情報を示す第3の図である。在庫管理サービスのパーティション230の後半の処理には、実装情報71〜77が設定されている。
なお、図9〜図11には、パーティション210とパーティション230に設定された実装情報が示されているが、図示していないパーティション220については「サービス実装不適」の実装情報が設定されている。「サービス実装不適」とされたパーティション220内の各要素に対しては、実装情報を設定する必要はない。
図9〜図11において、ノードに接続された実装情報は、接続されたノードに対応する処理を実装するために必要な情報が設定されている。例えば、図10に示されている実装情報62は、出荷伝票発行処理をサーバに実装するために必要な情報が設定されている。実装情報62内の上の2行の記載が、出荷伝票発行処理をサーバに実行させる際に起動すべきプログラムモジュールを示している。実装情報62の3行目の記載が、プログラムモジュール内の適用するインタフェースを示している。
また、図9〜図11において、ノード間を接続する実線に接続された実装情報は、ノード間のデータ入出力に適用する通信インタフェースを定義している。さらに、図9〜図11において、データに接続された実装情報は、データの構造を定義している。例えば、XMLスキーマによりXML文書の構造が定義される。
ここで、図10に示す実装情報61は、パーティション230全体に対する実装情報である。
このように実装情報が付加された業務プロセスフロー200に基づいて、サービスフロー定義およびワークフロー定義が生成される。
まず、サービスフロー定義の生成処理について詳細に説明する。
図12は、サービスフロー定義の生成処理手順を示す第1のフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。

[ステップS21]サービスフロー切出部140の対象部分抽出部142は、業務プロセスフロー200の開始ノード211に注目する。
[ステップS22]対象部分抽出部142は、注目中のノードが<<システム>>のアクションであり、かつアクションが属するパーティションに「サービス実装不適」の実装情報が設定されていないという条件がみたされるか否かを判断する。当該条件が満たされていれば、処理がステップS23に進められる。当該条件が満たされていなければ、処理がステップS24に進められる。
[ステップS23]フロー定義生成部143は、サービスフロー定義内に、<<システム>>アクションに対応する要素を生成する。例えば、BPELの場合invokeのノードを生成する。
[ステップS24]対象部分抽出部142は、他のアクションに向かう遷移それぞれに関して、遷移(具体的には、遷移の識別子や遷移先のノードの識別子等を含む情報)と現在注目中のノード(具体的には、注目中のノードの識別子)とのペアで構成される遷移情報を「未達遷移リスト」に加える。ただし、「既達遷移リスト」に含まれる遷移情報を除く。
[ステップS25]対象部分抽出部142は、「未達遷移リスト」内に遷移情報があるか否かを判断する。遷移情報がある場合、処理がステップS26に進められる。遷移情報がない場合、処理が終了する。
[ステップS26]対象部分抽出部142は、「未達遷移リスト」から遷移情報を1つ取り出し、遷移情報で示されるノードに注目する。取り出された遷移情報は、「未達遷移リスト」から削除される。
[ステップS27]対象部分抽出部142は、取り出した遷移情報を、「既達遷移リスト」に加える。そして、処理が図13に示すステップS28に進められる。
図13は、サービスフロー定義の生成処理手順を示す第2のフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS28]対象部分抽出部142は、取り出し遷移情報による遷移後のノードが、条件分岐(条件を満たすか否かにより遷移先が異なる)、並列分岐(複数の遷移先に処理が進められる)、条件合流(遷移元が条件を満たす場合に処理が進められる)、並列合流(複数の遷移元から処理が進められる)のいずれかであるという条件を満たすか否かを判断する。当該条件が満たされていれば、処理がステップS29に進められる。当該条件が満たされていなければ、処理が図14のステップS34に進められる。
[ステップS29]対象部分抽出部142は、注目中のノードから遷移後のノードが条件分岐または並列分岐のいずれかに該当するか否かを判断する。条件分岐または並列分岐であれば、処理がステップS31に進められる。条件分岐および並列分岐のいずれでも無い場合、処理がステップS30に進められる。
[ステップS30]フロー定義生成部143は、サービスフロー定義に対して、合流に関する処理を設定する。なお、BPELの場合、合流に関する処理の設定は行われない。その後、処理がステップS33に進められる。
[ステップS31]対象部分抽出部142は、注目中のノードが<<システム>>のアクションであり、かつそのノードが属するパーティションに「サービス実装不適」の実装情報が付加されていないという条件を満たすか否かが判断される。当該条件を満たしていれば、処理がステップS32に進められる。当該条件を満たしていなければ、処理がステップS33に進められる。
[ステップS32]フロー定義生成部143は、サービスフロー定義に対して、注目中のノードの分岐に関する処理を追加する。例えば、BPELであれば、条件分岐の場合にのみ、直前に生成したsourceノードにTransitionCondition属性(分岐先へ遷移する条件を示す情報)を追加する。その後、ステップS33に進められる。
[ステップS33]対象部分抽出部142は、遷移後のノード(分岐または合流)から他のアクションへ向かう遷移について、遷移と注目中のノードとのペアで構成される遷移情報を、「未達遷移リスト」に加える。ただし、「既達遷移リスト」に含まれる遷移は除外する。その後、処理が図14のステップS34に進められる。
図14は、サービスフロー定義の生成処理手順を示す第3のフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS34]対象部分抽出部142は、注目中のノードが<<システム>>のアクションであり、かつ「サービス実装不適」の実装情報が付加されていないという条件を満たすか否かを判断する。当該条件を満たしていれば、処理がステップS37に進められる。当該条件を満たしていなければ、処理がステップS35に進められる。
[ステップS35]そのステップには、注目中のノードが<<人の作業>>または<<システム支援>>のアクションであるか、注目中のノードが属するパーティションに「サービス実装不適」の実装情報が設定されている場合に、処理が進められる。その場合、対象部分抽出部142は、遷移後のノードが<<システム>>のアクションであり、かつ遷移後のノードが属するパーティションに「サービス実装不適」の実装情報が設定されていないという条件を満たすか否かを判断する。当該条件を満たしていれば、処理がステップS36に進められる。当該条件を満たしていなければ、処理がステップS42に進められる。
[ステップS36]フロー定義生成部143は、サービスフロー定義に対し、始端の遷移に対する処理を行う。例えば、BPELの場合、receiveノードが生成される。その後、処理がステップS42に進められる。
[ステップS37]対象部分抽出部142は、注目中のノードから遷移後のノードが<<システム>>のアクションであり、かつ「サービス実装不適」の実装情報が付加されていないという条件を満たすか否かを判断する。当該条件を満たしていれば、処理がステップS39に進められる。当該条件を満たしていなければ、処理がステップS38に進められる。
[ステップS38]フロー定義生成部143は、サービスフロー定義の終端の遷移に対する処理を行う。例えば、BPELの場合、sourceノード、targetノード、replyノードが生成される。その後、処理がステップS42に進められる。
[ステップS39]対象部分抽出部142は、注目中のノードと遷移後のアクションを示すノードとが同一パーティションに属しているか否かを判断する。同一パーティションに属していれば、処理がステップS40に進められる。パーティションが異なっていれば、処理がステップS41に進められる。
[ステップS40]フロー定義生成部143は、サービスフロー定義に対して、同一パーティション内の<<システム>>−<<システム>>遷移に対する処理を追加する。例えば、BPELの場合、sourceノード、targetノードが生成される。その後、処理がステップS42に進められる。
[ステップS41]フロー定義生成部143は、サービスフロー定義に対して、2パーティション間の<<システム>>−<<システム>>遷移に対する処理を追加する。例えば、BPELであれば、注目中のノードに対応するアクションとして、sourceノード、targetノード、invokeノードを追加し、遷移後のノードに対応するアクションとして、receiveノードを追加する。その後、処理がステップS42に進められる。
[ステップS42]対象部分抽出部142は、遷移後のノードを注目中のノードとする。その後、処理が図12のステップS22に進められる。
このようにして、図8に示す業務プロセスフロー200において、実行主体が「システム」と設定されているノード231〜238に基づくサービスフロー定義が作成される(出荷管理システムのパーティション220には「システム不適」の実装情報が付加され、サービスフロー定義の作成対象外となっている)。
図15は、サービスフロー定義の例を示す図である。図15に示すように、複数のノード81〜92によってサービスフロー定義80が構成されている。このサービスフロー定義80は、在庫管理サービスをサーバに実行させるために必要な情報が定義されている。
例えば、出荷伝票発行のノード(図8参照)に対応する処理が、receiveのノード81、invokeのノード82、replyのノード83によって定義されている。receiveのノード81のノードが、データ入力に起因する出荷伝票発行処理の開始を示している。invokeのノード82が、入力されたデータに基づく出荷伝票発行処理を示している。replyのノード83が、処置結果の出力による出荷伝票発行処理の終了を示している。
また、図8に示すシステム出荷受付のノード232から貨物追跡コード登録のノード238までの処理が、サービスフロー定義80のノード84〜92で示されている。なお、ノード86は分岐処理を示しており、ノード90は合流処理を示している。
このようなサービスフロー定義80をBPELで作成した場合、以下のようになる。
図16は、サービスフロー定義の例を示す第1の図である。この図16には、BPELで作成されたサービスフロー定義80aの前半部分が示されている。
図17は、サービスフロー定義の例を示す第2の図である。この図17には、BPELで作成されたサービスフロー定義80aの後半部分が示されている。
図15に示す各ノード81〜92と図16、図17に示すBPELの記述との間には、以下のような対応関係がある。
まず、図16を参照して対応関係を説明する。ノード81は、receiveタグに囲まれた記述81aに対応する。ノード82は、invokeタグに囲まれた記述82aに対応する。ノード83は、replyタグに囲まれた記述83aに対応する。
つぎに、図17を参照して対応関係を説明する。ノード84は、receiveタグに囲まれた記述84aに対応する。ノード85は、invokeタグに囲まれた記述85aに対応する。ノード87は、invokeタグに囲まれた記述87aに対応する。ノード88は、invokeタグに囲まれた記述88aに対応する。ノード89は、invokeタグに囲まれた記述89aに対応する。ノード91は、invokeタグに囲まれた記述91aに対応する。ノード92は、replyタグに囲まれた記述92aに対応する。
図15に示される各ノード81〜92間の遷移関係は、図16、図17のサービスフロー定義80aでは、sourceタグとtargetタグとの組によって定義されている。同じlinkNameが設定されているsourceタグとtargetタグが1つの遷移情報を形成している。そして、sourceタグを含むノードからtargetタグを含むノードへ遷移することが示されている。
図15の分岐のノード86は、1つのノード内に複数の遷移先を設定することで、図16、図17に示すBPELによるサービスフロー定義80a内に設定される。例えば、invokeタグに囲まれた記述85a内には、2つのsourceタグ(linkName="出荷受付-センタ毎取りまとめ"と、linkName="出荷受付-臨時便依頼")が設定されている。これにより、2つの遷移先に分岐することが定義される。また、条件分岐の場合には、sourceタグ内に、分岐するための条件を定義するtransitionConditionが設定される。
なお、図15の合流のノード90に対応する処理は、図16、図17のサービスフロー定義80aでは、合流前の複数のノードからの遷移先として、合流後のノードを設定することで定義される。例えば、invokeタグに囲まれた記述88aのsourceタグは、linkName="センタ出荷処理-貨物追跡コード登録"と設定されている。また、invokeタグに囲まれた記述89aのsourceタグは、linkName="臨時便依頼-貨物追跡コード登録"と設定されている。invokeタグに囲まれた記述91aには、記述88a,89aそれぞれのsourceタグに対応するlinkNameのtargetタグが設定されている。これにより、記述88a,89aに対応するノード88,89から合流のノード90を経由して、記述91aに対応するノード91に遷移することが定義されている。
次に、ワークフロー切出部150によるワークフロー定義の生成処理について詳細に説明する。
図18は、ワークフロー定義生成処理の手順を示すフローチャートの前半である。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS51]ワークフロー切出部150の対象部分抽出部152は、業務プロセスフローの開始ノードに注目する。
[ステップS52]対象部分抽出部152は、注目中のノードが<<人の作業>>のアクションか否かを判断する。<<人の作業>>のアクションであれば、処理がステップS53に進められる。<<人の作業>>のアクション以外であれば、処理がステップS55に進められる。
[ステップS53]フロー定義生成部153は、ワークフロー定義に対して、アクションの内容の開始を業務遂行者に促すための処理ノードを生成する。
[ステップS54]フロー定義生成部153は、ワークフロー定義に対して、アクションの内容の作業終了報告を業務遂行者に促すための処理ノードを生成する。その後、処理が図19のステップS64に進められる。
[ステップS55]対象部分抽出部152は、注目中のノードが<<システム支援>>のアクションか否かを判断する。<<システム支援>>のアクションであれば、処理がステップS56に進められる。<<システム支援>>のアクション以外であれば、処理がステップS57に進められる。
[ステップS56]フロー定義生成部153は、アクションの内容を実施するためのGUIを実行する処理ノードを生成する。その後、処理が図19のステップS64に進められる。
[ステップS57]対象部分抽出部152は、注目中のノードが<<システム>>のアクションか否かを判断する。<<システム>>のアクションであれば、処理がステップS58に進められる。<<システム支援>>のアクション以外であれば、処理がステップS60に進められる。
[ステップS58]フロー定義生成部153は、ワークフロー定義に対して、システム呼び出しを実行する処理ノードを生成する。
[ステップS59]対象部分抽出部152は、分岐なしで連続して遷移する<<システム>>アクション列があれば、その最後の<<システム>>アクションのノードに注目する。その後、処理が図19のステップS64に進められる。
[ステップS60]対象部分抽出部152は、注目中のノードが条件分岐または並列分岐のいずれかに該当するか否かを判断する。条件分岐または並列分岐のいずれかの場合、処理がステップS61に進められる。条件分岐および並列分岐のいずれでも無い場合、処理がステップS62に進められる。
[ステップS61]フロー定義生成部153は、ワークフロー定義に対して、注目中のノードに応じた条件分岐または並列分岐のノードを生成する。その後、処理が図19のステップS64に進められる。
[ステップS62]対象部分抽出部152は、注目中のノードが条件合流または並列合流のいずれかに該当するか否かを判断する。条件合流または並列合流であれば、処理がステップS63に進められる。条件合流および並列合流のいずれでも無い場合、処理が図19のステップS64に進められる。
[ステップS63]フロー定義生成部153は、ワークフロー定義に対して、条件合流または並列合流のノードを生成する。その後、処理が図19のステップS64に進められる。
図19は、ワークフロー定義生成処理の手順を示すフローチャートの後半である。以下、図19に示す処理をステップ番号に沿って説明する。
[ステップS64]対象部分抽出部152は、他のアクションに向かう遷移情報を全ての「未達遷移リスト」に加える。ただし、「既達遷移リスト」に含まれる遷移情報は除外される。
[ステップS65]対象部分抽出部152は、「未達遷移リスト」内に遷移情報があるか否かを判断する。遷移情報が有る場合、処理がステップS66に進められる。遷移情報が無い場合、処理が終了する。
[ステップS66]対象部分抽出部152は、「未達遷移リスト」から遷移情報を1つ取り出す。取り出された遷移情報は、「未達遷移リスト」から削除される。
[ステップS67]対象部分抽出部152は、取り出した遷移情報を「既達遷移リスト」に加える。
[ステップS68]対象部分抽出部152は、取り出した遷移情報による遷移後のノードに注目する。その後、処理が図18のステップS52に進められる。
このようにして、ワークフロー定義が生成される。例えば、図8に示す業務プロセスフロー200に基づいてワークフロー定義を生成した場合、実行主体が<<システム支援>>または<<人の作業>>のノード212〜216に基づいて、ワークフロー定義が生成される。
図20は、ワークフロー定義の例を示す図である。図20に示すように、複数のノード301〜308によってワークフロー定義300が構成されている。図中、開始のノード301と終了のノード308とは、六角形で表されている。また、システムにより自動的に実行される処理を示すノード303,306が、四角形で表されている。さらに、人の作業およびユーザからの操作入力を伴うGUIを用いた処理(システム呼出処理)を示すノード302,304,305,307は、作業を行う人物の図形で表されている。
ノード302は、図8に示すノード212に対応する受注情報確認処理である。ノード303は、在庫管理サービスの出荷伝票発行処理を呼び出して、その応答を受け取り、ピッキング対象を提示するまでの処理に対応する。ノード304は、図8に示すノード214に対応するピッキング処理である。ノード305は、図8のノード215に対応する出荷確認入力処理である。ノード306は、出荷確認入力に基づく出荷伝票を在庫管理サービスに送信し、その応答として貨物追跡コードを受け取るまでの処理である。ノード307は、図8のノード216に対応する貨物状況確認処理である。
ところで、人手を介さずに機械的に実行できるフローの一部を特定するための特定条件を任意に指定することで、サービスフロー定義やワークフロー定義作成用に切り出すノードを変更することができる。また、サービスフロー定義やワークフロー定義を生成する際の記述形式も、任意に変更することができる。
図21は、特定条件とフロー記述形式とに関する参照状況を示す図である。図21に示すように、サービスフロー切出部140の制御機能から対象部分抽出部142が呼び出され、対象部分抽出部142が特定条件141aを参照して、抽出すべき要素の特定を行う。また、対象部分抽出部142からフロー定義生成部143が呼び出されると、フロー定義生成部143がフロー記述形式143aを参照して、フロー記述形式143aで示される記述形式のサービスフロー定義を生成する。
このような関係により、特定条件141aの内容を変更することで、業務プロセスフローからの抽出対象とする要素を変更できる。また、フロー記述形式143aの内容を変更することで、生成されるサービスフロー定義の記述形式を変更できる。
ところで、特定条件141aに設定可能な条件全てに関する処理機能を対象部分抽出部142に持たせるのは、プログラム等の肥大化を招く虞がある。そこで、特定条件の変更と共に、その特定条件に応じた対象部分特定機能を変更できるようにすることもできる。同様に、フロー記述形式の変更と共に、フロー定義生成部によるサービスフロー生成機能を変更できるようにすることができる。
図22は、対象部分特定機能とフロー定義生成機能の切り替えが可能な構成を示す図である。この例では、対象部分抽出部142の機能が、インタフェース142aと第1の対象部分抽出実行部142bとに別れている。インタフェース142aは、サービスフロー切出部140からの呼出を受け付け、現在設定されている第1の対象部分抽出実行部142bに処理を実行させる。第1の対象部分抽出実行部142bは、特定条件記憶部141に記憶された第1の特定条件141bを満たす要素を、業務プロセスフローから抽出する。
同様に、フロー定義生成部143の機能が、インタフェース143bと第1のフロー定義生成部143cとに分かれている。インタフェース143bは、第1の対象部分抽出実行部142bからの呼出を受け付け、現在設定されている第1のフロー定義生成部143cに処理を実行させる。第1のフロー定義生成部143cは、第1のフロー記述形式143dで示された記述形式のサービスフローを生成する。
そして、切り替え対象として、第2の対象部分抽出実行部142c、第2の特定条件141c、第2のフロー定義生成部143e、および第2のフロー記述形式143fを、予め用意しておく。そして、特定条件やフロー記述形式を切り替える際には、第1の対象部分抽出実行部142b、第1の特定条件141b、第1のフロー定義生成部143c、および第1のフロー記述形式143dを、それぞれ切り替え対象として用意された要素に置き換える。
これにより、特定条件やフロー記述形式の変更を容易にすることができる。
以上のようにして、業務プロセスフローに基づいて、サービスフロー定義とワークフロー定義とを個別に自動生成することができる。その結果、業務プロセスフローに対する設計変更が発生しても、ベンダ側は、業務側との合意内容に沿った業務プロセスフローを作成すればよく、さらに、サービスフロー定義やワークフロー定義を手作業で作成するという2度手間の必要が無くなる。その結果、サービスフロー定義とワークフロー定義との生成に要する手間を省くことができると共に、サービスフロー定義とワークフロー定義とを作り直すことによるシステム構築作業の遅延を防止することができる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、システム管理サーバ100が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の趣旨を逸脱しない範囲内において種々の変更を加えることができる。
本実施の形態の概略を示す図である。 サービスフロー定義の生成方法を示す概念図である。 ワークフロー定義の生成方法を示す概念図である。 本実施の形態のシステム構成例を示す図である。 本実施の形態に用いるシステム管理サーバのハードウェア構成例を示す図である。 システム管理サーバの機能を示すブロック図である。 部分フロー生成処理の手順を示すフローチャートである。 業務プロセスフローの例を示す図である。 在庫管理サービスに関する実装情報を示す第1の図である。 在庫管理サービスに関する実装情報を示す第2の図である。 在庫管理サービスに関する実装情報を示す第3の図である。 サービスフロー定義の生成処理手順を示す第1のフローチャートである。 サービスフロー定義の生成処理手順を示す第2のフローチャートである。 サービスフロー定義の生成処理手順を示す第3のフローチャートである。 サービスフロー定義の例を示す図である。 サービスフロー定義の例を示す第1の図である。 サービスフロー定義の例を示す第2の図である。 ワークフロー定義生成処理の手順を示すフローチャートの前半である。 ワークフロー定義生成処理の手順を示すフローチャートの後半である。 ワークフロー定義の例を示す図である。 特定条件とフロー記述形式とに関する参照状況を示す図である。 対象部分特定機能とフロー定義生成機能の切り替えが可能な構成を示す図である。
符号の説明
1 業務プロセスフロー記憶手段
1a 業務プロセスフロー
2 業務プロセスフロー編集手段
3 実装情報付加手段
4 サービスフロー切出手段
5 ワークフロー切出手段
4a,5a 特定条件記憶手段
4b,5b 対象部分抽出手段
4c,5c 部分フロー定義生成手段
6 サービスフロー定義記憶手段
7 ワークフロー定義記憶手段

Claims (9)

  1. コンピュータに、複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、前記業務内容の一部を実施するための処理手順を示すサービスフロー定義を生成させる部分フロー定義生成プログラムにおいて、
    前記コンピュータを、
    個々の処理に対応する前記ノードに対して、前記ノード間の遷移関係と前記ノードで示される処理の実行主体が設定された業務プロセスフローを記憶する業務プロセスフロー記憶手段、
    前記業務プロセスフローの中から前記サービスフロー定義の構成対象とする前記ノードを特定するための判断基準として、前記実行主体がシステムであることが定義された特定条件を記憶する特定条件記憶手段、
    前記業務プロセスフローから、前記特定条件記憶手段に記憶された前記特定条件を満たす前記ノードを抽出する対象部分抽出手段、
    前記業務プロセスフローに定義された処理手順を参照し、前記対象部分抽出手段で抽出された被抽出ノードのうち、実行主体がシステム以外のノードから遷移する前記被抽出ノードに対応して、始端の処理ノードを定義し、実行主体がシステムの他のノードへ遷移する前記被抽出ノードに対応して、他のノードへの遷移を伴う処理ノードを定義し、実行主体がシステム以外の他のノードへ遷移する前記被抽出ノードに対応して、終端の処理ノードを定義することで、前記サービスフロー定義を生成する部分フロー定義生成手段、
    として機能させることを特徴とする部分フロー定義生成プログラム。
  2. 前記部分フロー定義生成手段は、前記被抽出ノードの実行主体とは異なる他のシステムを実行主体とする他のノードへ遷移する前記被抽出ノードに対しては、2システム間の遷移を定義することを特徴とする請求項1記載の部分フロー定義生成プログラム。
  3. コンピュータに、複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、前記業務内容の一部を実施するための処理手順を示すワークフロー定義を生成させる部分フロー定義生成プログラムにおいて、
    前記コンピュータを、
    個々の処理に対応する前記ノードに対して、前記ノード間の遷移関係と前記ノードで示される処理の実行主体とが設定された業務プロセスフローを記憶する業務プロセスフロー記憶手段、
    前記業務プロセスフローの中から前記ワークフロー定義の構成対象とする前記ノードを特定するための判断基準として、前記実行主体が人またはシステムであることが定義された特定条件を記憶する特定条件記憶手段、
    前記業務プロセスフローから、前記特定条件記憶手段に記憶された前記特定条件を満たす前記ノードを抽出する対象部分抽出手段、
    前記業務プロセスフローに定義された処理手順を参照し、前記対象部分抽出手段で抽出された被抽出ノードのうち、実行主体が人である前記被抽出ノードに対応して、人に作業を促す処理ノードおよび作業終了報告を促す処理ノードを生成し、実行主体がシステムである前記被抽出ノードに対しては、実行主体がシステムである連続のノードをまとめて1つのシステム呼び出しを実行する処理ノードを生成することで、前記ワークフロー定義を生成する部分フロー定義生成手段、
    として機能させることを特徴とする部分フロー定義生成プログラム。
  4. 記特定条件記憶手段には、前記判定基準として、実行主体が、システムの支援を受けた人であることが定義された前記特定条件が記憶されており、
    前記部分フロー定義生成手段は、前記実行主体がシステムの支援を受けた人である前記被抽出ノードに対応して、処理を実施するためのGUIを実行する処理ノードを生成することを特徴とする請求項記載の部分フロー定義生成プログラム。
  5. 前記特定条件記憶手段は、複数の前記特定条件を記憶しており、
    前記対象部分抽出手段は、前記特定条件記憶手段に記憶された複数の前記特定条件から、任意に指定された前記特定条件を満たす前記ノードを、前記業務プロセスフローから抽出することを特徴とする請求項1または3記載の部分フロー定義生成プログラム。
  6. 複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、前記業務内容の一部を実施するための処理手順を示すサービスフロー定義を、コンピュータにより生成するための部分フロー定義生成方法において、
    個々の処理に対応する前記ノードに対して、前記ノード間の遷移関係と前記ノードで示される処理の実行主体とが設定された業務プロセスフローを記憶する業務プロセスフロー記憶手段が予め設けられており、
    特定条件記憶手段が、前記業務プロセスフローの中から前記サービスフロー定義の構成対象とするノードを特定するための判断基準として、前記実行主体がシステムであることが定義された特定条件を記憶し、
    対象部分抽出手段が、前記業務プロセスフローから、前記特定条件記憶手段に記憶された前記特定条件を満たす前記ノードを抽出し、
    部分フロー定義生成手段が、前記業務プロセスフローに定義された処理を参照し、前記対象部分抽出手段で抽出された被抽出ノードのうち、実行主体がシステム以外のノードから遷移する前記被抽出ノードに対応して、始端の処理ノードを定義し、実行主体がシステムの他のノードへ遷移する前記被抽出ノードに対応して、他のノードへの遷移を伴う処理ノードを定義し、実行主体がシステム以外の他のノードへ遷移する前記被抽出ノードに対応して、終端の処理ノードを定義することで、前記サービスフロー定義を生成する、
    ことを特徴とする部分フロー定義生成方法。
  7. 複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、前記業務内容の一部を実施するための処理手順を示すワークフロー定義を、コンピュータにより生成するための部分フロー定義生成方法において、
    個々の処理に対応する前記ノードに対して、前記ノード間の遷移関係と前記ノードで示される処理の実行主体とが設定された業務プロセスフローを記憶する業務プロセスフロー記憶手段が予め設けられており、
    特定条件記憶手段が、前記業務プロセスフローの中から前記ワークフロー定義の構成対象とする前記ノードを特定するための判断基準として、前記実行主体が人またはシステムであることが定義された特定条件を記憶し、
    対象部分抽出手段が、前記業務プロセスフローから、前記特定条件記憶手段に記憶された前記特定条件を満たす前記ノードを抽出し、
    部分フロー定義生成手段が、前記業務プロセスフローに定義された処理手順を参照し、前記対象部分抽出手段で抽出された被抽出ノードのうち、実行主体が人である前記被抽出ノードに対応して、人に作業を促す処理ノードおよび作業終了報告を促す処理ノードを生成し、実行主体がシステムである前記被抽出ノードに対しては、実行主体がシステムである連続のノードをまとめて1つのシステム呼び出しを実行する処理ノードを生成することで、前記ワークフロー定義を生成する、
    ことを特徴とする部分フロー定義生成方法。
  8. 複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、前記業務内容の一部を実施するための処理手順を示すサービスフロー定義を生成する部分フロー定義生成装置において、
    個々の処理に対応する前記ノードに対して、前記ノード間の遷移関係と前記ノードで示される処理の実行主体とが設定された業務プロセスフローを記憶する業務プロセスフロー記憶手段と、
    前記業務プロセスフローの中から前記サービスフロー定義の構成対象とする前記ノードを特定するための判断基準として、前記実行主体がシステムであることが定義された特定条件を記憶する特定条件記憶手段と、
    前記業務プロセスフローから、前記特定条件記憶手段に記憶された前記特定条件を満たす前記ノードを抽出する対象部分抽出手段と、
    前記業務プロセスフローに定義された処理手順を参照し、前記対象部分抽出手段で抽出された被抽出ノードのうち、実行主体がシステム以外のノードから遷移する前記被抽出ノードに対応して、始端の処理ノードを定義し、実行主体がシステムの他のノードへ遷移する前記被抽出ノードに対応して、他のノードへの遷移を伴う処理ノードを定義し、実行主体がシステム以外の他のノードへ遷移する前記被抽出ノードに対応して、終端の処理ノードを定義することで、前記サービスフロー定義を生成する部分フロー定義生成手段と、
    を有することを特徴とする部分フロー定義生成装置。
  9. 複数のノードにより業務内容に応じた処理手順を記述した業務プロセスフローに基づいて、前記業務内容の一部を実施するための処理手順を示すワークフロー定義を生成する部分フロー定義生成装置において、
    個々の処理に対応する前記ノードに対して、前記ノード間の遷移関係と前記ノードで示される処理の実行主体が設定された業務プロセスフローを記憶する業務プロセスフロー記憶手段と、
    前記業務プロセスフローの中から前記ワークフロー定義の構成対象とする前記ノードを特定するための判断基準として、前記実行主体が人またはシステムであることが定義された特定条件を記憶する特定条件記憶手段と、
    前記業務プロセスフローから、前記特定条件記憶手段に記憶された前記特定条件を満たす前記ノードを抽出する対象部分抽出手段と、
    前記業務プロセスフローに定義された処理手順を参照し、前記対象部分抽出手段で抽出された被抽出ノードのうち、実行主体が人である前記被抽出ノードに対応して、人に作業を促す処理ノードおよび作業終了報告を促す処理ノードを生成し、実行主体がシステムである前記被抽出ノードに対しては、実行主体がシステムである連続のノードをまとめて1つのシステム呼び出しを実行する処理ノードを生成することで、前記ワークフロー定義を生成する部分フロー定義生成手段と、
    を有することを特徴とする部分フロー定義生成装置。
JP2005317593A 2005-10-31 2005-10-31 部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置 Expired - Fee Related JP4425205B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005317593A JP4425205B2 (ja) 2005-10-31 2005-10-31 部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置
US11/369,922 US20070168928A1 (en) 2005-10-31 2006-03-08 Computer-readable recording medium recording a part flow definition generation program, and part flow definition generation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005317593A JP4425205B2 (ja) 2005-10-31 2005-10-31 部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置

Publications (2)

Publication Number Publication Date
JP2007122651A JP2007122651A (ja) 2007-05-17
JP4425205B2 true JP4425205B2 (ja) 2010-03-03

Family

ID=38146387

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005317593A Expired - Fee Related JP4425205B2 (ja) 2005-10-31 2005-10-31 部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置

Country Status (2)

Country Link
US (1) US20070168928A1 (ja)
JP (1) JP4425205B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429653B2 (en) * 2007-05-31 2013-04-23 Sap Ag Process model control flow with multiple synchronizations
JP5343608B2 (ja) * 2009-02-18 2013-11-13 富士ゼロックス株式会社 業務管理支援装置、業務管理支援プログラム、業務管理支援システム、情報処理装置、及び文書管理装置
WO2014016884A1 (ja) * 2012-07-23 2014-01-30 株式会社日立製作所 計算機システム、データ処理方法、及び、記録媒体
JP6016735B2 (ja) * 2013-08-27 2016-10-26 株式会社日立製作所 業務処理システム、業務に関する処理の生成方法、及びプログラム
JP2015201103A (ja) * 2014-04-09 2015-11-12 富士通株式会社 業務記述の管理プログラム、業務記述の管理方法、及び業務記述の管理装置
US10768975B2 (en) * 2016-03-04 2020-09-08 Ricoh Company, Ltd. Information processing system, information processing apparatus, and information processing method
JP7275551B2 (ja) * 2018-12-06 2023-05-18 富士フイルムビジネスイノベーション株式会社 文書処理装置、文書処理サービス提供システム及びプログラム
CN110515600A (zh) * 2019-09-02 2019-11-29 政采云有限公司 一种工作流中条件配置的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4020504B2 (ja) * 1998-08-24 2007-12-12 株式会社日立製作所 ワークフロー管理システム制御方法及びワークフロー管理システム
US7346532B2 (en) * 2001-05-10 2008-03-18 Hitachi, Ltd. Workflow system
US7047535B2 (en) * 2001-07-30 2006-05-16 International Business Machines Corporation Method, system, and program for performing workflow related operations using an application programming interface
US7610575B2 (en) * 2003-01-08 2009-10-27 Consona Crm Inc. System and method for the composition, generation, integration and execution of business processes over a network

Also Published As

Publication number Publication date
US20070168928A1 (en) 2007-07-19
JP2007122651A (ja) 2007-05-17

Similar Documents

Publication Publication Date Title
JP4425205B2 (ja) 部分フロー定義生成プログラム、部分フロー定義生成方法、および部分フロー定義生成装置
US9405513B2 (en) Systems and methods for graphically developing rules for transforming models between description notations
US20100293027A1 (en) Workflow engine for media production and distribution
US7831978B2 (en) Review mechanism for controlling the delegation of tasks in a workflow system
US20070294619A1 (en) Generating media presentations
JP2009533755A (ja) ビジネスプロセスのメタモデル
KR20120115966A (ko) 계좌 차원 조합을 정의하기 위한 사용자 인터페이스
US10216824B2 (en) Explanatory animation generation
CN113239310A (zh) 一种页面加载方法及相关装置
US7363594B1 (en) Workflow event editor
US20220343901A1 (en) Systems and methods of implementing platforms for bot interfaces within an intelligent development platform
US10937012B2 (en) Remote document generation
JP2003091416A (ja) 業務アプリケーションシステムの機能構成定義方法
KR20200003764A (ko) 업무객체 기반 업무처리장치 및 방법
JP2004070810A (ja) ビジュアルプログラミングシステム、ビジュアルプログラミング方法、ビジュアルプログラミング用プログラム及びそのプログラムを記録した記録媒体
CN113568614A (zh) 任务发布方法、电子设备及存储介质
US7756897B2 (en) Topic net generation method and apparatus
JP7004930B2 (ja) 情報処理装置と、その処理方法及びプログラム
JP2005338968A (ja) プロジェクト管理プログラム及びプロジェクト管理システム
Hakkoymaz et al. A constraint-driven approach to automate the organization and playout of presentations in multimedia databases
CN112418796A (zh) 子流程节点激活方法、装置、电子设备及存储介质
JPH11102395A (ja) 業務マップ表示装置、及び記憶媒体
Liapis et al. Collaboration across the enterprise: an ontology based approach for enterprise interoperability
WO2023142058A1 (zh) 信息处理方法、装置、系统、计算设备和计算机可读介质
JP2010009145A (ja) ウェブページ生成システム及びウェブページ生成プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090914

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091208

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091208

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121218

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131218

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees