BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Activiti 5.0 GA、Apache 2ライセンスの BPMN 2 Engine がリリース

Activiti 5.0 GA、Apache 2ライセンスの BPMN 2 Engine がリリース

原文(投稿日:2010/12/02)へのリンク

Alfresco がApache2 ライセンスによるBPMN 2.0 の実装である、Activiti エンジンのバージョン5.0 Ga をリリースした。InfoQは、プロジェクトを率いている Tom Baeyens 氏に、新リリースについて聞いた。氏はまた、 jBPMプロジェクトのクリエータであり、以前のプロジェクト リーダーである。

Activitiプロジェクトは、今現在、唯一市場にある、Apache2ライセンスによるBPMN2.0実装である。BPMN 2.0は、ワークフロー コミュニティの統一標準として有名である。BPMN 1.0は、ビジネス プロセスをモデル化する標準と多くの明確なワークフロー パターンを定義した。BPEL 1.0は、もう一つの標準で、実行時における、ワークフロー プロセスの実行セマンティクスを定義した。しばしば、ベンダーは、BPMN 1.0のツールとBPEL実行エンジンを提供した。しかし、BPMNの適用に制限のあるBPELで、表現できないBPMN 1.0 プロセスをモデル化することが可能だったので、問題が生じた。BPMN 2.0 は、実行セマンティクスと同様に、モデリング セマンティクスも特定することで、この問題を解決した。

InfoQ ワークフローとは、何ですか? なぜ普通のJava開発者が気にすべきことなのでしょうか? ユースケースにどの様なものがありますか?

Tom Baeyens プロセスは、ActivitiのようなBPMシステムによって、実行できる順次的なステップを記述したものです。プロセスの基本的な特性は、方向のあるグラフで、ステップと遷移を示す図として表現できることです。ほとんどすべてのビジネス アプリケーションの要求には、ハイレベルなステップを順序づけすることが含まれています。このようなステップを抽出して、プロセスに入れると、アプリケーションを保守するのが、よりきれいに、単純に、簡単になります。そしてActivitiは、自分でJavaで書こうとしたら難しい、プロセスで簡単に使えるユーザー タスクやタイマーのような多くのステップを持っています。

InfoQ Activitiは組み込めるのですか?スタンドアローンで使うのですか? 使い方や組込み方で、どのようなものがサポートされていますか?

TB Activitiは、どのようなJavaアプリケーションにも組み込むことができます。Java開発者にとっては、それは単にjarファイルで CLASSPATHに置けばいいだけです。しかしActivitiは、またスタンドアローン サーバーとして、使うことができます。

InfoQ 別のBPMエンジンを使わずに、Activitiを使うメリットは何ですか?

TB Activitiは、使い始めるのがもっとも簡単なエンジンです。Activitiをアプリケーションに組み込む際のすべての問題を取り除きました。一分で、Activitiをインストールして評価を開始できるデモ版もあります。Activitiは、透過的です。すなわち動かすのにマジックなどありません。開発者は、正確に何をどのように手に入れかを理解できます。完全にコントロールできます。この点が、ビジネスユーザーに焦点を当て、開発者のニーズを考慮していなかった、これまでのBPMのアプローチと違います。また実行時に、JavaアプリケーションとActivitiは、非常に密に、統合できます。一方、典型的なBPM製品は、モノリシックでアプリケーションとの統合は難しいです。Activitiには、活発なコミュニティがあります。多くの会社がActivitiと統合を行っています。もし Spring Integrationか、ESBを使っているのであれば、Activitiと統合できる可能性は、充分あります。プロジェクトへのコントリビューターがチーム名簿 にあります。これをみれば、どのようなコントリビューターがいるかがわかります。

InfoQ Activitiの次のイテレーションのロードマップを教えてください。

TB 我々は、現在月1回のリリースを繰り返しています。12/1に5.1をリリースし、1/1に5.2をリリース予定で、というふうにです。いくつかの非常に素晴らしいフィーチャを計画しています。その中には、ルールの統合、webサービスの統合、モデラーにアクテビティのタイプをプラグインできるようにすること、などです。詳細は、ロードマップに載っています。

