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 » Representing batch processes

Post new topic  Reply to topic
 Representing batch processes « View previous topic :: View next topic » 
Author Message
JasonG
PostPosted: Tue Mar 04, 2003 9:25 am    Post subject: Representing batch processes Reply with quote

Novice

Joined: 02 Jan 2003
Posts: 24
Location: Buffalo, NY

Has anyone modeled a process in which a batch of items is the input and subsequent processes involve completing tasks relevant to just one item in that batch- I'm having trouble modeling the transition from the receipt of a batch to processing individual items in the batch. The modeling is supporting As-Is modeling. I realize that in the To-Be process, when a workitem is represented by a data structure this problem won't really be an issue, the batch can simply be indicated by a field "Batch Type" in a data structure that represents one individual workitem. Batching is really a technique for physical control of something, in terms of electronic work its helpful info to have for searching, etc, but not really necessary...

I want to depict the current state as accurately as possible. Lets say that a batch of type A has 50 individual sheets of paper in it. That single batch is the input to "Receive Batch" Activity. A person will receive that single batch and that batch is then assigned to the next activity, "Do Work". Would I depict the input to the "Do Work" activity as 50 separate workitems, or model "Do Work" as a Block activity with the batch as the input and loop through until no more workitems remain? In terms of overhead it sounds that the second would be the way to go... However I'm still not convinced that batch processing makes the least bit of sense for the To-Be State...
Thanks-
Back to top
View user's profile Send private message
jmac
PostPosted: Tue Apr 08, 2003 7:09 am    Post subject: Re: Representing batch processes Reply with quote

Jedi Knight

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

JasonG wrote:
I want to depict the current state as accurately as possible. Lets say that a batch of type A has 50 individual sheets of paper in it. That single batch is the input to "Receive Batch" Activity. A person will receive that single batch and that batch is then assigned to the next activity, "Do Work". Would I depict the input to the "Do Work" activity as 50 separate workitems, or model "Do Work" as a Block activity with the batch as the input and loop through until no more workitems remain? In terms of overhead it sounds that the second would be the way to go... However I'm still not convinced that batch processing makes the least bit of sense for the To-Be State...


If you want the individual items to be processed serially then you could model with a loop (i.e. a Block).

However, if you want them to be processed in parallel, you have a problem. The best way to do this is probably with a recursive subprocess, however, Recursion is one of the things that you can not define currently in BPM. Also, spawning subprocesses is an expensive thing in MQWF.

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
JasonG
PostPosted: Tue Apr 08, 2003 7:58 am    Post subject: Follow up Reply with quote

Novice

Joined: 02 Jan 2003
Posts: 24
Location: Buffalo, NY

Thanks for the response John,

Let me ask a follow up question- Lets say that we receive individual envelopes in the mail. These envelopes are sorted into two bins. Business mail and claim mail. These bins are placed on a delivery cart and when all the mail is sorted the bins are delivered to the addressees as a batch.

The problem that I am running into is that if we receive 100 individual envelopes as inputs, there is no way that I can find to convert the 100 individual inputs (envelopes) of the process into 2 outputs (batches of 50 envelopes in each batch). If the transfer medium "interoffice mail" takes 20 minutes the process will be mis- represented without recognizing the batch because the 100 individual iputs will become 100 individual batches. we're not delivering 100 batches at 20 minutes apiece we are delivering 2 batches with a total delivery time of 20 minutes.

I have looked into Task Repetition as a technique that might solve this but we are talking about a strictly physical process that has absolutely no data related to it. Therefore we cannot set a variable for the task rep...

Do you know if people are looking at this problem at IBM? or if there are solutions to it out there already?
Back to top
View user's profile Send private message
jmac
PostPosted: Tue Apr 08, 2003 8:30 am    Post subject: Reply with quote

Jedi Knight

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

Jason:

It is hard to understand exactly what you are doing. But if you need to break the individual envelopes down into individual actions in the long run, why not have an instance for each envelope?
_________________
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
JasonG
PostPosted: Tue Apr 08, 2003 9:40 am    Post subject: Disconnect Reply with quote

Novice

Joined: 02 Jan 2003
Posts: 24
Location: Buffalo, NY

Hi again-
We are using the Holosofx tool to document our Current Process so that we can get a baseline cost measurement to compare any MQWorkflow ROI to. Our current process requires a human resource to perform an activity that takes individual inputs and creates as the output of the activity a batch of those inputs. We are not rengineering using MQWF at the current time. We merely want to have as accurate as possible current state representation. This is why I would like to talk with someone from Holosofx.

"why not have an instance for each envelope?"

That is exactly how I have the inputs to the current process represented. We receive 100 envelopes in the mail. Hypothetically lets just say there are 50 of type A mail and 50 of type B mail. We don't know that yet though. A person looks at each individual piece of mail and makes the decision "Is this A or B". Once that decision is made the person places the mail in either bin A or bin B. There is a cycle time associated with both the decision and the activity of placing the unit of work (the envelope) in the bin. Once the bin is full (50 claims) the unit of work is now the bin not the envelope and the person begins filling a new bin. Both bins are placed on a mail cart and both are delivered through interoffice mail as the output in 1 minute.

