...

RMI over IIOP と Web サービス

by user

on
Category: Documents
6

views

Report

Comments

Transcript

RMI over IIOP と Web サービス
エンジンが提供する機能
ワークフローエンジンの機能は、RMI over IIOP と Web サービス(Nautica サービス)、サーブレットとして提供していま
す。
RMI over IIOP
Nautica サービス
• Axis
• WSDL
• サービス一覧
• サーブレット
• サーブレット一覧
RMI over IIOP
Nautica は、ワークフローエンジンの各 API を Java のリモートメソッド呼び出し(RMI over IIOP)から利用で
きるインタフェースを提供しています。リモートメソッドを呼び出すプログラミング例は、プログラミングガイド
を参照してください。
•
•
WfMC は、ワークフロークライアントアプリケーションのための WAPI (Workflow Application Programming
Interface) を規定しています。 Nautica が提供する API との対応表を以下に示します。
接続機能 - WAPI Connection Functions
プロセス制御機能 - WAPI Process Control Functions
アクティビティ制御機能 - WAPI Activity Control Functions
プロセス状態関連機能 - WAPI Process Status Functions
アクティビティ状態関連機能 - WAPI Activity Status Functions
ワークアイテム関連機能 - WAPI Worklist Functions
管理関連機能 - WAPI Administration Functions
アプリケーション起動関連機能 - WAPI Application Invocation Functions
エンジン間連携
•
•
•
•
•
•
•
•
•
接続機能
No Nautica 提供インタフェース
WAPI
機能説明
1
connect()
WMConnect
ワークフローエンジンへの接続
2
disconnect()
WMDisconnect
ワークフローエンジンとの切断
プロセス制御機能
No Nautica 提供インタフェース
WAPI
機能説明
プロセス定義一覧のオー
プン
3
getProcessDefinitions()
WMOpenProcessDefinitionsList
4
getProcessDefinitionStates() WMOpenProcessDefinitionStatesList
プロセス定義状態一覧の
オープン
5
changeProcessDefinitionStat
WMChangeProcessDefinitionState
e()
プロセス定義状態の変更
6
createProcess()
WMCreateProcessInstance
プロセスインスタンスの生
成
7
startProcess()
WMStartProcess
プロセスの開始
8
terminateProcess()
WMTerminateProcessInstance
プロセスの停止
9
getProcessStates()
WMOpenProcessInstanceStatesList
プロセスインスタンス状態
一覧のオープン
10 changeProcessState()
WMChangeProcessInstanceState
プロセスインスタンス状態
の変更
11 getProcessAttributes()
WMOpenProcessInstanceAttributesList
プロセスインスタンス属性
一覧のオープン
12 getProcessAttributeValue()
WMGetProcessInstanceAttributeValue
プロセスインスタンス属性
の属性値の取得
13 assignProcessAttribute()
WMAssignProcessInstanceAttribute
プロセスインスタンス属性
の割り当て
アクティビティ制御機能
No Nautica 提供インタフェー
ス
WAPI
機能説明
14 getActivityStates()
WMOpenActivityInstanceStatesList
アクティビティインスタンス
状態一覧のオープン
15 changeActivityState()
WMChangeActivityInstanceState
アクティビティインスタンス
状態の変更
16 getActivityAttributes()
WMOpenActivityInstanceAttributesList
アクティビティインスタンス
属性一覧のオープン
WMGetActivityInstanceAttributeValue
アクティビティインスタンス
属性の属性値の取得
WMAssignActivityInstanceAttribute
アクティビティインスタンス
属性の割り当て
17
getActivityAttributeValue
()
18 assignActivityAttribute()
プロセス状態関連機能
Nautica 提供インタフェー
ス
No
WAPI
機能説明
19 getProcesses()
WMOpenProcessInstancesList
プロセスインスタンス一覧のオー
プン
20 getProcess()
WMGetProcessInstance
プロセスインスタンスの取得
アクティビティ状態関連機能
Nautica 提供インタフェー
ス
No
WAPI
機能説明
21 getActivities()
WMOpenActivityInstancesList
アクティビティインスタンス一覧
のオープン
22 getActivity()
WMGetActivityInstance
アクティビティインスタンスの取
得
ワークアイテム関連機能
No
Nautica 提供インタフェース
WAPI
機能説明
23 getWorkItems()
WMOpenWorkList
ワークアイテム一覧のオー
プン
24 getWorkItem()
WMGetWorkItem
ワークアイテムの取得
25 completeWorkItem()
WMCompleteWorkItem
ワークアイテムの完了
26 getWorkItemStates()
WMOpenWorkitemStatesList
ワークアイテム状態一覧
のオープン
27 changeWorkItemState()
WMChangeWorkitemState
ワークアイテム状態の変
更
28 reassignWorkItem()
WMReassignWorkItem
ワークアイテムの再割り当
て
29 getWorkItemAttributes()
WMOpenWorkItemAttributesList
ワークアイテム属性一覧
のオープン
30 getWorkItemAttributeValue() WMGetWorkItemAttributeValue
ワークアイテム属性の取
得
31 assignWorkItemAttribute()
ワークアイテム属性の割り
当て
WMAssignWorkItemAttribute
管理関連機能
No Nautica 提供インタフェー
ス
WAPI
機能説明
32 changeProcessesState()
WMChangeProcessInstancesState
プロセスインスタンス状態の
変更
33 changeActivitiesState()
WMChangeActivityInstancesState
アクティビティインスタンス
状態の変更
34 terminateProcesses()
WMTerminateProcessInstances
プロセスインスタンスの停止
35 assignProcessesAttribute()
WMAssignProcessInstancesAttribute
プロセスインスタンス属性の
割り当て
36 assignActivitiesAttribute()
WMAssignActivityInstancesAttribute
アクティビティインスタンス
属性の割り当て
37 abortProcesses()
WMAbortProcessInstances
複数のプロセスインスタンス
の中断
38 abortProcess()
WMAbortProcessInstance
プロセスインスタンスの中断
アプリケーション起動関連機能
No Nautica 提供インタフェー
ス
WAPI
機能説明
39 invokeApplication()
WMTAInvokeApplication
アプリケーションの起動
40 requestAppStatus()
WMTARequestAppStatus
アプリケーション状態の要求
41 terminateApplication()
WMTATerminateApp
アプリケーションの停止
エンジン間連携
No
Nautica 提供インタフェース
WAPI
機能説明
42 changeProcessState()
プロセスインスタンス状態の変更
-
43 createProcess()
プロセスインスタンスの生成
-
44 getProcessAttributes()
プロセスインスタンス属性の取得
-
45 getProcessState()
プロセスインスタンス状態の取得
-
46 processAttributesChanged()
プロセスインスタンス属性の変更通 知
47 processStateChanged()
プロセスインスタンス状態の変更通 知
48 setProcessAttributes()
プロセスインスタンス属性の設定
-
49 triggerActivity()
アクティビティに対するトリガー
-
50 getProcessIDs()
プロセスインスタンス一覧の取得
-
51 relinquishProcess()
プロセスインスタンスの放棄
-
※Nautica では上記 API によって必要機能を提供しており、以下の WAPI は実装していません。
WMFetchProcessDefinition
WMCloseProcessDefinitionsList
WMFetchProcessDefinitionState
WMCloseProcessDefinitionStatesList
WMFetchProcessInstanceState
WMCloseProcessInstanceStatesList
WMFetchProcessInstanceAttribute
WMCloseProcessInstanceAttributesList
WMFetchActivityInstanceState
WMCloseActivityInstanceStatesList
WMFetchActivityInstanceAttribute
WMCloseActivityInstanceAttributesList
WMFetchProcessInstance
WMCloseProcessInstancesList
WMFetchActivityInstance
WMCloseActivityInstancesList
WMFetchWorkItem
WMCloseWorkList
WMFetchWorkitemState
WMCloseWorkitemStatesList
WMFetchWorkItemAttribute
WMCloseWorkItemAttributesList
WMTAConnect
WMTADisconnect
Nautica サービス
Nautica は、ワークフローエンジンの各 API を SOAP ベースの Web サービスとして提供しています。
Axis エンジン
Nautica サービスは、Axis エンジン上の Web サービスとして動作します。Axis は、SOAP 形
式のデータを処理するためのフレームワークです。SOAP は、Web サービスでデータをやり
取りするための通信プロトコルの1つです。Axis や SOAP に関する詳細は Apache Axis サイ
ト を参照してください。
ワークフローエンジンの各 API を Web サービスとして利用するためには、Axis ライブラリを含
む Web アプリケーションを、Tomcat 上にデプロイする必要があります。詳しくは、Web サービ
ス設定を参照してください。
WSDL
Nautica サービスが提供する機能やその利用方法は、WSDL(Web Services Description
Language)に記述されます。Nautica サービスを利用してクライアントアプリケーションを作る場
合、Axis の WSDL2Java ツールを使用します。WSDL2Java ツールは、Web サービスに接続
するための Java ソースコードを出力します。詳しくは Apache Axis サイトを参照してください。
Nautica サービスを呼び出すプログラミング例は、プログラミングガイドを参照してください。
サービス一覧
Nautica サービスとその提供機能を以下に示します。
WAPI 機能
サービス名
WorkflowServiceConnector サービ
接続機能
ス
DefinitionRepository サービス
プロセス制御機能(プロセス定義操作のみ)
WorkflowEngineHandler サービス
プロセス制御機能(プロセス定義操作をのぞく)
アクティビティ制御機能
プロセス状態関連機能
アクティビティ状態関連機能
WorkItemHandler サービス
ワークアイテム関連機能
WorkflowAdminHandler サービス
管理関連機能
サーブレット
Nautica は、ワークフローエンジンの各 API 呼び出し部分を実装した Servlet (以下 Nautica サーブレット)
を提供しています。
Nautica サーブレットは、Web アプリケーション開発者が定義する HttpServlet クラスでインクルード
(include) されます。Nautica サーブレットとのデータの受け渡しは HttpServletRequest オブジェクトのサー
ブレット属性を使用します。Nautica サーブレットをインクルードする手順は以下のとおりです。
1. HttpServletRequest のサーブレット属性に必要なデータを設定
2. Nautica サーブレットをインクルード
3. HttpServletRequest から実行結果を取得 (実行結果が取得可能な場合)
Nautica サーブレットを呼び出す HttpServlet クラスのプログラミング例は、プログラミングガイドを参照して
ください。
サーブレット一覧
Nautica サーブレットの一覧を以下に示します。
接続機能
No
サーブレット属性キー名(設定する値/ク
結果取得キー名(取得する値/クラス名)
ラス名)
サーブレット名
(WAPI 機能名)
1
ConnectServlet
(WMConnect)
NWF_USER(ユーザ名)
NWF_PASSWORD(パスワード)
NWF_CONNECT_RESULT
(セッション ID)
2
DisconnectServlet
(WMDisconnect)
NWF_SESSION(セッション ID)
なし
プロセス制御機能
サーブレット属性キー名(設定する
値/クラス名)
サーブレット名
(WAPI 機能名)
No
結果取得キー名(取得する値/クラ
ス名)
3
GetProcessDefinitionsServlet
(WMOpenProcessDefinitionsList)
NWF_SESSION(セッション ID)
NWF_GET_PROCESS_DEFINITIONS_FILTER(Filter)
NWF_GET_PROCESS_DEFINITIONS_RESULT
(ProcessDefinition の配列)
4
GetProcessDefinitionStatesServlet
(WMOpenProcessDefinitionStates
List)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_GET_PROCESS_DEFINITION_STATES_RESULT
(ProcessDefinitionState の配列)
5
ChangeProcessDefinitionStateServl
et
(WMChangeProcessDefinitionState
)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_PROCESS_DEFINITION_STATE(ProcessDefinitionState)
なし
6
CreateProcessServlet
(WMCreateProcessInstance)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_PROCESS_INSTANCE_NAME(プロセスインスタンス名)
NWF_CREATE_PROCESS_RESULT
(プロセスインスタンス ID)
7
StartProcessServlet
(WMStartProcess)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_START_PROCESS_RESULT
(プロセスインスタンス ID)
8
TerminateProcessServlet
(WMTerminateProcessInstance)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
なし
9
GetProcessStatesServlet
(WMOpenProcessInstanceStatesLis
t)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_GET_PROCESS_STATES_FILTER(Filter)
NWF_GET_PROCESS_STATES_RESULT
(ProcessState の配列)
10
ChangeProcessStateServlet
WMChangeProcessInstanceState
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_CHANGE_PROCESSES_STATE_FILTER(Filter)
NWF_PROCESS_STATE(ProcessState)
なし
GetProcessAttributesServlet
11 WMOpenProcessInstanceAttributes
List
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID
NWF_GET_PROCESS_ATTRIBUTES_FILTER(Filter)
NWF_GET_PROCESS_ATTRIBUTES_RESULT
(Attribute の配列)
GetProcessAttributeValueServlet
12 (WMGetProcessInstanceAttributeV
alue)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_ATTRIBUTE_NAME(属性名)
NWF_GET_PROCESS_ATTRIBUTE_VALUE_RESULT
(Attribute)
AssignProcessAttributeServlet
13 (WMAssignProcessInstanceAttribu
te)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_ATTRIBUTE(Attribute)
なし
アクティビティ制御機能
サーブレット属性キー名(設定する
値/クラス名)
サーブレット名
(WAPI 機能名)
No
GetActivityStatesServlet
14 (WMOpenActivityInstanceStatesList
)
結果取得キー名(取得する値/クラス名)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_ACTIVITY_INSTANCE_ID(アクティビティインスタンス ID)
NWF_GET_ACTIVITY_STATES_FILTER(Filter)
NWF_GET_ACTIVITY_STATES_RESULT
(ActivityState の配列)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_ACTIVITY_INSTANCE_ID(アクティビティインスタンス ID)
NWF_ACTIVITY_STATE(ActivityState)
なし
GetActivityAttributesServlet
16 (WMOpenActivityInstanceAttributes
List)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_ACTIVITY_INSTANCE_ID(アクティビティインスタンス ID)
NWF_GET_ACTIVITY_ATTRIBUTES_FILTER(Filter)
NWF_GET_ACTIVITY_ATTRIBUTES_RESULT
(Attribute の配列)
GetActivityAttributeValueServlet
17 (WMGetActivityInstanceAttributeVa
lue)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_ACTIVITY_INSTANCE_ID(アクティビティインスタンス ID)
NWF_ATTRIBUTE_NAME(属性名)
NWF_GET_ACTIVITY_ATTRIBUTE_VALUE_RESULT
(Attribute)
AssignActivityAttributeServlet
18 (WMAssignActivityInstanceAttribut
e)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_ACTIVITY_INSTANCE_ID(アクティビティインスタンス ID)
NWF_ATTRIBUTE(Attribute)
なし
15
ChangeActivityStateServlet
(WMChangeActivityInstanceState)
プロセス状態関連機能
サーブレット属性キー名(設定する値/ 結果取得キー名(取得する値/クラス
クラス名)
名)
No
サーブレット名
(WAPI 機能名)
19
GetProcessesServlet
(WMOpenProcessInstancesList)
NWF_SESSION(セッション ID)
NWF_GET_PROCESSES_FILTER(Filter)
NWF_GET_PROCESSES_RESULT
(Process の配列)
20
GetProcessServlet
(WMGetProcessInstance)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_GET_PROCESS_RESULT
(Process)
アクティビティ状態関連機能
サーブレット属性キー名(設定する値/
クラス名)
結果取得キー名(取得する値/クラ
ス名)
No
サーブレット名
(WAPI 機能名)
21
GetActivitiesServlet
(WMOpenActivityInstancesList)
NWF_SESSION(セッション ID)
NWF_GET_ACTIVITIES_FILTER(Filter)
NWF_GET_ACTIVITIES_RESULT
(Activity の配列)
22
GetActivityServlet
(WMGetActivityInstance)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
NWF_ACTIVITY_INSTANCE_ID(アクティビティインスタンス ID)
NWF_GET_ACTIVITY_RESULT
(Activity)
ワークアイテム関連機能
No
サーブレット名
(WAPI 機能名)
サーブレット属性キー名(設定する値 結果取得キー名(取得する値/クラ
/クラス名)
ス名)
23
GetWorkItemsServlet
(WMOpenWorkList)
NWF_SESSION(セッション ID)
NWF_GET_WORK_ITEMS_FILTER(Filter)
NWF_GET_WORK_ITEMS_RESULT
(WorkItem の配列)
24
GetWorkItemServlet
(WMGetWorkItem)
NWF_SESSION(セッション ID)
NWF_WORKITEM_ID(ワークアイテム ID)
NWF_GET_WORK_ITEM_RESULT
(WorkItem)
25
CompleteWorkItemServlet
(WMCompleteWorkItem)
NWF_SESSION(セッション ID)
NWF_WORKITEM_ID(ワークアイテム ID)
なし
26
GetWorkItemStatesServlet
(WMOpenWorkitemStatesList)
NWF_SESSION(セッション ID)
NWF_WORKITEM_ID(ワークアイテム ID)
NWF_GET_WORK_ITEM_STATES_FILTER(Filter)
NWF_GET_WORK_ITEM_STATES_RESULT
(WorkItemState の配列)
27
ChangeWorkItemStateServlet
(WMChangeWorkitemState)
NWF_SESSION(セッション ID)
NWF_WORKITEM_ID(ワークアイテム ID)
NWF_WORKITEM_STATE(WorkItemState)
なし
28
ReassignWorkItemServlet
(WMReassignWorkItem)
NWF_SESSION(セッション ID)
NWF_SOURCE_USER(Participant)
NWF_TARGET_USER(Participant)
NWF_WORKITEM_ID(ワークアイテム ID)
なし
GetWorkItemAttributesServlet
29 (WMOpenWorkItemAttributesLis
t)
NWF_SESSION(セッション ID)
NWF_WORKITEM_ID(ワークアイテム ID)
NWF_GET_WORK_ITEM_ATTRIBUTES_FILTER(Filter)
NWF_GET_WORK_ITEM_ATTRIBUTES_RESULT
(Attribute の配列)
GetWorkItemAttributeValueServl
et
30
(WMGetWorkItemAttributeValue
)
NWF_SESSION(セッション ID)
NWF_WORKITEM_ID(ワークアイテム ID)
NWF_ATTRIBUTE_NAME(属性名)
NWF_GET_WORK_ITEM_ATTRIBUTE_VALUE_RESULT
(Attribute)
NWF_SESSION(セッション ID)
NWF_WORKITEM_ID(ワークアイテム ID)
NWF_ATTRIBUTE(Attribute)
なし
31
AssignWorkItemAttributeServlet
(WMAssignWorkItemAttribute)
管理関連機能
No
サーブレット名
(WAPI 機能名)
サーブレット属性キー名(設定する値 結果取得キー名(取得する値/
/クラス名)
クラス名)
32
ChangeProcessesStateServlet
(WMChangeProcessInstancesState)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_CHANGE_PROCESSES_STATE_FILTER(Filter)
NWF_PROCESS_STATE(ProcessState)
なし
33
ChangeActivitiesStateServlet
(WMChangeActivityInstancesState)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_ACTIVITY_DEFINITION_ID(アクティビティ定義 ID)
NWF_CHANGE_ACTIVITIES_STATE_FILTER(Filter)
NWF_ACTIVITY_STATE(ActivityState)
なし
34
TerminateProcessesServlet
(WMTerminateProcessInstances)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_TERMINATE_PROCESSES_FILTER(Filter
なし
AssignProcessesAttributeServlet
35
(WMAssignProcessInstancesAttribute)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_ASSIGN_PROCESSES_ATTRIBUTE_FILTER(Filter)
NWF_ATTRIBUTE(Attribute)
なし
AssignActivitiesAttributeServlet
36 (WMAssignActivityInstancesAttribute
)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_ACTIVITY_DEFINITION_ID(アクティビティ定義 ID)
NWF_ASSIGN_ACTIVITIES_ATTRIBUTE_FILTER(Filter)
NWF_ATTRIBUTE(Attribute)
なし
37
AbortProcessesServlet
(WMAbortProcessInstances)
NWF_SESSION(セッション ID)
NWF_PROCESS_DEFINITION_ID(プロセス定義 ID)
NWF_ABORT_PROCESSES_FILTER(Filter
なし
38
AbortProcessServlet
(WMAbortProcessInstance)
NWF_SESSION(セッション ID)
NWF_PROCESS_INSTANCE_ID(プロセスインスタンス ID)
なし
Copyright © 2005 Argo21, corp., All rights reserved
Fly UP