Pocket

こんにちは、hatanakaです。

普段はプロマネ日誌をつけていますが、たまにはみんなで技術記事でも
書こうと思い、チームメンバーにも声掛けして記事をアップしてもらっています。
他にもいろいろありますのでよかったらご覧ください。

私自身は普段は「事務業務」のシステム開発プロジェクトを推進しています。
そんなことから「業務フロー」を扱うことが多いのですが
最近は新しいサービス立ち上げのためのビジネスの目的やプロセスに触れる機会も増えています。

今回はそのビジネスプロセスとITを活用して、よりよいビジネス推進を行おうという
「BPM」とJBossによって提供されている「jBPM」を利用した
アプリケーション開発について触れてみようと思います。

■BPMってなに?

簡単に用語だけ確認しておこうと思います。

1.BPM(Business Process Management)

BPMってなんでしょうか?
「ビジネスプロセス管理」と訳されますが、ビジネスプロセスを
管理してどういうゴールを目指すのでしょうか?

参考になりそうな記事を見つけました。

○ビジネス・プロセス・マネージメントの現状 第1回:BPMとは?(Think IT)
○「BPMの定義」言えますか?(ZDNet Japan)

BPMのゴールは既存のビジネスプロセスを表現することではなく、
あるべきビジネスプロセスを描き、そこに向けて継続的に改善を重ねていくことと言えそうです。

以前からそのような考え方・手法は存在したと思いますが、
近年ソフトウェア、サービス基盤を実現する技術が向上し
より効果的に実現できるようになったのが注目される背景かもしれません。

2.BPMS((Business Process Managememt Suite)

BPMはITのソフトウェアを十分に活用して、ビジネスプロセスの改善を実施します。
これをサポートするシステムをBPMSと呼びますが
このシステムをサポートする企業は多数あり、
ソフトウェアやソリューションを提供しています。

○ビジネスプロセス管理(WikiPedia)- BPMシステムベンダーの項参照
○BPMプレイヤー(日本BPM協会)

3.BPMN(Business Process Model and Notation)

ビジネスのプロセスを表現するための言語をBPMNと呼び
2012/9/23現在では「BPMN 2.0」として仕様が公開されています。

○BPMN超入門:第1話 BPMNとは何者だ?

ビジネスプロセスを図に表すことで、関係者間で共有したり
あるべきビジネスプロセスを検討するのに役立つと思います。

このBPMNを表現するツールもBPMSの一部として提供されています。

4.BRMS(Business Rule Management System)

ビジネスを実行していく上では、業務上の決まりごとや規制等々
いくつかのビジネスルールが適用されていると思います。

これらをアプリケーションで実装しようとした場合、
「もし~ならば、~とする」といったようなロジックが実装されることになります。
またビジネスルールは商慣習、組織体制、法律など変更を受けやすい個所でもあります。

そこで上記のビジネスルール(ロジック)をアプリケーションから
切り離して管理しようというのがBPMSです。

最近はBPMシステムと融合させて、ビジネスプロセスをより効率的に実行できるような
役割も持ち始めているようです。

■jBPMってなに?

JBossグループが提供するBPMSです。

○jBPM
○jBPM User Guide – Overview

BPMのコアエンジンに加えて、下記のような機能を提供します。
・jBPMS Designer(Webベースのビジネスプロセスのデザイナツール)
・jBPMS Console(各プロセス・タスクの状況を把握する管理コンソール)
・モニタリング・分析のためのログ取得・管理
・ビジネスプロセスの表記としてBPMN2.0をサポート

また技術的側面としては下記のような点があげられます。
・jBPM Eclipse Plugin(Eclipseベースでのデザイン、テスト、デバッグ、シミュレーション)
・JPA/JTAを利用したデータ格納・トランザクションの実現
・JBoss Seam, Spring, OSGi等と連携した構築
・BRMSとしてDrools Guvnorを利用

■jBPMの環境構築

ではさっそくjBPMの環境を構築しましょう。

○jBPM User Guide – Getting Started

1.最初に必要なファイルをダウンロードしましょう。
SourceForgeのホームページからjBPM5の最新版を取得します。

jBPMのダウンロードページ

「jbpm-5.3.0.Final-installer-full.zip」をダウンロードしてください。


2.インストールを実施する前にJDK1.5以上, Ant1.7以上をインストール済みであることを確認してください。

Java : http://www.oracle.com/technetwork/java/javase/downloads/index.html
Ant : http://ant.apache.org/bindownload.cgi

3.ダウンロードしたzipファイルを解凍します。

4.「jbpm-installer」に移動して、下記のコマンドを実行します。

ant install.demo

このコマンドで下記の作業が実施されます。

    1. JBoss ASのダウンロード
    1. Eclipseのダウンロード
    1. Drools Guvnorのインストール
    1. jBPM Designerのインストール
    1. jBPM consoleのインストール
    1. jBPMとDroolsのEclipseプラグインのインストール

楽チンですね。いつもどおり「BUILD SUCCESSFUL」と出たらOKです。

64bit OS(Windows)の方へ

「ant.install.demo」コマンドでインストールされるEclipseが32bitのため、
2回目で実行するデモ起動時にEclipseで下記のエラーメッセージが表示されてしまい、Eclipseが強制終了してしまいます。

Failed to load the JNI shared library “C:/JDK/bin/client/jvm.dll”

そのため下記のbuild.xmlの修正後、インストールのコマンドを実行してください。

■build.xmlの修正
build.xmlをエディタで開き、158行目以降を下記の通り修正します。

  <!-- Download Eclipse -->
  <condition property="download.type" value="win32">
    <and>
      <os family="windows" />
      <not>
        <or>
          <os arch="x86_64" />
          <os arch="amd64" />
        </or>
      </not>
    </and>
  </condition>	

  <!-- support for win64bit -->
  <condition property="download.type" value="win32-x86_64">
    <and>
      <os family="windows" />
      <or>
        <os arch="x86_64" />
        <os arch="amd64" />
      </or>
    </and>
  </condition>

これで環境構築は完了です。
次回は実際にデモを動かして、定義したプロセスを実行してみたいと思います。