Showing posts with label Human Workflow. Show all posts
Showing posts with label Human Workflow. Show all posts

Sunday, March 15, 2015

Human Workflow Web Services Part 2

Pada kesempatan sebelumnya kita sudah bermain dengan membuat kostum worklist untuk mendapatkan list task yang ada pada dashboard kita. Sekarang kita akan bermain dengan TaskService. TaskService dipakai untuk melakukan update pada payload, menambah attachment, menambah comment, merubah output dan banyak lagi. Kali ini kita akan mencoba untuk mengambil salah satu task yang sudah kita dapatkan dari part1 kemudian kita ubah payload nya dan kita ubah outcome nya.
  1. Pertama tama kita harus mendapatkan taskId dari salah satu task yang ingin kita ubah payload & outcome nya. Tentunya dari part 1 kita ingat bahwa respon dari queryTask berupa title, taskNumber, taskId, dan priority, maka taskId inilah yang akan kita pakai nanti.
  2. Setelah tau taskId dari task yang akan kita edit, kita gunakan operasi acquireTask untuk mengunci task tersebut agar tidak bisa di edit oleh user lain. Contoh :
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tas="http://xmlns.oracle.com/bpel/workflow/taskService" xmlns:com="http://xmlns.oracle.com/bpel/workflow/common" xmlns:task="http://xmlns.oracle.com/bpel/workflow/task" xmlns:tas1="http://xmlns.oracle.com/bpel/workflow/TaskEvidenceService"> <soapenv:Header/> <soapenv:Body> <tas:acquireTask> <!--Optional:--> <com:workflowContext> <com:credential> <com:login>yuki</com:login> <com:password>welcome1</com:password> </com:credential> </com:workflowContext> <tas:taskId>ce34ebe9-703d-4170-ac39-76fb9d141037</tas:taskId> </tas:acquireTask> </soapenv:Body> </soapenv:Envelope>
  3. Response dari request diatas akan berupa payload element yang type nya berupa anyType dan berisi human task payload yang telah di konfig dalam proses workflow nya.
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"> <env:Header/> <env:Body> <task xmlns="http://xmlns.oracle.com/bpel/workflow/task"> <title>BpmFlow</title> <payload> <input xmlns="http://www.nostratech.com/input/type"> <name>hendra edit via WebService</name> <address>harapan indah edit via WebService</address> </input> </payload> <taskDefinitionURI>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionURI> <creator>andre</creator> <ownerRole>BpmFlow.ProcessOwner</ownerRole> <priority>3</priority> <identityContext>jazn.com</identityContext> <processInfo> <instanceId>60095</instanceId> <processId>BPMFlowProcess</processId> <processName>BPMFlowProcess</processName> </processInfo> <systemAttributes> <approvalDuration>1312539</approvalDuration> <approvers>yuki</approvers> <assignedDate>2015-03-16T11:40:12+07:00</assignedDate> <createdDate>2015-03-16T11:40:12+07:00</createdDate> <digitalSignatureRequired>false</digitalSignatureRequired> <endDate>2015-03-16T12:02:04.539+07:00</endDate> <hasSubTasks>false</hasSubTasks> <inShortHistory>true</inShortHistory> <isGroup>true</isGroup> <numberOfTimesModified>5</numberOfTimesModified> <outcome>APPROVE</outcome> <passwordRequiredOnUpdate>false</passwordRequiredOnUpdate> <pushbackSequence>INITIAL_ASSIGNEES;1-5</pushbackSequence> <secureNotifications>false</secureNotifications> <state>COMPLETED</state> <taskId>ce34ebe9-703d-4170-ac39-76fb9d141037</taskId> <taskNumber>200101</taskNumber> <updatedBy> <id>yuki</id> <displayName>yuki</displayName> <type>user</type> </updatedBy> <updatedDate>2015-03-16T12:02:04+07:00</updatedDate> <version>5</version> <versionReason>TASK_VERSION_REASON_COMPLETED</versionReason> <taskDefinitionId>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionId> <taskDefinitionName>Humantask2</taskDefinitionName> <workflowPattern>Participant</workflowPattern> <isTestTask>false</isTestTask> <participantName>default.DefaultPerformer</participantName> <rootTaskId>ce34ebe9-703d-4170-ac39-76fb9d141037</rootTaskId> <systemStringActions>PUSH_BACK,sharePayload</systemStringActions> <isTemplateTask>false</isTemplateTask> <taskNamespace>http://xmlns.oracle.com/BPMFlow/BpmFlow/Humantask2</taskNamespace> <timers/> <componentType>Workflow</componentType> <activityName>UserTask1</activityName> <activityId>ACT12343189529316</activityId> <thread>0</thread> <parentThread>-1</parentThread> <swimlaneRole>FlowDua</swimlaneRole> <timersSuspended>false</timersSuspended> <tenantIdNumber>-1</tenantIdNumber> <isDecomposedTask>false</isDecomposedTask> <formName>default</formName> </systemAttributes> <systemMessageAttributes> <numberAttribute1>0.0</numberAttribute1> <numberAttribute2>0.0</numberAttribute2> <numberAttribute3>0.0</numberAttribute3> <numberAttribute4>0.0</numberAttribute4> <numberAttribute5>0.0</numberAttribute5> <numberAttribute6>0.0</numberAttribute6> <numberAttribute7>0.0</numberAttribute7> <numberAttribute8>0.0</numberAttribute8> <numberAttribute9>0.0</numberAttribute9> <numberAttribute10>0.0</numberAttribute10> <protectedNumberAttribute1>0.0</protectedNumberAttribute1> <protectedNumberAttribute2>0.0</protectedNumberAttribute2> <protectedNumberAttribute3>0.0</protectedNumberAttribute3> <protectedNumberAttribute4>0.0</protectedNumberAttribute4> <protectedNumberAttribute5>0.0</protectedNumberAttribute5> <protectedNumberAttribute6>0.0</protectedNumberAttribute6> <protectedNumberAttribute7>0.0</protectedNumberAttribute7> <protectedNumberAttribute8>0.0</protectedNumberAttribute8> <protectedNumberAttribute9>0.0</protectedNumberAttribute9> <protectedNumberAttribute10>0.0</protectedNumberAttribute10> </systemMessageAttributes> <callback> <id>BPMFlowProcess/HumanTasks.Humantask2.reference</id> <converstationId>urn:883fe82e-cb96-11e4-aec4-6ac578b5c089</converstationId> </callback> <isPublic>false</isPublic> <percentageComplete>100.0</percentageComplete> <sca> <applicationName>TelkomHIE</applicationName> <componentName>Humantask2</componentName> <compositeDN>TelkomHIE/BpmFlow!1.1*soa_d5fea338-73b5-41f6-8e7c-51413d395e62</compositeDN> <compositeInstanceId>60032</compositeInstanceId> <compositeName>BpmFlow</compositeName> <compositeVersion>1.1</compositeVersion> <ecId>8986bff4-3cbf-4a5b-8f08-6f0326c294a8-0000b6d6</ecId> <parentComponentInstanceId>bpmn:60095</parentComponentInstanceId> <parentComponentInstanceRefId>60095-ACT12343189529316-BPMFlowProcess_try.3-1</parentComponentInstanceRefId> <headerProperties>rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAABh3CAAAACAAAAAPdAAddHJhY2tpbmcuQ29tcG9zaXRlU0NBRW50aXR5SWR0AAU2MDAwMXQAFHRyYWNraW5nLlNDQUVudGl0eUlkdAAFNjAwMDR0ABp0cmFja2luZy5Db3JyZWxhdGlvbkZsb3dJZHQAIjAwMDBLa1dzUnNXRjRFV0ZMekZTOEExS3pJQmgwMDAwMTZ0ABl0cmFja2luZy5yZXNwb25zZS5jb250ZXh0c3IAJmphdmEudXRpbC5jb25jdXJyZW50LkNvbmN1cnJlbnRIYXNoTWFwZJneEp2HKT0DAANJAAtzZWdtZW50TWFza0kADHNlZ21lbnRTaGlmdFsACHNlZ21lbnRzdAAxW0xqYXZhL3V0aWwvY29uY3VycmVudC9Db25jdXJyZW50SGFzaE1hcCRTZWdtZW50O3hwAAAADwAAABx1cgAxW0xqYXZhLnV0aWwuY29uY3VycmVudC5Db25jdXJyZW50SGFzaE1hcCRTZWdtZW50O1J3P0Eymzl0AgAAeHAAAAAQc3IALmphdmEudXRpbC5jb25jdXJyZW50LkNvbmN1cnJlbnRIYXNoTWFwJFNlZ21lbnQfNkyQWJMpPQIAAUYACmxvYWRGYWN0b3J4cgAoamF2YS51dGlsLmNvbmN1cnJlbnQubG9ja3MuUmVlbnRyYW50TG9ja2ZVqCwsyGrrAgABTAAEc3luY3QAL0xqYXZhL3V0aWwvY29uY3VycmVudC9sb2Nrcy9SZWVudHJhbnRMb2NrJFN5bmM7eHBzcgA0amF2YS51dGlsLmNvbmN1cnJlbnQubG9ja3MuUmVlbnRyYW50TG9jayROb25mYWlyU3luY2WIMudTe78LAgAAeHIALWphdmEudXRpbC5jb25jdXJyZW50LmxvY2tzLlJlZW50cmFudExvY2skU3luY7geopSqRFp8AgAAeHIANWphdmEudXRpbC5jb25jdXJyZW50LmxvY2tzLkFic3RyYWN0UXVldWVkU3luY2hyb25pemVyZlWoQ3U/UuMCAAFJAAVzdGF0ZXhyADZqYXZhLnV0aWwuY29uY3VycmVudC5sb2Nrcy5BYnN0cmFj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</headerProperties> <compositeCreatedTime>2015-03-16T11:40:07.455+07:00</compositeCreatedTime> <componentInstanceId>60096</componentInstanceId> <flowId>60026</flowId> <scaPartitionId>60</scaPartitionId> </sca> <applicationContext>OracleBPMProcessRolesApp</applicationContext> <taskDefinitionId>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionId> <correlationId>ce34ebe9-703d-4170-ac39-76fb9d141037</correlationId> <mdsLabel>soa_cf_ed1f0f6f-b93c-4b73-b1f2-f63584182e50</mdsLabel> <customAttributes> <customAttributeNumber1>0.0</customAttributeNumber1> <customAttributeNumber2>0.0</customAttributeNumber2> </customAttributes> </task> </env:Body> </env:Envelope>
  4. Sekarang kita telah tau format payload serta isi task nya. Selanjutnya kita bisa merubah isi payload nya. Untuk mempermudah kalian bisa mengcopy isi tag <task> kemudian kita buka operation updateTask pada TaskService. Pada updateTask akan berisi tentang informasi task itu sendiri. Kita paste isi tag <task> yang sudah kita copy dan kita timpa ke tag <task> yang sudah ada.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tas="http://xmlns.oracle.com/bpel/workflow/taskService" xmlns:com="http://xmlns.oracle.com/bpel/workflow/common" xmlns:task="http://xmlns.oracle.com/bpel/workflow/task" xmlns:tas1="http://xmlns.oracle.com/bpel/workflow/TaskEvidenceService"> <soapenv:Header/> <soapenv:Body> <tas:updateTask> <com:workflowContext> <com:credential> <com:login>yuki</com:login> <com:password>welcome1</com:password> </com:credential> </com:workflowContext> <task xmlns="http://xmlns.oracle.com/bpel/workflow/task"> <title>BpmFlow</title> <payload> <input xmlns="http://www.nostratech.com/input/type"> <name>hendra edit via WebService</name> <address>harapan indah edit via WebService</address> </input> </payload> <taskDefinitionURI>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionURI> <creator>andre</creator> <ownerRole>BpmFlow.ProcessOwner</ownerRole> <priority>3</priority> <identityContext>jazn.com</identityContext> <processInfo> <instanceId>60095</instanceId> <processId>BPMFlowProcess</processId> <processName>BPMFlowProcess</processName> </processInfo> <systemAttributes> <acquiredBy>yuki</acquiredBy> <assignedDate>2015-03-16T11:40:13+07:00</assignedDate> <createdDate>2015-03-16T11:40:12+07:00</createdDate> <digitalSignatureRequired>false</digitalSignatureRequired> <fromUser> <id>andre</id> <displayName>andre</displayName> <type>user</type> </fromUser> <hasSubTasks>false</hasSubTasks> <inShortHistory>true</inShortHistory> <isGroup>true</isGroup> <numberOfTimesModified>2</numberOfTimesModified> <passwordRequiredOnUpdate>false</passwordRequiredOnUpdate> <pushbackSequence>INITIAL_ASSIGNEES;1</pushbackSequence> <secureNotifications>false</secureNotifications> <state>ASSIGNED</state> <substate>ACQUIRED</substate> <taskId>ce34ebe9-703d-4170-ac39-76fb9d141037</taskId> <taskNumber>200101</taskNumber> <updatedBy> <id>yuki</id> <displayName>yuki</displayName> <type>user</type> </updatedBy> <updatedDate>2015-03-16T11:44:20+07:00</updatedDate> <version>2</version> <versionReason>TASK_VERSION_REASON_ACQUIRED</versionReason> <taskDefinitionId>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionId> <taskDefinitionName>Humantask2</taskDefinitionName> <workflowPattern>Participant</workflowPattern> <isTestTask>false</isTestTask> <participantName>default.DefaultPerformer</participantName> <reviewers> <id>ProcessReviewer</id> <displayName/> <type>ROLE</type> </reviewers> <assignees> <id>BpmFlow.FlowDua</id> <displayName>BpmFlow.FlowDua</displayName> <type>application_role</type> </assignees> <rootTaskId>ce34ebe9-703d-4170-ac39-76fb9d141037</rootTaskId> <systemStringActions>PUSH_BACK,sharePayload</systemStringActions> <stage>Stage1</stage> <isTemplateTask>false</isTemplateTask> <taskNamespace>http://xmlns.oracle.com/BPMFlow/BpmFlow/Humantask2</taskNamespace> <timers>[wf_auto_release=true]</timers> <componentType>Workflow</componentType> <activityName>UserTask1</activityName> <activityId>ACT12343189529316</activityId> <thread>0</thread> <parentThread>-1</parentThread> <swimlaneRole>FlowDua</swimlaneRole> <timersSuspended>false</timersSuspended> <tenantIdNumber>-1</tenantIdNumber> <isDecomposedTask>false</isDecomposedTask> <formName>default</formName> </systemAttributes> <systemMessageAttributes> <numberAttribute1>0.0</numberAttribute1> <numberAttribute2>0.0</numberAttribute2> <numberAttribute3>0.0</numberAttribute3> <numberAttribute4>0.0</numberAttribute4> <numberAttribute5>0.0</numberAttribute5> <numberAttribute6>0.0</numberAttribute6> <numberAttribute7>0.0</numberAttribute7> <numberAttribute8>0.0</numberAttribute8> <numberAttribute9>0.0</numberAttribute9> <numberAttribute10>0.0</numberAttribute10> <protectedNumberAttribute1>0.0</protectedNumberAttribute1> <protectedNumberAttribute2>0.0</protectedNumberAttribute2> <protectedNumberAttribute3>0.0</protectedNumberAttribute3> <protectedNumberAttribute4>0.0</protectedNumberAttribute4> <protectedNumberAttribute5>0.0</protectedNumberAttribute5> <protectedNumberAttribute6>0.0</protectedNumberAttribute6> <protectedNumberAttribute7>0.0</protectedNumberAttribute7> <protectedNumberAttribute8>0.0</protectedNumberAttribute8> <protectedNumberAttribute9>0.0</protectedNumberAttribute9> <protectedNumberAttribute10>0.0</protectedNumberAttribute10> </systemMessageAttributes> <callback> <id>BPMFlowProcess/HumanTasks.Humantask2.reference</id> <converstationId>urn:883fe82e-cb96-11e4-aec4-6ac578b5c089</converstationId> </callback> <isPublic>false</isPublic> <sca> <applicationName>TelkomHIE</applicationName> <componentName>Humantask2</componentName> <compositeDN>TelkomHIE/BpmFlow!1.1*soa_d5fea338-73b5-41f6-8e7c-51413d395e62</compositeDN> <compositeInstanceId>60032</compositeInstanceId> <compositeName>BpmFlow</compositeName> <compositeVersion>1.1</compositeVersion> <ecId>8986bff4-3cbf-4a5b-8f08-6f0326c294a8-0000b6d6</ecId> <parentComponentInstanceId>bpmn:60095</parentComponentInstanceId> <parentComponentInstanceRefId>60095-ACT12343189529316-BPMFlowProcess_try.3-1</parentComponentInstanceRefId> <headerProperties>rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAABh3CAAAACAAAAAPdAAddHJhY2tpbmcuQ29tcG9zaXRlU0NBRW50aXR5SWR0AAU2MDAwMXQAFHRyYWNraW5nLlNDQUVudGl0eUlkdAAFNjAwMDR0ABp0cmFja2luZy5Db3JyZWxhdGlvbkZsb3dJZHQAIjAwMDBLa1dzUnNXRjRFV0ZMekZTOEExS3pJQmgwMDAwMTZ0ABl0cmFja2luZy5yZXNwb25zZS5jb250ZXh0c3IAJmphdmEudXRpbC5jb25jdXJyZW50LkNvbmN1cnJlbnRIYXNoTWFwZJneEp2HKT0DAANJAAtzZWdtZW50TWFza0kADHNlZ21lbnRTaGlmdFsACHNlZ21lbnRzdAAxW0xqYXZhL3V0aWwvY29uY3VycmVudC9Db25jdXJyZW50SGFzaE1hcCRTZWdtZW50O3hwAAAADwAAABx1cgAxW0xqYXZhLnV0aWwuY29uY3VycmVudC5Db25jdXJyZW50SGFzaE1hcCRTZWdtZW50O1J3P0Eymzl0AgAAeHAAAAAQc3IALmphdmEudXRpbC5jb25jdXJyZW50LkNvbmN1cnJlbnRIYXNoTWFwJFNlZ21lbnQfNkyQWJMpPQIAAUYACmxvYWRGYWN0b3J4cgAoamF2YS51dGlsLmNvbmN1cnJlbnQubG9ja3MuUmVlbnRyYW50TG9ja2ZVqCwsyGrrAgABTAAEc3luY3QAL0xqYXZhL3V0aWwvY29uY3VycmVudC9sb2Nrcy9SZWVudHJhbnRMb2NrJFN5bmM7eHBzcgA0amF2YS51dGlsLmNvbmN1cnJlbnQubG9ja3MuUmVlbnRyYW50TG9jayROb25mYWlyU3luY2WIMudTe78LAgAAeHIALWphdmEudXRpbC5jb25jdXJyZW50LmxvY2tzLlJlZW50cmFudExvY2skU3luY7geopSqRFp8AgAAeHIANWphdmEudXRpbC5jb25jdXJyZW50LmxvY2tzLkFic3RyYWN0UXVldWVkU3luY2hyb25pemVyZlWoQ3U/UuMCAAFJAAVzdGF0ZXhyADZqYXZhLnV0aWwuY29uY3VycmVudC5sb2Nrcy5BYnN0cmFjdE93bmFibGVTeW5jaHJvbml6ZXIz36+5rW1vqQIAAHhwAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAAB1cgATW0xqYXZhLmxhbmcuU3RyaW5nO63SVufpHXtHAgAAeHAAAAADdAAmQlBFTEluaXRpYXRlVGFzay9BdXRoZW50aWNhdGlvblNlcnZpY2V0ABVBdXRoZW50aWNhdGlvblNlcnZpY2V0AAU2MDAwOXNxAH4ACQAAAA8AAAAcdXEAfgAMAAAAEHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAdAAbUmVzcG9uc2VDb21wb3NpdGVJbnN0YW5jZUlEc3IADmphdmEubGFuZy5Mb25nO4vkkMyPI98CAAFKAAV2YWx1ZXhyABBqYXZhLmxhbmcuTnVtYmVyhqyVHQuU4IsCAAB4cAAAAAAAAOp/dAASUmVzcG9uc2VJbnN0YW5jZUlEc3EAfgBdAAAAAAAA6rx0ABBUYXJnZXRJbnN0YW5jZUlEc3EAfgBdAAAAAAAA6r1wcHh1cQB+ADUAAAADdAAaYnBlbGluaXRpYXRldGFza19jbGllbnRfZXB0AChCUEVMSW5pdGlhdGVUYXNrL2JwZWxpbml0aWF0ZXRhc2tfY2xpZW50dAAFNjAwMDlzcQB+AAkAAAAPAAAAHHVxAH4ADAAAABBzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHEAfgBcc3EAfgBdAAAAAAAA6n9xAH4AYHNxAH4AXQAAAAAAAOq7cQB+AGJzcQB+AF0AAAAAAADqvHBweHVxAH4ANQAAAAN0ACRCUEVMSW5pdGlhdGVUYXNrL0luaXRpYXRlVGFza1NlcnZpY2V0ABNJbml0aWF0ZVRhc2tTZXJ2aWNldAAFNjAwMDlzcQB+AAkAAAAPAAAAHHVxAH4ADAAAABBzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHEAfgBcc3EAfgBdAAAAAAAA6n9xAH4AYHNxAH4AXQAAAAAAAOq8cQB+AGJzcQB+AF0AAAAAAADqvnBweHVxAH4ANQAAAAN0AC5CUE1GbG93UHJvY2Vzcy9IdW1hblRhc2tzLkh1bWFudGFzazIucmVmZXJlbmNldAAWSHVtYW50YXNrMi9UYXNrU2VydmljZXQABTYwMDAxc3EAfgAJAAAADwAAABx1cQB+AAwAAAAQc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABxAH4AXHNxAH4AXQAAAAAAAOqAcQB+AGBzcQB+AF0AAAAAAADqv3EAfgBic3EAfgBdAAAAAAAA6sBwcHh1cQB+ADUAAAADdAAWQlBNRmxvd1Byb2Nlc3Muc2VydmljZXQAJUJQTUZsb3dQcm9jZXNzL0JQTUZsb3dQcm9jZXNzLnNlcnZpY2V0AAU2MDAwMXNxAH4ACQAAAA8AAAAcdXEAfgAMAAAAEHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAc3EAfgAOc3EAfgASAAAAAD9AAABzcQB+AA5zcQB+ABIAAAAAP0AAAHNxAH4ADnNxAH4AEgAAAAA/QAAAcQB+AFxzcQB+AF0AAAAAAADqgHEAfgBgc3EAfgBdAAAAAAAA6r5xAH4AYnNxAH4AXQAAAAAAAOq/cHB4cHB4dAAYdHJhY2tpbmcuRmxvd0NyZWF0ZWRUaW1lc3IADmphdmEudXRpbC5EYXRlaGqBAUtZdBkDAAB4cHcIAAABTCDhvh94dAAbdHJhY2tpbmcuRmxvd1NDQVBhcnRpdGlvbklkdAACNjB0ABN0cmFja2luZy5JbnN0YW5jZUlkdAAFNjAwOTZ0AA90cmFja2luZy5GbG93SWR0AAU2MDAyNnQAFHRyYWNraW5nLkZsb3dFdmVudElkdAAFNjAyNjB0ABx0cmFja2luZy5jb21wb3NpdGVJbnN0YW5jZUlkdAAFNjAwMzJ0AA10cmFja2luZy5lY2lkdAAtODk4NmJmZjQtM2NiZi00YTViLThmMDgtNmYwMzI2YzI5NGE4LTAwMDBiNmQ2dAAfdHJhY2tpbmcuSW5zdGFuY2VJZENyZWF0aW9uVGltZXQADTE0MjY0ODA4MTIzNDd0ABd0cmFja2luZy5jb252ZXJzYXRpb25JZHQAKHVybjo4ODNmZTgyZS1jYjk2LTExZTQtYWVjNC02YWM1NzhiNWMwODl0AA1icGVsLnByaW9yaXR5dAABMHQAHHRyYW5zcG9ydC5odHRwLnJlbW90ZUFkZHJlc3N0AA0xOTIuMTY4LjEuMTg0eA==</headerProperties> <compositeCreatedTime>2015-03-16T11:40:07.455+07:00</compositeCreatedTime> <componentInstanceId>60096</componentInstanceId> <flowId>60026</flowId> <scaPartitionId>60</scaPartitionId> </sca> <applicationContext>OracleBPMProcessRolesApp</applicationContext> <taskDefinitionId>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionId> <correlationId>ce34ebe9-703d-4170-ac39-76fb9d141037</correlationId> <mdsLabel>soa_cf_ed1f0f6f-b93c-4b73-b1f2-f63584182e50</mdsLabel> <customAttributes/> </task> </tas:updateTask> </soapenv:Body> </soapenv:Envelope>
  5. Dengan melakukan step 4, maka payload nama & alamat akan ada penambahan kata "edit via Web Service". Langkah selanjutnya adalah mengupdate outcome nya. Untuk mempermudah copy lagi isi tag <task> dari response di atas. Kemudian buka operation updateOutcome pada TaskService. updateOutcome berfungsi untuk merubah outcome pada suatu task. Di dalam nya terdapat informasi tentang task, taskId serta outcome yang harus kita isi. Paste isi tag <task> dengan isi tag <task> yang sudah kita copy tadi. Kemudian isi taskId sesuai dengan taskId yang ada di dalam response pada step 4 dan isi outcome nya menjadi APPROVE. Dalam kasus ini outcome hanya ada APPROVE atau REJECT.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tas="http://xmlns.oracle.com/bpel/workflow/taskService" xmlns:com="http://xmlns.oracle.com/bpel/workflow/common" xmlns:task="http://xmlns.oracle.com/bpel/workflow/task" xmlns:tas1="http://xmlns.oracle.com/bpel/workflow/TaskEvidenceService"> <soapenv:Header/> <soapenv:Body> <tas:updateTaskOutcome> <com:workflowContext> <com:credential> <com:login>yuki</com:login> <com:password>welcome1</com:password> </com:credential> </com:workflowContext> <task xmlns="http://xmlns.oracle.com/bpel/workflow/task"> <title>BpmFlow</title> <payload> <input xmlns="http://www.nostratech.com/input/type"> <name>hendra edit via WebService</name> <address>harapan indah edit via WebService</address> </input> </payload> <taskDefinitionURI>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionURI> <creator>andre</creator> <ownerRole>BpmFlow.ProcessOwner</ownerRole> <priority>3</priority> <identityContext>jazn.com</identityContext> <processInfo> <instanceId>60095</instanceId> <processId>BPMFlowProcess</processId> <processName>BPMFlowProcess</processName> </processInfo> <systemAttributes> <acquiredBy>yuki</acquiredBy> <assignedDate>2015-03-16T11:40:13+07:00</assignedDate> <createdDate>2015-03-16T11:40:12+07:00</createdDate> <digitalSignatureRequired>false</digitalSignatureRequired> <fromUser> <id>andre</id> <displayName>andre</displayName> <type>user</type> </fromUser> <hasSubTasks>false</hasSubTasks> <inShortHistory>false</inShortHistory> <isGroup>true</isGroup> <numberOfTimesModified>3</numberOfTimesModified> <passwordRequiredOnUpdate>false</passwordRequiredOnUpdate> <pushbackSequence>INITIAL_ASSIGNEES;1</pushbackSequence> <secureNotifications>false</secureNotifications> <state>ASSIGNED</state> <substate>ACQUIRED</substate> <taskId>ce34ebe9-703d-4170-ac39-76fb9d141037</taskId> <taskNumber>200101</taskNumber> <updatedBy> <id>yuki</id> <displayName>yuki</displayName> <type>user</type> </updatedBy> <updatedDate>2015-03-16T11:54:08+07:00</updatedDate> <version>3</version> <versionReason>TASK_VERSION_REASON_UPDATED</versionReason> <taskDefinitionId>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionId> <taskDefinitionName>Humantask2</taskDefinitionName> <workflowPattern>Participant</workflowPattern> <isTestTask>false</isTestTask> <participantName>default.DefaultPerformer</participantName> <reviewers> <id>ProcessReviewer</id> <displayName/> <type>ROLE</type> </reviewers> <assignees> <id>BpmFlow.FlowDua</id> <displayName>BpmFlow.FlowDua</displayName> <type>application_role</type> </assignees> <rootTaskId>ce34ebe9-703d-4170-ac39-76fb9d141037</rootTaskId> <systemStringActions>PUSH_BACK,sharePayload</systemStringActions> <stage>Stage1</stage> <isTemplateTask>false</isTemplateTask> <taskNamespace>http://xmlns.oracle.com/BPMFlow/BpmFlow/Humantask2</taskNamespace> <timers>[wf_auto_release=true]</timers> <componentType>Workflow</componentType> <activityName>UserTask1</activityName> <activityId>ACT12343189529316</activityId> <thread>0</thread> <parentThread>-1</parentThread> <swimlaneRole>FlowDua</swimlaneRole> <timersSuspended>false</timersSuspended> <tenantIdNumber>-1</tenantIdNumber> <isDecomposedTask>false</isDecomposedTask> <formName>default</formName> </systemAttributes> <systemMessageAttributes> <numberAttribute1>0.0</numberAttribute1> <numberAttribute2>0.0</numberAttribute2> <numberAttribute3>0.0</numberAttribute3> <numberAttribute4>0.0</numberAttribute4> <numberAttribute5>0.0</numberAttribute5> <numberAttribute6>0.0</numberAttribute6> <numberAttribute7>0.0</numberAttribute7> <numberAttribute8>0.0</numberAttribute8> <numberAttribute9>0.0</numberAttribute9> <numberAttribute10>0.0</numberAttribute10> <protectedNumberAttribute1>0.0</protectedNumberAttribute1> <protectedNumberAttribute2>0.0</protectedNumberAttribute2> <protectedNumberAttribute3>0.0</protectedNumberAttribute3> <protectedNumberAttribute4>0.0</protectedNumberAttribute4> <protectedNumberAttribute5>0.0</protectedNumberAttribute5> <protectedNumberAttribute6>0.0</protectedNumberAttribute6> <protectedNumberAttribute7>0.0</protectedNumberAttribute7> <protectedNumberAttribute8>0.0</protectedNumberAttribute8> <protectedNumberAttribute9>0.0</protectedNumberAttribute9> <protectedNumberAttribute10>0.0</protectedNumberAttribute10> </systemMessageAttributes> <callback> <id>BPMFlowProcess/HumanTasks.Humantask2.reference</id> <converstationId>urn:883fe82e-cb96-11e4-aec4-6ac578b5c089</converstationId> </callback> <isPublic>false</isPublic> <sca> <applicationName>TelkomHIE</applicationName> <componentName>Humantask2</componentName> <compositeDN>TelkomHIE/BpmFlow!1.1*soa_d5fea338-73b5-41f6-8e7c-51413d395e62</compositeDN> <compositeInstanceId>60032</compositeInstanceId> <compositeName>BpmFlow</compositeName> <compositeVersion>1.1</compositeVersion> <ecId>8986bff4-3cbf-4a5b-8f08-6f0326c294a8-0000b6d6</ecId> <parentComponentInstanceId>bpmn:60095</parentComponentInstanceId> <parentComponentInstanceRefId>60095-ACT12343189529316-BPMFlowProcess_try.3-1</parentComponentInstanceRefId> <headerProperties>rO0ABXNyABFqYXZhLnV0aWwuSGFzaE1hcAUH2sHDFmDRAwACRgAKbG9hZEZhY3RvckkACXRocmVzaG9sZHhwP0AAAAAAABh3CAAAACAAAAAPdAAddHJhY2tpbmcuQ29tcG9zaXRlU0NBRW50aXR5SWR0AAU2MDAwMXQAFHRyYWNraW5nLlNDQUVudGl0eUlkdAAFNjAwMDR0ABp0cmFja2luZy5Db3JyZWxhdGlvbkZsb3dJZHQAIjAwMDBLa1dzUnNXRjRFV0ZMekZTOEExS3pJQmgwMDAwMTZ0ABl0cmFja2luZy5yZXNwb25zZS5jb250ZXh0c3IAJmphdmEudXRpbC5jb25jdXJyZW50LkNvbmN1cnJlbnRIYXNoTWFwZJneEp2HKT0DAANJAAtzZWdtZW50TWFza0kADHNlZ21lbnRTaGlmdFsACHNlZ21lbnRzdAAxW0xqYXZhL3V0aWwvY29uY3VycmVudC9Db25jdXJyZW50SGFzaE1hcCRTZWdtZW50O3hwAAAADwAAABx1cgAxW0xqYXZhLnV0aWwuY29uY3VycmVudC5Db25jdXJyZW50SGFzaE1hcCRTZWdtZW50O1J3P0Eymzl0AgAAeHAAAAAQc3IALmphdmEudXRpbC5jb25jdXJyZW50LkNvbmN1cnJlbnRIYXNoTWFwJFNlZ21lbnQfNkyQWJMpPQIAAUYACmxvYWRGYWN0b3J4cgAoamF2YS51dGlsLmNvbmN1cnJlbnQubG9ja3MuUmVlbnRyYW50TG9ja2ZVqCwsyGrrAgABTAAEc3luY3QAL0xqYXZhL3V0aWwvY29uY3VycmVudC9sb2Nrcy9SZWVudHJhbnRMb2NrJFN5bmM7eHBzcgA0amF2YS51dGlsLmNvbmN1cnJlbnQubG9ja3MuUmVlbnRyYW50TG9jayROb25mYWlyU3luY2WIMudTe78LAgAAeHIALWphdmEudXRpbC5jb25jdXJyZW50LmxvY2tzLlJlZW50cmFudExvY2skU3luY7geopSqRFp8AgAAeHIANWphdmEudXRpbC5jb25jdXJyZW50LmxvY2tzLkFic3RyYWN0UXVldWVkU3luY2hyb25pemVyZlWoQ3U/UuMCAAFJAAVzdGF0ZXhyADZqYXZhLnV0aWwuY29uY3VycmVudC5sb2Nrcy5BYnN0cmFj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</headerProperties> <compositeCreatedTime>2015-03-16T11:40:07.455+07:00</compositeCreatedTime> <componentInstanceId>60096</componentInstanceId> <flowId>60026</flowId> <scaPartitionId>60</scaPartitionId> </sca> <applicationContext>OracleBPMProcessRolesApp</applicationContext> <taskDefinitionId>TelkomHIE/BpmFlow!1.1/Humantask2</taskDefinitionId> <correlationId>ce34ebe9-703d-4170-ac39-76fb9d141037</correlationId> <mdsLabel>soa_cf_ed1f0f6f-b93c-4b73-b1f2-f63584182e50</mdsLabel> <customAttributes/> </task> <tas:taskId>ce34ebe9-703d-4170-ac39-76fb9d141037</tas:taskId> <tas:outcome>APPROVE</tas:outcome> </tas:updateTaskOutcome> </soapenv:Body> </soapenv:Envelope>
