• 検索結果がありません。

Tomcat/JBossAS

ドキュメント内 JBoss jBPM 3.1 プログラミング入門 (ページ 63-72)

ServletContext

mgr_name isUrgent approval

申請確定 Start-state

End-state 品目入力

承認

上司選択

承認依頼のメール送信

承認結果のメール送信

<task-node>

<task-node>

<task-node>

item price

SelectMgr ActionHandler

SendMail ActionHandler

SendMail ActionHandler UserAssignment

Handler

UserAssignment Handler

MgrAssignment Handler トークン

トークン

user1

user1

manager1

jBPMDB

EIS

ログイン

ログアウト

jbpmContext

jbpmContext 取得 プロセスインスタンスの生成 トークンを取得

トークンにシグナルを送る プロセスインスタンスを保存 jbpmContext クローズ プロセス変数user_nameに ユーザ名user1を登録

• user1に割り当てられたタ スクを取得

申請情報を入力

• user1に割り当てられた タスクを取得

申請依頼をする上司を選択

申請が緊急かどうかを選択 jbpmContext 取得

•タスクを終了させる

•プロセスインスタンスを保存

•jbpmContext クローズ jbpmContext 取得

•タスクを終了させる

•プロセスインスタンスを保存

•jbpmContext クローズ

user_name

HttpSession

ログイン

履歴 申請

次へ

申請確定

ログアウト HTTPリクエスト/

レスポンス

Step1 :

Step2 :

Step3 :

Servlet Filter

緊急の場合 メール送信

Step3 : 購買品目情報を入力

システム制御フロー

JBoss AS

Tomcat S2Container

JbpmContextFilter

JBoss jBPM

Hib ernate

HTML

S2ContainerFilter

Action

クラス

Logic

クラス プロセス

S2JSF

ActionHandler

JbpmConfiguration

user_name mgr_name isUrgentapproval

申請確定 Start-state

End-state 品目入力

承認 item price

token user1

Step3 : 購買品目 情報を入力 次へ

品目入力

jbpmContext

の生成

UserAction#input()

BpmLogic#input()

jbpmContext

のクローズ

戻り値

user_confirm HTTP

リクエスト

user_input.html

HTTP

レスポンス user_confirm.html

品目と値段を

DTO

に設定

Myfaces

JSF

user_confirm

戻り値の 元に遷移先画面

付録

参照資料

JBoss jBPM

のホームページ

http://www.jbpm.org/index.html JBoss jBPM

のドキュメントのページ

http://www.jbpm.org/docs.html JBoss jBPM

のユーザフォーラム

http://sourceforge.net/forum/forum.php?forum_id=240085 JBoss jBPM

Wiki

http://wiki.jboss.org/wiki/Wiki.jsp?page=JbpmWiki JBoss jBPM getting started guide

http://wiki.jboss.org/wiki/Wiki.jsp?page=JbpmGettingStarted JBoss jBPM API(Javadoc)

http://docs.jboss.com/jbpm/v3/javadoc/

67 平成19425

日本ヒューレット・パッカード株式会社の

JBoss/

オープンソースに関連する

URL JBoss

のページ

http://www.hp.com/jp/jboss/

Open Source & Linux

のページ

http://www.hp.com/jp/linux/

サンプル Web アプリケーション詳細

69 平成19425

サンプル

Web

アプリケーション

:

プロセス定義の取得

http://localhost:8080/jb pm/

"cookie monster"

"Log In"

home.jsp

<h4>Start New Process Execution</h4>

<h:dataTable value="#{homeBean.latestProcessDefinitions}" var="processDefinition"...>

<f:facet name="header">

<h:outputText value="Start Process Link" />

</f:facet>

<h:commandLink action="#{homeBean.startProcessInstance}">

<f:param name="processDefinitionId" value="#{processDefinition.id}"/>

<h:outputTextvalue="#{processDefinition.taskMgmtDefinition.startTask.name}"/>

</h:commandLink>

</h:column>

...

<h:outputTextvalue="#{processDefinition.name}"/>

...

<h:outputTextvalue="#{processDefinition.version}"/>

home.jsp

抜粋

サンプル

Web

アプリケーション

:

プロセス定義の取得

(HomeBean)

HomeBean.java

抜粋

public class HomeBean { ...

JbpmContext jbpmContext;

GraphSession graphSession;

TaskMgmtSession taskMgmtSession;

public HomeBean() {

this.jbpmContext = JbpmContext.getCurrentJbpmContext();

this.graphSession = jbpmContext.getGraphSession();

this.taskMgmtSession = jbpmContext.getTaskMgmtSession();

} ...

public List getLatestProcessDefinitions() {

return graphSession.findLatestProcessDefinitions();

}

...

71 平成19425

サンプル

Web

アプリケーション

:

プロセスインスタンスの生成

"create new web sale order"

をクリック

task.jsp

へ遷移する

<h4>Start New Process Execution</h4>

<h:dataTable value="#{homeBean.latestProcessDefinitions}" var="processDefinition" ...>

<f:facet name="header">

<h:outputText value="Start Process Link" />

</f:facet>

<h:commandLink action="#{homeBean.startProcessInstance}">

<f:param name="processDefinitionId" value="#{processDefinition.id}"/>

<h:outputText value="#{processDefinition.taskMgmtDefinition.startTask.name}" />

</h:commandLink>

</h:column>

クリック

home.jsp

抜粋

サンプル

Web

アプリケーション

:

プロセスインスタンスの生成

(HomeBean)

HomeBean.java

抜粋

public String startProcessInstance() {

// Get the task instance id from request parameter

long processDefinitionId = JsfHelper.getId("processDefinitionId");

ドキュメント内 JBoss jBPM 3.1 プログラミング入門 (ページ 63-72)

関連したドキュメント