Nauticaワークフロー概要

はじめに

Nauticaワークフローは、WfMC標準仕様に準拠したワークフローシステム運用基盤です。
WfMCによれば、ワークフローシステム (Workflow Management System) とは、「1つもしくは複数のワークフローエンジン上で動作するソフトウェアによって、ワークフローを定義したり、実行したり、管理したりするシステムです。また、プロセス定義の解釈や、ワークフロー参加者との相互作用、必要に応じてITツールやアプリケーションを起動(invoke)することも可能です」。

ワークフローシステムは一般に文書承認システムとしてのイメージが定着していますが、異なる業務システム間の統合と相互運用を目的としたアプリケーションのミドルウェア(システム運用基盤)として利用することも可能です。Nauticaワークフロー適用システムの構築例では、Nauticaワークフローを利用したシステムの構築例をいくつか紹介しています。

Nauticaワークフローの特徴

  1. WfMC標準に対応
  2. WfMC標準仕様に対応し、ワークフローシステム運用基盤に最低限必要とされる機能を保証します。

  3. システム稼働環境・規模に非依存
  4. NauticaワークフローはJavaVM(Java仮想マシン)上で動作するため、WindowsシステムやLinuxシステム等の稼働環境に依存しません。また、小規模システムから複数の商用APサーバ上で多数のEJB(Enterprise JavaBeans)コンポーネントを利用するような大規模システムまで、様々な規模の既存業務システムを連携させることや、新たに適用業務システムを開発することができます。

  5. エンジン間連携が可能
  6. 複数のNauticaワークフローエンジン間で連携が可能です。

Nauticaワークフローの全体像

Nauticaワークフローの全体像を以下に示します。Nauticaワークフローエンジンは、利用者が開発した文書承認や経費精算等のクライアントアプリケーションを制御したり、在庫明細や受注明細等の外部システムとの連携を行います。

System Summary

Nauticaワークフロー適用システムの構築例

Nauticaワークフローは、ビジネスの流れを管理するための仕組みを備えるワークフローシステム運用基盤です。ワークフローシステム運用基盤は、例えば一般的な稟議書承認システムや、既存業務システム間の統合による新たな企業システムの構築、企業間の取引とバックエンドの業務システムとの結合等、さまざまなシステム形態に適用することが可能です。ここでは、Nauticaワークフローを使用したいくつかのシステム構築例を紹介します。

文書承認のワークフローエンジンとして

稟議書承認システムや文書回覧システム、経費精算システムの構築に、Nauticaワークフローを活用します。
開発者は申請用と承認用のアプリケーションを作成します。一方、Nauticaワークフローは文書承認等のフロー定義とフローに沿った制御処理を管理・制御します。

Document System Sample

EAI(Enterprise Application Integration)ツールの連携エンジンとして

EAIシステムのコア機能を実現するためのミドルウェアとしてNauticaワークフローを活用します。
個別に構築されたシステムの連携には、相互のデータ受渡し用にデータ変換プログラムを開発する必要があります。しかし、複数システムを直接的に連携させるとシステム間連携部分の開発工数が増加し、システム変更やリプレースに対して連携プログラムにも改修開発が発生します。EAIシステムでは、データ変換によって業務システム間を結合することでこれらの問題を解決しますが、その処理の流れをNauticaワークフローで管理・制御します。

EAI System Sample

EDI(Electronic Data Interchange)ツールとバックエンドシステムの連携エンジンとして

既存の業務システムと他企業システムとのデータ引渡し等のシステム統合に際し、EDIシステムと業務システムの連携に、Nauticaワークフローを活用します。
EDIシステムは、受信したデータを変換した後データの種類に応じて既存システムと連携しますが、この処理の流れをNauticaワークフローで管理・制御します。

EDI System Sample

総合的な企業間システム連携のエンジンとして

総合的なBtoB(Business to Business)システム構築に当たって、Nauticaワークフローを活用します。
複数企業間で同じNauticaワークフローを採用することで、企業間にまたがる一連の処理の流れを一つのワークフローとして一元管理・制御します。

BtoB System Sample

プロダクトの構成

Nauticaワークフローのプロダクト構成を説明します。

ワークフローエンジン

Nauticaワークフローの本体です。ワークフロー定義ファイルおよび、各種APIを通じて得た情報に基づき、アクティビティ及びプロセスの完了状態を管理して、プロセス変数と遷移条件によりフローの進行を制御します。また、外部システムとの連携のためのAPIを提供し、アプリケーションの実行を管理します。

ワークフローエンジンが提供するインタフェースとして、ワークフローシステム運用基盤の機能を利用するクライアントアプリケーション用インタフェース、外部システムとのアプリケーション連携用インタフェース、運用管理用インタフェース、ワークフローエンジン間の連携用インタフェースがあります。

ワークフロー定義ツール

GUIによりワークフローを定義するツールです。定義を構成する要素には、アプリケーション、プロセス変数、ワークフロー参加者 、プロセス、アクティビティ、遷移があり、これらの定義作業はマウスを使用して視覚的に行うことができます。ワークフローの定義は検証を行った後、結果をXPDL形式で保存します。

Definition Tool Image

ワークフロー運用管理ツール

GUIによりワークフローの実行状況を管理するツールです。運用中の任意のワークフローエンジンに接続し、アクティビティの進行状況のモニタリングや、プロセス変数の編集と遷移条件の再評価を行うことができます。

Maintenance Tool Image

通信インタフェース・ライブラリ

クライアントアプリケーションがワークフローエンジンと通信する際に利用するライブラリです。
Nauticaワークフローは、通信インタフェースとしてWebサービス用ライブラリやサーブレット用ライブラリ、RPC(Remote Procedure Call)用ライブラリを用意しています。

動作環境

Nauticaワークフローエンジン本体及び通信インタフェース・ライブラリは以下の環境で動作することを想定しています。

環境等説明
ハードウェアCPU:Pentium4  2.4GHz相当
メモリ:512MB以上
HDD:40GB以上
OSRedhat Enterprise Linux ES V.3
Java VMSun JRE 1.4 以上
ServletエンジンJakarta Tomcat 5.0
SOAP エンジンApache Axis 1.2(Jakarta Tomcat 5.0上で動作)
データベースエンジンMySQL 4.1
メッセージキューActive MQ 3.0
XMLセキュリティXML Security 1.2
XMLパーサ・マッピングxmlbeans 1.0

ワークフロー運用管理ツール、ワークフロー定義ツールは以下の環境で動作することを想定しています。

環境等説明
ハードウェアCPU:Pentium4  1.2GHz相当
メモリ:256MB以上
HDD:10GB以上
OSRedhat Professional Workstation V.3
Windows XP SP2r
Java VMSun JRE 1.4 以上
XMLパーサ・マッピングxmlbeans 1.0