Kita sudah selesai memanipulasi data dari suatu task dan mengupdate outcome nya. Kalian bisa mencoba coba hal lain seperti menambah attachment ataupun comment.

Demikian tutorial kali ini.
Semoga Bermanfaat !

Happy Coding !

Human Workflow Web Services Part 1

Tentunya pernah bukan menggunakan Oracle BPM's Workspace? Harus diketahui bahwa semua data & action yang kalian lihat disana disediakan oleh Human Workflow Services. Ada berbagai macam cara berinteraksi dengan Oracle Human Workflow Service. Kalian bisa menggunakan java dan membuat aplikasi kalian sendiri, menggunakan aplikasi BPM Worklist atau menggunakan Human Workflow Web Service. Pada kesempatan ini saya akan membahas tentang Human Workflow Web Service pada Oracle BPM. Kalian bisa langsung mencoba nya dari soapUI atau webservice framework lainnya.

Ada dua buah Human Workflow Web Service yang akan sering kita pergunakan. Yang pertama adalah TaskQueryService, Webservice ini bisa digunakan untuk mendapatkan task atau melakukan query pada worklow service. 
WSDL url nya : http://host:port/integration/services/TaskQueryService/TaskQueryService?WSDL 
contoh : soa12c.nostratech.com:8001/integration/services/TaskQueryService/TaskQueryService?WSDL 

