Bonita BPM ソフトウエアをカスタマイズしたり、機能追加するためには、Bonita BPM Engine API を使用することができます。典型的な開発では、コネクタを追加したり、アクター フィルターを追加したり、サービスを置き換えたり、付加機能を補うことを行います。
このページでは:
コンセプト
API
API アクセス
Getting started
コンセプト
セッション
Bonita BPM のこのバージョンは、セッションの考え方を紹介します。セッションとは、処理が発生した状況で、ユーザーがエンジンにログインしたときに作成されます。
API は、セッションが開かれている間、使用可能状態にあります。
ユーザー検証
Bonita BPM のこのバージョンは、ユーザー検証を紹介します。ユーザー名とパスワードがエンジンに送られたとき、現在の組織にそのユーザーが存在するかチェックします。そのユーザーが未登録の場合、エラーが生じ、処理は停止します。
API
Bonita BPM Engine は、次の Java API を持っています:
Identity API | 組織に関する情報、すなわち、プロセスを実行できる一連のユーザーを管理する。組織、グループ、役割、所属(membership)、ユーザーの作成、変更、削除を操作する。 |
Organization API | 組織をインポート/エクスポートする。 |
Process API | プロセスに関係するアクション (deploy, enable, start, disable, delete) の操作、アクティビティの実行 、プロセスデータの更新、プロセスエンティティを取得するための検索 |
Login API | プラットフォームのエンジンにログインしてセッションを作成する。 |
Monitoring API | 現在のアクティビティに関する情報、すなわち、ログインしたユーザー数、現在実行中のプロセス数などを取得する。 |
Log API | 現在進行中、あるいは完了したプロセスに関する情報を検索、または取得するためのビジネスログへのアクセスを提供する。 |
Platform command API | プラットフォームの作成、開始、停止する。 |
Document API | プロセス インスタンスに添付されたドキュメントを管理する。 |
Theme API | Bonita BPM ポータル、モバイルインターフェイス、フォームのルック&フィールを管理する。 |
Tenant Management API | テナントのサービス停止、サービス再開、テナントが停止状態にあるかどうかチェックするなど、保守のために使用される。Teamwork, Efficiency, Performance エディションで利用可能。 |
さらに、内部利用者向けだけの Web API および主として内部使用向けの Command API があります。
Engine APIの詳細、メソッド、関連するオブジェクトについては、 Javadoc を参照してください。Note that この API は Teamwork, Efficiency, Performance エディション間で同じですが、いくつかの機能はふさわしいライセンスがインストールされている場合に限り有効になります。あなたが持っていないライセンスの機能にアクセスしようとした場合は、Feature not active のエラーメッセージが返されます。
さらに、ハイレベルの Web REST API もあります。これは、ポータル アプリケーションのカスタマー開発用に意図されたものです。
API アクセス
Bonita BPM Engine API は、次のローカル、あるいはリモートのいずれかモードでアクセスできます。
- Local: クライアントはローカルモードでサーバーに直接アクセス
- EJB3: クライアントは EJB3 モードを使用してリモート サーバーにアクセス
- HTTP: クライアントは HTTP を介してリモート サーバーにアクセス
使用するモードは、 bonita-client-custom.properties ファイル内に指定されている必要があります。デフォルトのアクセス モードはローカルです。 これは、クライアントとエンジンが同じ JVM を使用している場合に使用できます。このファイルはリモード アクセス モード用のコメントアウトされた構成設定を含んでいます。モードを変更するには、ローカル用の構成設定をコメントアウトし、該当するリモートの構成設定をアンコメントするだけです。
リモート アクセスの方法を使用すると、若干オーバーヘッドがあるため、可能な限りローカル アクセスの使用をお勧めします。
Getting started
API コールのすべてのシーケンスは、セッションを作成のためログインで開始、アプリケーションで使用される API を取得するため AccessorUtil を使用します
次の例は、LoginAPI を取得しそれを使用してログインした後、セッションを作成し、そのセッションの Process API を取得する方法を示します。tenantAPIAccessor は、すべてのシステムで使用されます。たとえ、単一のテナントしかなくてもです。
APISession session = loginAPI.login(userName, password);
ProcessAPI processAPI = TenantAPIAccessor.getProcessAPI(session);