ERPのフロントエンドとしてのワークフロー

 1年前まではワークフローというと勤怠管理や文書管理に見られる電子決裁のシステムという認識がまだ根強かったが、最近では内部統制への対応を含めて、ERPのフロントエンドとしてのワークフロー、複数のシステムを連携するためのワークフローという認識が定着してきた。ERPなどの業務システムには機能が実装されていても業務プロセスが実装されていないために、ERPはそれぞれの製品の中に閉じてワークフローの整備が始まった。しかしながら単一の業務システムだけで企業の業務が動いているわけではなく、複数の業務システムにまたがった業務プロセスを実装できる仕組みが必要となってきた。当初はBPM製品がそうなるのではないかと言われていたが、人間系の業務プロセスが多いことからワークフローがその役割を果たすことになったようである。
 では実際にワークフローとERPパッケージを連携するとはどのように行うのであろうか。業務プロセスはワークフローが持つデザイナーで設計することになる。ワークフローで実行されるものは業務プロセスで定義されている個々の業務(アクティビティ)である。これは大半が画面を伴うプログラムである。ワークフローでアクティビティが順番に進み、ユーザのPCでアクティビティ(例えば売上伝票入力など)が実行される。このプログラムはCSVファイルを生成し、ERPパッケージに送るか、ERPパッケージのデータベースまたは連携用のデータベースにデータを書き込むことになる。それではERPパッケージで実行された処理の後でワークフローに戻ってくる場合にはどのようになるのであろうか。これには複雑な仕掛けが必要になってしまう。さらにワークフローで作成したプログラムの操作画面とERPパッケージの操作画面は全く別物となってしまい、操作性は悪いものとなってしまう。
 このところ、ERPとワークフローを連携するプロジェクトが数多く立ち上がっているが、実は連携のための開発にコストと時間がかかることになってしまっている。ワークフローとERPを連携するためには、外部システムからワークフローを制御する仕組み(新しい業務プロセスを生成する、アクティビティを外部から実行するなど)が必要となってくる。これで始めてERPとワークフローをシームレスに連携できるようになる。INNOVAのワークフローはワークフロー主体でも実行できるが、ワークフローエンジンとして、外部システムからその機能を利用することもできるし、その混在もすることもできる。