Comments
Description
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