ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » [Solved]Auto-suspend from a UPES / WMQI

Post new topic  Reply to topic
 [Solved]Auto-suspend from a UPES / WMQI « View previous topic :: View next topic » 
Author Message
nwhi
PostPosted: Thu Dec 19, 2002 6:28 am    Post subject: [Solved]Auto-suspend from a UPES / WMQI Reply with quote

Apprentice

Joined: 19 Dec 2002
Posts: 25
Location: UK

I'm just considering the best (easiest, most reliable, flexible) way to achieve an 'auto-suspend' function from within a process that consists of purely of UPES and NOOP activities.

To explain further, our architecture effectively only uses MQWF for backend application control - i.e. application based rather than people based WF. Any interfaces are exclusively via XML over MQ, using WMQI.

A new requirement is to suspend a process until a specific date/time, then continue processing.

One obvious option is to use an UPES activity that does nothing but which has an expiry duration 'from container' and have a previous WMQI activity work out the relative date/time. However, the use of an expiry time with a dummy activity rather than a true suspend has other implications (e.g. viewing the true status of a process, notification times, etc.)

Does anyone have any ideas of how to achieve the auto-suspend from WMQI?

For further thought is how to also achieve a 'Cancel process' request whilst it is suspended? Other products I have worked with allow you to modfiy the suspend date/time and specify a state to unsuspend into, when the date / time comes (if not immediately).

Any help is much appreciated.

[PS. Thanks for running the forum, John]
_________________
Nick Whittle
IBM Certified Solutions Designer -
WebSphere MQ Workflow V3.4
MQSolutions (UK) Ltd
Back to top
View user's profile Send private message
jmac
PostPosted: Thu Dec 19, 2002 6:39 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Nick:

I am not sure if this fits for you, but assuming you are using V332, have a look at the XML message ProcessInstanceSuspend. This allows you to pass an XML message to MQWF that can optionally contain a Date/Time. Since this is a new facility, I have not tried this (the Date/Time option) but I can say that the Suspend works fine. Also, have a look at the ProcessInstanceTerminate message, this would allow you to kill the instance.

Quote:
[PS. Thanks for running the forum, John]


It's Brandon who is to be thanked. I really don't do anything other than mark problems solved.
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
nwhi
PostPosted: Thu Dec 19, 2002 7:35 am    Post subject: Reply with quote

Apprentice

Joined: 19 Dec 2002
Posts: 25
Location: UK

Of course, I did check the manuals before posting the question. On re-examination I realise I was using the v3.3 manuals .... Have downloaded the new one.

Yes, ProcessInstanceSuspend is exactly what I want. Thanks!

ProcessInstanceRestart also looks interesting ... but back to the second question on main post:

Ideas for how to cancel the suspension in such a way as to route down a particular branch of the flow? It would also be nice to be able to modify the suspend date/time but we're considering using elements of the webclient to achieve maintenance of suspends.

I suppose ProcessInstanceTerminate might do the job, seeing as the only reason for taking a specific route was to record the cancellation and perhaps trigger an email to be sent. It would be nice to keep the email trigger from within the workflow.
_________________
Nick Whittle
IBM Certified Solutions Designer -
WebSphere MQ Workflow V3.4
MQSolutions (UK) Ltd
Back to top
View user's profile Send private message
jmac
PostPosted: Thu Dec 19, 2002 7:50 am    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Quote:
Ideas for how to cancel the suspension in such a way as to route down a particular branch of the flow? It would also be nice to be able to modify the suspend date/time but we're considering using elements of the webclient to achieve maintenance of suspends.


Nick:

The problem here is that what is suspended is the ProcessInstance, but what you need to route is the Workitems. I am not certain you can do this. I would need to understand a lot more about your process. For instance, will it always be suspended at the same point? Or coud it be suspended anywhere?

Hopefully someone else will have some ideas for you... sorry
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
nwhi
PostPosted: Thu Dec 19, 2002 11:52 am    Post subject: Reply with quote

Apprentice

Joined: 19 Dec 2002
Posts: 25
Location: UK

Ahhhh, I fell into the trap of thinking of a particular work item being suspended, but perhaps may be forgiven as it is the 'auto-suspend' activity that will be doing the actual suspend at a predefined point in the flow. Interestingly many people I teach also think of work items being suspended - I note the mistake being made at least once before in this forum. Maybe it's more natural for people to think of suspending things at set places in a process.

The flow in question can be thought of as a utility flow, designed to be used as a subflow within another main flow (where certain parts of the main flow should only occur on set date/times), or as precursor to a main flow (where the main flow is to perform a transaction at a future date/time).

Anyway, your answer is concise as ever John, and leads me to the conclusions that it is not possible to change any anything (i.e. container data) whilst a process is suspended, because there aren't any activites actually running. The process is, as it should be thought of, 'frozen'.
However, since the suspend will always be at a distinct point (contained within the utility subflow), I can add another post-suspend activity to check for a cancellation request by way of retrieving a value from a database table. What a shame the global data container isn't a two-way interface!.
All that is left is to arrange for the cancellation request to unsuspend the process. This should be possible as the request is manually generated and will almost certainly be from some sort of 'future dated transaction view/maintenance' web page. We're intending using components of the web client so I imagine we'll be able to set the 'cancellation request' value in a database table then unsuspend the process under-the-covers. Unless you can think of any easier way?
_________________
Nick Whittle
IBM Certified Solutions Designer -
WebSphere MQ Workflow V3.4
MQSolutions (UK) Ltd
Back to top
View user's profile Send private message
jmac
PostPosted: Thu Dec 19, 2002 12:03 pm    Post subject: Reply with quote

Jedi Knight

Joined: 27 Jun 2001
Posts: 3081
Location: EmeriCon, LLC

Nick:

A common problem, thinking that the workitem is suspended and not the Instance. Of course MQWF doesn't help here by having a workitem state of suspended!

Good Luck
_________________
John McDonald
RETIRED
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
sshaker
PostPosted: Wed Jan 15, 2003 10:12 am    Post subject: Reply with quote

Disciple

Joined: 20 Sep 2002
Posts: 185

hi
interesting discussion..
i'd like to add on the requirement of sending a mail.. we tried sending a mail once an activity is completed .. it works fine.. from a custom web client (jsp) .. it should be possible to do the same in other scenarios.. like cancellation..

regards
shaker
_________________
shaker
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Workflow Engines - IBM MQ Workflow & Business Process Choreographer » [Solved]Auto-suspend from a UPES / WMQI
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.