Nauticaワークフローが提供するAPIのプログラミング例を示します。
RMI over IIOP |
リモートメソッドを呼び出すプログラミング例です。
プロセスインスタンスの開始
認証によるセッションIDの取得からプロセスインスタンスの開始までを示します。
// ワークフローエンジンに接続し、セッションIDを取得
ConnectionInfo conInfo = new ConnectionInfo(
"engine001", "", "userId", "password");
WorkflowServiceAccessor wsa = new WorkflowServiceAccessor(conInfo);
String session = wsa.open();
// プロセスインスタンスを生成
WorkflowEngineHandlerRemote weh = wsa.getWorkflowEngineHandler();
String pid = weh.createProcess(
session, "testDefId", "testDefInstanceName");
// プロセスインスタンスの開始
weh.startProcess(session, pid);
|
Nauticaサービス |
Nauticaサービスを呼び出すプログラミング例です。なお、プログラミング内では、Apache Axis のWSDL2Javaツールによって自動生成されたJavaクラスを使用しています。WSDL2Javaツールの使用方法は Apache Axis サイトを参照してください。
プロセスインスタンスの開始
認証によるセッションIDの取得からプロセスインスタンスの開始までを示します。
// ワークフローエンジンに接続し、セッションIDを取得
WorkflowServiceConnectorServiceLocator locator =
new WorkflowServiceConnectorServiceLocator();
URL url = new URL(
"http://127.0.0.1:8080/WorkflowAxis/services/WorkflowServiceConnector");
WorkflowServiceConnector connector = locator.getWorkflowServiceConnector(url);
String session = connector.connect("userId", "password");
// プロセスインスタンスを生成
WorkflowEngineHandlerServiceLocator locator =
new WorkflowEngineHandlerServiceLocator();
URL url = new URL(
"http://127.0.0.1:8080/WorkflowAxis/services/WorkflowEngineHandler");
WorkflowEngineHandler weh = locator.getWorkflowEngineHandler(url);
String pid = weh.createProcess(session, "testDefId", "testDefInstanceName");
// プロセスインスタンスの開始
weh.startProcess(session, pid);
|
サーブレット |
Nauticaサーブレットを呼び出すHttpServletクラスのプログラミング例です。
プロセスインスタンスの開始
認証によるセッションIDの取得からプロセスインスタンスの開始までを示します。
protected void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException,IOException {
// ConnectServletを呼び出す。
req.setAttribute("NWF_USER", "userId");
req.setAttribute("NWF_PASSWORD", "password");
this.getServletConfig().getServletContext().
getDispatcher("/servlet/ConnectServlet").include(req, res);
// ConnectServletの結果(セッションID)を取得する。
String sessionID = (String) req.getAttribute("NWF_CONNECT_RESULT");
// CreateProcessServletを呼び出す。
req.setAttribute("NWF_SESSION", sessionID);
req.setAttribute("NWF_PROCESS_DEFINITION_ID", "testDefId");
req.setAttribute("NWF_PROCESS_INSTANCE_NAME", "testDefInstanceName");
this.getServletConfig().getServletContext()
.getDispatcher("/servlet/CreateProcessServlet").include(req, res);
// CreateProcessServletの結果(プロセスインスタンスID)を取得する。
String pid = (String) req.getAttribute("NWF_CREATE_PROCESS_RESULT");
// StartServletを呼び出す。
req.setAttribute("NWF_PROCESS_INSTANCE_ID", pid);
this.getServletConfig().getServletContext().
getDispatcher("/servlet/StartProcessServlet").include(req, res);
・・・中略・・・
}
|
|