IBM Business Process Manager


Mapping variables through timer event


I have human service and I attach timer event on it and inside it I used two buttons in the coach one "Review button" its return back to the coach and another is for submit and its connected o the end node,
my issue as follows:
The I insert data ((variables))in the coach and click on "review" button and and then I keep the coach open without ending it by submit button, and the timer close the task and move to another task, and when I open Task 2 to review the data that inserted in the previous task (variables) I didn't found the values I inserted after I press review button, so how could the timer event to map the variable between the task it attached on it and the task it send to it in order to take always the last updated values of my variables?
W.R
There might be some options depending on the version you are running, but in general the BPD is not aware of the value of the variables within a task until that task ends and hands the data to the BPD. If you are running 8.0 or above shared business objects might solve the problem for you, but I have not played enough with them to tell you that for sure.
Andrew Paier | Director of Special Operations | BP3 Global, Inc. www.bp-3.com
SystemAdmin
110000D4XK
‏2013-03-04T17:19:22Z
There might be some options depending on the version you are running, but in general the BPD is not aware of the value of the variables within a task until that task ends and hands the data to the BPD. If you are running 8.0 or above shared business objects might solve the problem for you, but I have not played enough with them to tell you that for sure.
Andrew Paier | Director of Special Operations | BP3 Global, Inc. www.bp-3.com
More...
Hi,
I am using v 8.0.1 but how could I use share variable??
SystemAdmin
110000D4XK
‏2013-03-04T17:27:09Z
Hi,
I am using v 8.0.1 but how could I use share variable??
More...
Is there any way to add/map variables in "data mapping" in timer event
SystemAdmin
110000D4XK
‏2013-03-04T17:31:47Z
Is there any way to add/map variables in "data mapping" in timer event
More...
Please I need any reply regarding my issue,
SystemAdmin
110000D4XK
‏2013-03-04T17:27:09Z
Hi,
I am using v 8.0.1 but how could I use share variable??
More...
http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r0m1/topic/com.ibm.wbpm.wle.editor.doc/modeling/topic/creating_custom_var_types.html?resultof=%22%53%68%61%72%65%64%22%20%22%73%68%61%72%65%22%20%22%42%75%73%69%6e%65%73%73%22%20%22%62%75%73%69%22%20%22%4f%62%6a%65%63%74%73%22%20%22%6f%62%6a%65%63%74%22%20
See Point six on that topic.
Andrew Paier | Director of Special Operations | BP3 Global, Inc. www.bp-3.com
SystemAdmin
110000D4XK
‏2013-03-05T14:47:44Z
Please I need any reply regarding my issue,
More...
No you can not map data out of a timer event.
You can make use of a system of record (a database) or a shared business object as mentioned earlier to access data that has been saved to the SOR or SBO during the task lifetime before it has been terminated by the timer in your subsequent task.
SystemAdmin
110000D4XK
‏2013-03-04T17:31:47Z
Is there any way to add/map variables in "data mapping" in timer event
More...
Just to be expand on the reasoning behind bnaumann's answer , since a timer event doesn't do anything other than wake up, it doesn't accept any data in or output any data. So "data mapping" for a timer event doesn't really make any sense.
Your real question is "How do I get access to data in a partially completed service?" And there's no real answer to that question (essentially by design, as there are kinds of problems that would surface from that).
So in a use case like yours where you explicitly want access to data in a service that you have prematurely closed via a timer event, you are going to have to explicitly save that information in the service somewhere where it can be seen outside of the service. bnaumann suggests saving it to a SOR or SBO. You might also save the information (or a serialized object) into a database table of your own (sometimes called a hybrid system of record). (As an aside, look into the postpone step. That's relevant to this thread too).
Another approach, however, would be to ask yourself why you are not closing the task. There are a lot of subtleties between different approaches, but consider having the task complete when the user completes the coach and clicks review. But, instead of moving forward, check for a "draft" variable in a decision gateway and loop it back to the same activity (and assumably the same user and with the same due date). This gives you a lot of flexibility. You get access to all of the data in tracking and in the portal, you get to decide all of the data mapping in the activity definition (where it belongs), and you also get to perform any service steps that need to be done along the way to the end step (such as setting that "draft" variable that you will check for later).
David
SystemAdmin
110000D4XK
‏2013-03-05T18:57:25Z
Just to be expand on the reasoning behind bnaumann's answer , since a timer event doesn't do anything other than wake up, it doesn't accept any data in or output any data. So "data mapping" for a timer event doesn't really make any sense.
Your real question is "How do I get access to data in a partially completed service?" And there's no real answer to that question (essentially by design, as there are kinds of problems that would surface from that).
So in a use case like yours where you explicitly want access to data in a service that you have prematurely closed via a timer event, you are going to have to explicitly save that information in the service somewhere where it can be seen outside of the service. bnaumann suggests saving it to a SOR or SBO. You might also save the information (or a serialized object) into a database table of your own (sometimes called a hybrid system of record). (As an aside, look into the postpone step. That's relevant to this thread too).
Another approach, however, would be to ask yourself why you are not closing the task. There are a lot of subtleties between different approaches, but consider having the task complete when the user completes the coach and clicks review. But, instead of moving forward, check for a "draft" variable in a decision gateway and loop it back to the same activity (and assumably the same user and with the same due date). This gives you a lot of flexibility. You get access to all of the data in tracking and in the portal, you get to decide all of the data mapping in the activity definition (where it belongs), and you also get to perform any service steps that need to be done along the way to the end step (such as setting that "draft" variable that you will check for later).
David
More...
Thank you Dargen,
but how could I stop my activity (to do mapping variable) but through timer,
I mean I already have an option of "review" that act as you said,(return back to the coach after it stored all data into variables) but after the timer that attached to activity and terminate it and move it to another activity with coach interface that displays the same variable from previous activity it doesn't display it with the last values stored from previous activity using review option. this is exactly my issue so how could I achieve this purpose through my implementation above??
W.R
SystemAdmin
110000D4XK
‏2013-03-07T06:19:06Z
Thank you Dargen,
but how could I stop my activity (to do mapping variable) but through timer,
I mean I already have an option of "review" that act as you said,(return back to the coach after it stored all data into variables) but after the timer that attached to activity and terminate it and move it to another activity with coach interface that displays the same variable from previous activity it doesn't display it with the last values stored from previous activity using review option. this is exactly my issue so how could I achieve this purpose through my implementation above??
W.R
More...
In short: don't return back to the coach after you hit review, exit the entire service, return back to the BPD level and loop back the same activity there.
Data mapping from the service happens when the service ends. So you need to end the service for data mapping to happen.*
David
The really long story (because that's not 100% true):
*There are some other, more complicated ways to get the data to map. Such as using an IME to communicate data between the service and the BPD.
The fundamental issue here is that there is a data container for the BPD and a data container for each task. We often refer to them as the execution contexts. This is critical and vital. Both from an encapsulation perspective as well as a performance perspective. You can think of it as a multithreaded application. Just like threads can't just willy-nilly access the data of another thread, the same is true of services and BPD. A timer event (which lives at the BPD) can't just say "I want to inspect the private variables of the service I am attached to", because who knows what the state of that service might be or how it might store it's data in-flight. Or if the activity that it is attached to is even a service! What if the activity that the timer is attached to is a nested BPD and that BPD has splits, multi-instance loops, and other complications? How would mapping work there?
The fundamental point that everyone is getting to here is that you can't think about this is you can't think about this as "how could I stop my activity (to do mapping variable) but through timer". That just doesn't make any sense at the technical level. You can't get at the data inside of the service when a timer fires anymore that you could get at the local variables of a different Java thread. You have to somehow explicitly pass the data from inside the service back up to the calling BPD. I think that the easiest way to do that is just end the service and re-enter it by looping back. (Sort of like having the thread complete in my analogy of a multi-threaded application.) But you could also have the service store the data in a database or shared business variable or by sending the data via IME (sort of like having the thread store its data in a global variable). The Java threading analogy isn't perfect, but hopefully it helps make the point. Just like like the arguments of a method define the contract of a method and you can't just try to grab at the data of the method when the method is half finished, the same is true of a BPM service.
SystemAdmin
110000D4XK
‏2013-03-05T15:26:26Z
http://pic.dhe.ibm.com/infocenter/dmndhelp/v8r0m1/topic/com.ibm.wbpm.wle.editor.doc/modeling/topic/creating_custom_var_types.html?resultof=%22%53%68%61%72%65%64%22%20%22%73%68%61%72%65%22%20%22%42%75%73%69%6e%65%73%73%22%20%22%62%75%73%69%22%20%22%4f%62%6a%65%63%74%73%22%20%22%6f%62%6a%65%63%74%22%20
See Point six on that topic.
Andrew Paier | Director of Special Operations | BP3 Global, Inc. www.bp-3.com
More...
Hi Dargen,
could you please explain to me what "IME" stands for and what does it means in the below line:
"....Such as using an IME to communicate data between the service and the BPD."
W.R
yasmeen.amarneh
270005MW25
‏2013-06-13T08:26:06Z
Hi Dargen,
could you please explain to me what "IME" stands for and what does it means in the below line:
"....Such as using an IME to communicate data between the service and the BPD."
W.R
More...
IME is "Intermediate Message Event". So, if you put an Intermediate Message Event on your BPD if the service calls the UCA (under cover agent) that is associated with the IME, and if you have designed your BPD so that there is a token on the IME listening for the event to happen (... big breath...) then you can update the business values of your BPD from the service without having to have the service (task) exit and flow forward normally.
But honestly, assuming the Shared Business Object stuff works the way it has been pitched, and assuming you are using 8.0.X, you would likely be better served to use that than to attempt to follow the above model. Or have a real system of record (read - DB Tables) that contain the definitive value for the process.
Andrew Paier | Director | BP3 Global, Inc.
BP3 Global's Website | Twitter | Linkedin | Google+ | Blogs
AndrewPaier
2700040K2Q
‏2013-06-13T13:26:43Z
IME is "Intermediate Message Event". So, if you put an Intermediate Message Event on your BPD if the service calls the UCA (under cover agent) that is associated with the IME, and if you have designed your BPD so that there is a token on the IME listening for the event to happen (... big breath...) then you can update the business values of your BPD from the service without having to have the service (task) exit and flow forward normally.
But honestly, assuming the Shared Business Object stuff works the way it has been pitched, and assuming you are using 8.0.X, you would likely be better served to use that than to attempt to follow the above model. Or have a real system of record (read - DB Tables) that contain the definitive value for the process.
Andrew Paier | Director | BP3 Global, Inc.
BP3 Global's Website | Twitter | Linkedin | Google+ | Blogs
More...
Dear Andrew,
about shared object I used them and works successfully as you told me, but i have another issue and i really need your help on it.
My issue as follows:
I have a problem in the performance in the coach inside human service. my issue is when I want to take a decision in my coach in order to move from my current activity to the next one, I choose my decision such "post, approve, reject,..." and then click the button to move me from the current activity to the next one, but this process take from 1 to 2 minutes till complete my current activity and close the coach and move me to my next activity or to the same activity if my decision fro example is "review". this behavior occurred when the first decision is taken, for example if I choose the first decision to be "review" (decision keep you on the same activity) it will take nearly two minutes but when I select again the second decision, for example "post" it take about 40 seconds and so on.
My human service consists of java scrips code, Sql statements and coach, and after the button is submitted the coach will move into calculation formulas using "EVAL" and execute sqls and then go to the end node, but when I tried to connect the line from the button directly to the end node without passing any of the mentioned components,the same behavior is occurred it takes two minutes nearly to complete the activity.
And I used views iand validations using "stay on page" node in my coach so how could I increase the performance and decrease the time that took after submitting the button and take a decision
I appreciate your quick answer on this issue as its critical to me.
W.R
yasmeen.amarneh
270005MW25
‏2013-06-17T15:59:20Z
Dear Andrew,
about shared object I used them and works successfully as you told me, but i have another issue and i really need your help on it.
My issue as follows:
I have a problem in the performance in the coach inside human service. my issue is when I want to take a decision in my coach in order to move from my current activity to the next one, I choose my decision such "post, approve, reject,..." and then click the button to move me from the current activity to the next one, but this process take from 1 to 2 minutes till complete my current activity and close the coach and move me to my next activity or to the same activity if my decision fro example is "review". this behavior occurred when the first decision is taken, for example if I choose the first decision to be "review" (decision keep you on the same activity) it will take nearly two minutes but when I select again the second decision, for example "post" it take about 40 seconds and so on.
My human service consists of java scrips code, Sql statements and coach, and after the button is submitted the coach will move into calculation formulas using "EVAL" and execute sqls and then go to the end node, but when I tried to connect the line from the button directly to the end node without passing any of the mentioned components,the same behavior is occurred it takes two minutes nearly to complete the activity.
And I used views iand validations using "stay on page" node in my coach so how could I increase the performance and decrease the time that took after submitting the button and take a decision
I appreciate your quick answer on this issue as its critical to me.
W.R
More...
Any reply please !!

Related Links

TWSearch not working for migrated instances
Help with Selecting value from DatePicker in dojo
Duplicate Entries in Process Designer
Process Portal Collaberation Feature Not Working
CV - share data in coachview behaviours
CWLLG0371W: There is no script content.
Building a Mobile App in IBM BPM 8.5
IBM BPM on SQL Server 2008r2 on Windows 2008r2
US Phone CV with Validation
No vertical scroll even if my coach height exceeds screen
deployed processes can\'t be invoked after system detects inacitivy for a certain amount period
IBM BPM 8.0.1 and Admin console Cache
How to Call REST Api through Process Designer?
this.context is null BPM 8.0.1.1
KPI information
add holiday schedule

Categories

DW
PowerVM
Compiler Cafe
Cloud
Spanish
Partnerworld
Communities category
Spark on z/OS
IBM Connections Cloud ...
IBM CMIS for ECM
IBM FileNet Image Manager
IBM FileNet Capture Pr...
IBM Kenexa LCMS Premier
IBM Kenexa HDAS Assess...
IBM Kenexa Onboard on ...
IBM Kenexa CompAnalyst...
IBM Security Identity ...
IBM Security Intellige...
Netcool/Impact General...
Marketing Platform
Distributed Marketing
IBM SmartCloud Applica...
IBM TRIRIGA UX Framework
IBM TRIRIGA CAD Integr...
IBM Tivoli Monitoring ...
Fixlet Authoring
Multi-Channel Selling
Cast Iron Documentation
RDz - Rational Develop...
EGL Cafe
Cognos BI 10
Cognos Controller
Cognos Series 7
Технология Java
XML
AIX и UNIX
Lotus
Information Management
Rational Developer for...
Development Tools (RAD...
Rational Method Compos...
Reserved for Testing
Java
rational
Brazil - Java`s Forum
Healthcare and Life Sc...
IBM JZOS Batch Toolkit...
OpenCL Development Kit...
IBM Storage Insights (...
IBM Automation Control...
Community
IBM developer solutions
Optim LUW
IBM Data Studio
InfoSphere Information...
IBM InfoSphere Big Mat...
hrdf
Network Protection (XGS)
News & Announcements
Right-click Integrations
Performance / Scaling
Gentran Basic, RTE, Co...
Gentran Director
Gentran Integration Su...
Bottom of the BB
E-Commerce/EDI/XML Cou...
Performance Tuning
**NEW** Sterling File ...
Connect:Enterprise UNIX
Misc. Product Forums
Your Selling System So...
C3 Product Manager/C3 ...
Tools & Technology
C3 Analyzer Customization
Adoption Rates
Using Eclipse
Web Services, Messagin...
Internationalization (...
Release 7.0
Yard Management
Containerization, Pack...
Usability
RCP Framework
RPG Cafe
Constraint Programming
BRMS Trial Support
3D Charts
Radar charts
IBM Decision Optimizat...
OPL using CP Optimizer
Анонсы
IBM Tivoli Network Man...
OMEGAMON Performance M...
Performance Management...
Exploring Semantic Web...
Multithreaded Java pro...

Resources

Encrypt Message



code
soft
python
ios
c
html
jquery
cloud
mobile