Yang kedua adalah TaskService, Webservice ini bisa menggunakan CRUD action pada human task.
WSDL url nya = http://host:port/integration/services/TaskService/TaskServicePort?WSDL
contoh : soa12c.nostratech.com:8001/integration/services/TaskService/TaskServicePort?WSDL

Sekarang kita akan bermain dengan TaskQueryService terlebih dahulu dan pada Part 2 kita akan bermain dengan TaskService. 

Pada TaskQueryService terdapat berbagai macam operasi yang dapat digunakan, salah satunya queryTask. Dengan menggunakan queryTask kita bisa mengquery task yang kita inginkan. Sebagai contoh saya akan menquery task yang telah di assign ke user andre dan grup dimana user andre telah bergabung.



<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
 xmlns:tas="http://xmlns.oracle.com/bpel/workflow/taskQueryService" 
 xmlns:com="http://xmlns.oracle.com/bpel/workflow/common" 
 xmlns:tas1="http://xmlns.oracle.com/bpel/workflow/taskQuery" 
 xmlns:task="http://xmlns.oracle.com/bpel/workflow/task">
   <soapenv:Header/>
   <soapenv:Body>
      <tas:taskListRequest>
         <com:workflowContext>
            <com:credential>
               <com:login>andre</com:login>
               <com:password>welcome1</com:password>
            </com:credential>
         </com:workflowContext>
         <tas1:taskPredicateQuery>
            <tas1:displayColumnList>
               <tas1:displayColumn>textAttribute1</tas1:displayColumn>
               <tas1:displayColumn>textAttribute2</tas1:displayColumn>
               <tas1:displayColumn>textAttribute3</tas1:displayColumn>
            </tas1:displayColumnList>
            <tas1:optionalInfoList>
               <tas1:taskOptionalInfo>Comments</tas1:taskOptionalInfo>
               <tas1:taskOptionalInfo>Attachments</tas1:taskOptionalInfo>
               <tas1:taskOptionalInfo>Payload</tas1:taskOptionalInfo>
            </tas1:optionalInfoList>
            <tas1:predicate>
               <tas1:assignmentFilter>My+Group</tas1:assignmentFilter>
               <tas1:clause>
                  <tas1:column>STATE</tas1:column>
                  <tas1:operator>EQ</tas1:operator>
                  <tas1:value>ASSIGNED</tas1:value>
               </tas1:clause>
            </tas1:predicate>
         </tas1:taskPredicateQuery>
      </tas:taskListRequest>
   </soapenv:Body>