InfoQ Activitiを始めたいという人に、推奨する方法を教えてください。他のフレームワークとうまく統合できますか?Springフレームワーク、REST、Muleあるいは、代替のESB、Java EE6 そして、エンタープライズ コンテンツ管理システムとですね。

TB Activitiを使い始めるには、絶対にデモ版とユーザーガイドを勧めます。始めて使う場合には、組織で小さなパイロット ケースを選ぶことを勧めます。一旦慣れたら、アプリケーションの完全に機能するプロトタイプを作るのに、何週間に渡って、1日何時間ずつか使う必要があるでしょう。Activitiエンジンのアーキテクチャは、既存のすべてのJava環境やフレームワークと統合できることを保証します。素晴らしいことは、たくさんの会社がこのような統合を助けていることです。例えば、SpringSourceは、Springコンテキストファイルでbeanを宣言すれば、確実にエンジン全体を構成できます。その中には、スムーズなトランザクション管理の統合も含まれています。他の例として、MuleSostがあります。彼らは、webサービスの起動機能をコントリビュートしていますが、彼らの製品にActivitiエンジンがうまく組込まれています。すでにすぐ使えるRESTインターフェースは、あります。次のリリースでは、アプリケーション サーバー環境でActivitiをどのように構成し、走らせるかをサポートするドキュメントを含めるつもりです。コードは、そのための準備はできていますが、そのためのCI環境を作りあげてから、これらのフィーチャをドキュメントで、明らかにしたいとも思います。

InfoQ Activitiと一般的なワークフローのターゲット マーケットは、どこですか? ビジネス アナリストと開発者を助けるツールは、ありますか?

TB チームがActivitiのようなBPMプラットフォームを使う方法は、非常に多様です。あるチームは、開発者しかおらず、自分たちのアプリケーションにエンジンを組み込むだけで、プロセスを書いていきます。他の環境では、ビジネスの人達が、開発者やシステム管理者と同様に含まれます。各組織は、自分たち独自の方法で、このコラボレーションを作り上げます。 Activiti Cycleを使ってコラボ環境を作ることで、特別な働き方を強制することなしに、このような人々が全員、お互いにやりとりしあい、協働できるのです。

InfoQ 使っている時に問題が出てきたら、どこに聞けばいいのですか?

TB 我々のユーザー フォーラムが あらゆる質問をするのに一番いい場所です。

InfoQ BPMN 2を使う動機となる、切実な理由は、何ですか? なぜ、jBPMのjPDLのようなプロプライエタリなマークアップ言語からBPMN 2に切り替える必要があるのですか?

TB BPMN 2.0のいいところは、業界全体がこの一つの標準に従うことです。以前は、すべてのツールやエンジンが固有の言語を持っていましたが、今では、我々がこの1つの標準をサポートをしていることで、非常に多くのツールがActivitiと互換性があるのです。

InfoQ BPMN2を使っていて問題があった場合、Activitiをカスタマイズしたり、新しい機能を追加できますか?

TB 私がjBPMを作っている時の重要なゴールの1つが、アクティビティをプラグイン可能にすることでした。すなわち、プロセス ダイヤグラムに追加、構成できる新しいタイプのステップをプラグインできることです。我々は、Process Virtual Machine. と呼ぶ設計でこの目標を達成できました。Activitiも Process Virtual Machineの原理をベースにしています。しかし今回は、Activiti周りのツールにも、同じアクティビティのプラグイン化を展開しました。Activitiは、webベースのモデラーとEclipse プラグインであるグラフィカルなプロセス デザイナーを持っています。今のゴールは、クラスをラベルの名前と若干の情報でアノテートするだけで、実行時の動作を実装できるようにすることです。現在、デザイナー Eclipse プラグインは、クラスから情報を読み込み、パレットに新しいアクティビティ タイプを加えて、ユーザーがアクティビティの構成の詳細を入力できる便利なフォームを提供している。

この記事に星をつける

おすすめ度
スタイル

BT