IBM Business Process Manager


Migration/restart of processes


So, a question on maintenance/support for BPM processes:
Say a process fails or gets to an unrecoverable state during execution at task C of a process that goes A -> B -> C. For whatever reason, we need to create a new process and advance it directly to step C. We have to do this for support purposes, also for migration of processes from an existing system - some might need to start at A, some might need to start at B, some might need to start at C.
Is there a tool, utility, or API available to explicitly start a process at a certain downstream task?
There isn't a tool today that does that, however if you know the desired outputs for A and B, then via the REST API you can tell each task to complete and assert the data values to use for output.
Prior to that being available, there are 2 ways you can do this using Start Message Events -
Create several SME's that will start the process in different states. Simply give it the right payload of data and have it go to the appropriate task in the BPD
Create a single SME that includes something that indicates what task to route to. Have the SME go to a decision gateway and then to the right task based on the value passed.
Andrew Paier | Director | BP3 Global, Inc.
BP3 Global's Website | Twitter | Linkedin | Google+ | Blogs
AndrewPaier
2700040K2Q
‏2013-06-11T22:17:38Z
There isn't a tool today that does that, however if you know the desired outputs for A and B, then via the REST API you can tell each task to complete and assert the data values to use for output.
Prior to that being available, there are 2 ways you can do this using Start Message Events -
Create several SME's that will start the process in different states. Simply give it the right payload of data and have it go to the appropriate task in the BPD
Create a single SME that includes something that indicates what task to route to. Have the SME go to a decision gateway and then to the right task based on the value passed.
Andrew Paier | Director | BP3 Global, Inc.
BP3 Global's Website | Twitter | Linkedin | Google+ | Blogs
More...
Thanks for the suggestions. From digging around a little bit it looks like the "move token" call is what I'm looking for. Start a process, move the token to where it needs to be, update the data as necessary, etc.
http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r0mx/topic/com.ibm.wbpm.bspace.ref.doc/rest/bpmrest/rest_bpm_wle_v1_process_instanceid_post_move_token.htm
whateverman.
060000HT4A
‏2013-06-14T15:51:06Z
Thanks for the suggestions. From digging around a little bit it looks like the "move token" call is what I'm looking for. Start a process, move the token to where it needs to be, update the data as necessary, etc.
http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r0mx/topic/com.ibm.wbpm.bspace.ref.doc/rest/bpmrest/rest_bpm_wle_v1_process_instanceid_post_move_token.htm
More...
Gotcha. Just be careful that the values are set correctly in your Process. When you follow these sort of short circuits, some assumptions about variables being set may be violated in since you did not flow through the previous steps. (This is true for any of the above techniques).
AndrewPaier
2700040K2Q
‏2013-06-14T16:24:55Z
Gotcha. Just be careful that the values are set correctly in your Process. When you follow these sort of short circuits, some assumptions about variables being set may be violated in since you did not flow through the previous steps. (This is true for any of the above techniques).
More...
Looks like we have a scenario that's a bit more complicated, in regards to setting the data. We've got a top-level parent process which strings together several subprocesses. I'm aware that the tokens can't be moved between subprocesses, but if you move the parent process's token to the desired subprocess you can then move tokens within the subprocess. Good to go there.
The problem we're having is with setting the data in the subprocesses:
There doesn't seem to be any way to change process variables with the REST API for process instances at any level
Creating and completing an ad-hoc task that will set variables on output is doable, but would require querying for the task ID at runtime in order to complete it. Starting an ad-hoc event also doesn't seem to allow for values to be passed in with the API call.
Moving a token doesn't seem to allow for values to be passed as part of the API call.
Any thoughts? Really just looking for a way to change process instance values programmatically for both top-level processes and linked sub-processes without having to do this all manually through the process inspector or something.
whateverman.
060000HT4A
‏2013-06-14T20:52:54Z
Looks like we have a scenario that's a bit more complicated, in regards to setting the data. We've got a top-level parent process which strings together several subprocesses. I'm aware that the tokens can't be moved between subprocesses, but if you move the parent process's token to the desired subprocess you can then move tokens within the subprocess. Good to go there.
The problem we're having is with setting the data in the subprocesses:
There doesn't seem to be any way to change process variables with the REST API for process instances at any level
Creating and completing an ad-hoc task that will set variables on output is doable, but would require querying for the task ID at runtime in order to complete it. Starting an ad-hoc event also doesn't seem to allow for values to be passed in with the API call.
Moving a token doesn't seem to allow for values to be passed as part of the API call.
Any thoughts? Really just looking for a way to change process instance values programmatically for both top-level processes and linked sub-processes without having to do this all manually through the process inspector or something.
More...
While you are right you cannot set the variables at the BPD level, you can set them at the service level. In 7.5.1 (haven't tested 8.0.X) if you have a task assigned to a group you can then assert that the task should close and the output data values it should use for the closure. Assuming those values are mapped to values in the process, they should pick up on the values. So what you would want to do is to advance the token to one step before the target step, and then close that task and assert the values for the task outputs.
Of course, if you started the Process with a start message event you should be able to set the value of the Parent BPD values in the output of the SME, and then move the tokens. Or are you saying the sub process doesn't get the parent process values when you do token movement?
Andrew Paier | Director | BP3 Global, Inc.
BP3 Global's Website | Twitter | Linkedin | Google+ | Blogs

Related Links

Cannot Create User From ProcessAdmin Console in IBM BPM 8.5
Text area border color change to pink
Use dojo 1.9.2 with BPM 8.5.0.1
Duplicate check
Retrieve all teams in a Process
Where to place the Email template file?
IBM BPM Coaches - Responsive UI
Recommended testing tool for IBM BPM 8.5 for Performance testing?
Token location
How to fetch all active user working on a system.
How to retrieve the attached documents stored in WLE Product Database and then store it in a required server path? Can any…
Change even handler for text field in table
INBOX in Proces Portal
TW Search Issue
Limit users to process portal
listToNativeArray() - What values are supposed to be returned in the array?

Categories

DW
Cloud management integ...
Rational Cafe
Germany
dW Russia
ibm_ru
Spark on z/OS
IBM Connections Meetin...
IBM ECM System Monitor
IBM Content Manager En...
IBM Kenexa Assess on C...
IBM Kenexa LMS
IBM Kenexa CompAnalyst...
IBM Kenexa Hot Lava Mo...
Tivoli Security Compli...
Application Performanc...
Netcool/Impact General...
Netcool/Impact Future ...
Marketing Operations
eMessage7
Patch Management
Deployment and Configu...
IBM SPSS Statistics Sy...
General Statistical Qu...
EGL Cafe
Regional
Industry
Cognos BI 10
Cognos Controller
Cognos SDK and Diagnos...
Rational
Open Source
Rational Developer for...
Rational Team Concert
wireless
opensource
eserver
Test for Aparna
Electronics
Banking
IBM LanguageWare Resou...
Partnerworld blogs
Multicore enablement
IBM i
Web development
Optim LUW
InfoSphere Information...
IBM InfoSphere Big Mat...
Master the Mainframe G...
Part 2 - Challenge #10...
WebSphere Application ...
Runtime Migration to W...
IBM WebSphere Applicat...
IBM Security Access Ma...
DSM Extensions, Custom...
QRadar Risk Manager
OM Mobile Framework
Service / Adapter Conf...
Patterns / Techniques ...
Mapping / Translation
Gentran Director
Gentran Websuite
Learning @ Sterling Co...
Distributed Order Mana...
Business Process Modeling
Connect:Enterprise Mai...
Selling System SDK
Tools & Technology
Dealing With Your ERP ...
Back End Integation
Installation & Configu...
Announcements -
Picking
Reverse Logistics
RCP Framework
Extensibility
DB2
Mathematical Programming
Rules for .NET
Gauges, Indicators and...
Rule Execution Server
Business Rules Best Pr...
SAP
Форумы Open Source
IBM Mote Runner SDK
Visual Performance Ana...
Programming Contest Ce...
IBM Spectrum Control
IBM Tivoli Network Man...
IBM Workload Automatio...
IBM Whole-system Analy...
IBM SCORE
Web 2.0 Apps
Active Memory Expansion
IBM System Storage
IBM BladeCenter Forum
IBM WebSphere Applicat...
IBM WebSphere Portal a...
Exploring Semantic Web...
IBM Java Runtimes and ...
Java security

Resources

Encrypt Message



code
soft
python
ios
c
html
jquery
cloud
mobile