</soapenv:Envelope>

Bisa kita lihat dari kode di atas, kode yang berwarna biru merupakan inti yang harus kita isi. Code yang berwarna hitam & di bold adalah contoh isi yang benar, sedangkan untuk yang berwarna merah, itu untuk menampilkan atribut yang kita inginkan dalam contoh ini ada 3 atribut yang ingin ditampilkan yaitu Comment, Attachment, Payload. 


Pada bagian assignmentFilter, kita bisa merubah menjadi : All, My, Group, My+Group, My+Group+All, Reportees, Creator, Owner, Previous, Admin. 


Pada bagian operator, kita bisa merubah menjadi : EQ, NEQ, GT, GTE, LT, LTE, LIKE, NOT_LIKE, IN, NOT_IN, CONTAINS, NOT_CONTAINS, BEGINS, NOT_BEGINS, ENDS, NOT_ENDS, BEFORE, AFTER, ON, NEXT_N_DAYS, LAST_N_DAYS, IS_IN_FUTURE, IS_IN_PAST, IS_NULL, IS_NOT_NULL


Untuk melihat document oracle tentang TaskQueryService & melihat isi table WFTask bisa klik disini


Response dari request di atas akan berupa list of task elemen. Dimana setiap task element mempunyai sub elemen seperti title, priority, taskNumber dan taskId.

Sekarang kita sudah bisa mendapatkan list task yang user andre harus kerjakan. Mirip bukan seperti kita login dalam BPM Worklist? Namun sekarang kita bisa menggunakan UI lain untuk mengakses BPM Workspace.


Sekian dulu untuk Part 1.

Semoga Bermanfaat !
Happy Coding :)