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 » Workflow overwrite process

Post new topic  Reply to topic
 Workflow overwrite process « View previous topic :: View next topic » 
Author Message
mca
PostPosted: Thu Nov 02, 2006 3:22 pm    Post subject: Workflow overwrite process Reply with quote

Disciple

Joined: 09 Mar 2005
Posts: 196

We are enhancing an existing project in production for which we have hundreds of in-flight orders. Making changes to the project will include changing the data structures and fields for the processes in that project.

My requirement is -> In-flight orders must be using old workflow code and new orders must point to new code. I did some testing of this by changing the way i export the FDL. Here are the results ... but nothing worked.

fmcibie -t -o -> Some process, that are yet to be called in Inflight orders are incorporating new code, which i dont want.
fmcibie -t -> Got lots of errors saying "Process already exists". Not able to overwrite
fmcibie -0 -> Even new instances are using old process, which means new processa re not getting imported.

So, in this above scenario what approach would be good for me to support in-flight orders and new orders using new code.

Thanks,
MCA
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
tsrisudh
PostPosted: Thu Nov 02, 2006 11:50 pm    Post subject: Reply with quote

Centurion

Joined: 11 Aug 2005
Posts: 113

I use -o -f -t and this makes sure that the old processes follow old FDL and new ones the latest FDL

But beware of one thing, if you are using a UPES with an MDB then be sure to handle that differntly for both FDLs
_________________
Srisudhir Tadepalli
Back to top
View user's profile Send private message Yahoo Messenger
jmac
PostPosted: Fri Nov 03, 2006 6:20 am    Post subject: Re: Workflow overwrite process Reply with quote

Jedi Knight

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

mca wrote:
We are enhancing an existing project in production for which we have hundreds of in-flight orders.


If I understand correctly what you are saying, then I do not understand your problem. To me an "in flight" instance is one which has been instantiated but not yet complete. There is no way that this instance is going to run using new data structures, or newly defined programs. Once a process is instantiated it runs as the template was defined. This sounds to me like what you want.

Perhaps I just need a better explanation of the problem, but I don't see how import helps this issue at all.
_________________
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
kotha
PostPosted: Fri Nov 03, 2006 9:35 am    Post subject: Reply with quote

Partisan

Joined: 12 Mar 2005
Posts: 333

I agree with John on this. There is better mechanism in WPS but that is another whole different one.

The simplest way of doing this is: You have one template deployed and is currently running and it has in-flight orders etc. So use the same FDL code and change the template name and deploy it. Use this template name for interfacing with ICS or any broker that use. This way your end business users wont see a change and also for sure you wont get any problems. Once the in=-light orders completed, remove the old template.
Back to top
View user's profile Send private message
koko
PostPosted: Fri Nov 03, 2006 10:10 am    Post subject: Reply with quote

Master

Joined: 26 Sep 2003
Posts: 206

mca wrote
Quote:
Making changes to the project will include changing the data structures and fields for the processes in that project.



Jmac :

I *think* mca is trying to refer to the subprocesses in an inflight instance. Like for example a MAINProcess is in middle of the flow and after a few activities in its route, it would hit a SUBProcess. I guess his question to make sure this MainProcess would use all the datastructures and logic of SUBProcessVersion1 where as the newly instantiated processes should use the SUBProcessVersion2( the one which replaced SUBProcessVersion1).

Kotha

How to make an in flight process NOT to use the latest subprocess WITHOUT using a different name for it?

But then, I do not exactly know if this is what mca wants to know here.LOL
_________________
Thanks

Koko
Back to top
View user's profile Send private message
jmac
PostPosted: Fri Nov 03, 2006 10:27 am    Post subject: Reply with quote

Jedi Knight

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

Koko:

IF the question is about a subprocess, then there is no way around changing the name of the subprocess. Through dynamic subprocess invocation, this could be possible without changing the top level process.

However, I think this is moot, I see nothing in mca's original question that leads me to believe that it is referring to subprocesses.
_________________
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
kotha
PostPosted: Fri Nov 03, 2006 11:54 am    Post subject: Reply with quote

Partisan

Joined: 12 Mar 2005
Posts: 333

If there are subprocesses to be invoked should also need changes, You may need to deploy a whole new one.
That is the only way I think of right now.
Back to top
View user's profile Send private message
mca
PostPosted: Mon Nov 06, 2006 12:51 pm    Post subject: Reply with quote

Disciple

Joined: 09 Mar 2005
Posts: 196

Thanks for all your replies. Let me eloborate my question.

I have a project whose template Name for example is "ProcessMain", which is the name of process. I have 3 steps in it. First Step is a sub-process is named say SubProcess1, second step(Sub-Process) SubProcess2 and SubProcess3 respectively.

There is an instance of this project which is in SubProcess1 and we deploy the ehancement of this project adding new UPES step to the SubProcess2. Now when the instance is done processing SubProcess1, will it call the old sub-process with out the new UPES step or call the new one with UPES step? I want it to call the old one because the UPES step was not present when it got instantiated and it may break my code and data mappings with this addition of new steps in the enhanced project. So, is there a way for new instances to follow new code and old instances to call the old sub-process.

That was my question.

Now after further investigation, i figured out that even using -f option, the new sub-process will be instantiated. The old one will be over writen. These are the results of my various exporting options

fmcibie -t -i -> Lots of errors saying Proces and Users already exists
fmcibie -o -i -> Even new instances are using old sub-process. New one did not get deployed.
fmcibie -t -o -i -> Old Instances are incorporating new Sub-Process.
fmcibie -t -f -o -i -> Old instances are incorporating new Sub-Process.

So, finally i decided to change the Process names of the enhanced version so that old process remains same and new ones call the new Sub-Process. If there is any other way for doing this please let me know.

MCA
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
jmac
PostPosted: Mon Nov 06, 2006 1:10 pm    Post subject: Reply with quote

Jedi Knight

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

OK This is what you have

Process Model: MainProcess

Contains 3 (sub)Process activities
SubProcess1
SubProcess2
SubProcess3

You currently have an Instance: Instance001

This instance is currently in the SubProcess1 activity.

Prior to activity SubProcess2 being run, you deploy a new version of the process invoked by SubProcess2.

Your question is what will run.

The answer to this has to do with what MQWF calls "late binding" A Process activity does not instantiate the associated process model until the activity is run so in your case this will run the newly deployed process model 2.
mca wrote:
I want it to call the old one because the UPES step was not present when it got instantiated and it may break my code and data mappings with this addition of new steps in the enhanced project. So, is there a way for new instances to follow new code and old instances to call the old sub-process.


The only way to make this happen is to use a different name for the new subprocess.

mca wrote:
Now after further investigation, i figured out that even using -f option, the new sub-process will be instantiated. The old one will be over written.


This is moot... how you import has absolutely no effect on this. What you are seeing is entirely the result of MQWF's "late binding".
_________________
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
mca
PostPosted: Mon Nov 06, 2006 2:19 pm    Post subject: Reply with quote

Disciple

Joined: 09 Mar 2005
Posts: 196

Thanks a lot JMAC. That was my exact question and i wish i could explain like the way you did, elaborately. So, the answer to this is to change the process names and i will do that.

Will we need to change the Block names the same way that are present in process and sub-process or this rule will only apply to Process and Sub-Process, not blocks?

MCA
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
jmac
PostPosted: Mon Nov 06, 2006 2:31 pm    Post subject: Reply with quote

Jedi Knight

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

Late binding only applies to Process activities.

NOTE: My personal preference is to call these (sub)Process activities, since they always indicate you will be calling a child process.
_________________
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
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 » Workflow overwrite process
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.