| 既存の複数のシステム(人間も含む)を組み合わせて、より高度な自動化を図る、という事が最近はやっている。大げさには、このような統合はワークフロー、ビジネスプロセスオーケストレーションと呼ばれるが、手近なところでは、メーリングリストに加入する時の電子メールによる本人照合などもこれに含まれる。
現在、ワークフローの開発にはBPELなどの専用言語を用いる方法と、イベント駆動的にプログラムを書くという2つの方法がある。
専用言語方式は敷居が高い。一方イベント駆動方式は、「AをしてBを待ってからCをする」といった手続き的な記述方法と違って記述が煩雑になる嫌いがあり、どちらも望ましくない。
なぜ手続き的に記述できないかというと、ワークフローには、一つの「会話」が始まってから完結するまでは比較的長い時間を要し、また1つのシステムが同時に多くの会話を平行して処理する事が多いという特性のためである。この為に、それぞれの対話にプロセスやスレッドを割り当てて手続き的に処理を記述する、という通常のプログラミング技法が適さない。
本提案では、実行中のJavaスレッドを「冬眠」させる技術を使って、手続き的に書かれたJavaプログラムを使ってワークフローを実行できるシステムを設計・実装する。これにより、ワークフローを実装する際の生産性の向上を目指す。
具体的には
1.再利用可能なスレッド冬眠ライブラリの設計・実装
2.ワークフローエンジンの設計・開発
J2EEコンテナ又はウェブコンテナ上で動作するものを開発する |