It is a loop, but how do I tell the simulation tool that for every 50 envelopes that get placed in the bin to create only one Bin output? As I have it right now every time an individual envelope phi is placed in the bin an individual bin phi is created. A 1:1 ratio through the simulation. I want it to be a 50:1 Envelope to bin ratio. What this effects is the delivery simulation metrics. If it takes 1 minute to deliver the bin through interoffice mail the simulation should be able to reflect a one minute delivery time for the output of the process. As it stands now, because Holosofx thinks that the ratio of Envelopes to bins is 1:1 for every envelope input an equal amount of Bin outputs is simulated. That would then reflect a 1 minute x 100 bins= 100 minutes Transfer duration when the real process delivers two bins of 50 envelopes each in 1 minute. That would also skew the cost of the role resource assigned to delivery, etc.

I completely agree with you though that once we have an MQ Workflow controlled system it is ridiculous to batch workitems. Just arrange them in FIFO order on the worklist....
Back to top
View user's profile Send private message
jmac
PostPosted: Tue Apr 08, 2003 11:30 am    Post subject: Reply with quote

Jedi Knight

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

Jason:

OK, now I get it...

The best I can say is to contact IBM and ask them for some BPM assistance. You are using the tool (BPM) to do the things that I have never done with it. I know this tool, but only from the perspective of a MQWF Buildtime replacement.
_________________
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
manoj
PostPosted: Wed Apr 09, 2003 4:41 am    Post subject: Reply with quote

Master

Joined: 30 Jan 2002
Posts: 237
Location: Virgina

Hi,
You may want to try Bundling techinique for this kind of scenario.
_________________
-manoj
Back to top
View user's profile Send private message Send e-mail Yahoo Messenger
JasonG
PostPosted: Wed Apr 09, 2003 5:43 am    Post subject: Bundling? Reply with quote

Novice

Joined: 02 Jan 2003
Posts: 24
Location: Buffalo, NY

Hi manoj,
I am not familiar with the bundling technique, if you could describe it a little more I would appreciate it.

Jason
Back to top
View user's profile Send private message
jmac
PostPosted: Wed Apr 09, 2003 5:56 am    Post subject: Reply with quote

Jedi Knight

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

Jason/manoj:

Bundling is not officially supported in MQWF. You can approximate what FlowMark bundling did using recursive processes. However, since Jason is using BPM as his modeler that is out of the question since it does not support recursive processes.
_________________
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
JasonG
PostPosted: Wed Apr 09, 2003 6:03 am    Post subject: Thanks anyway- Reply with quote

Novice

Joined: 02 Jan 2003
Posts: 24
Location: Buffalo, NY

Thanks for the help though manoj...
Back to top
View user's profile Send private message
jayffic
PostPosted: Fri Apr 11, 2003 8:45 am    Post subject: Reply with quote

Novice

Joined: 12 Mar 2003
Posts: 12

Here's a dumb question: why not model each output as 1/50 of a second. That way the total output will be one minute even if they are individual outputs. It may not be quite accurate, but may get you a result you can live near.

Good luck.
Back to top
View user's profile Send private message
JasonG
PostPosted: Fri Apr 11, 2003 9:50 am    Post subject: 1/50 good idea but... Reply with quote

Novice

Joined: 02 Jan 2003
Posts: 24
Location: Buffalo, NY

Thanks, Jayffic
I thought about that but then you don't get an accurate reading in the process simulation mode for Queue Duration, Max in Queue. Transfer durations are then inaccurate as well.

And in terms of the Holosofx BPR methodolgy they state very strongly that the As-Is model should be a representation of reality. The reality is that we take 50 individual sheets of paper, and perform an activity on each one. The output of the activity is not 50 sheets of paper but 1 batch that contains 50 sheets of paper. No matter what I have tried I can't represent that situation. 50 in = 50 out. The interoffice mail medium takes 10 minutes. Because we can't figure out how to convert 50 inputs into 1 output batch , 50 outputs leave the activity and get charged 10 minutes of transfer time each. Thats 500 minutes of transfer time.

I came up with a similar thought regarding the 1/50th of the total transfer time idea that you had but it gets real complicated when 1 batch gets put on a Mail cart and the cart isn't delivered until there are 100 batches on the cart.
10 minutes = 600 seconds / 50= 30 seconds in the medium per output-

I just think it would be pretty simple for IBM to define a "Batch" object in the Phi Type table that you could define in terms of how many individual outputs are required from the previous activity to make up a batch. When that batch gets to the next activity then we should be able to specify "perform follow-on activity on individual inputs". Thats reality!
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 » Representing batch processes
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.