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] UPES FrameWork

Post new topic  Reply to topic
 [solved] UPES FrameWork « View previous topic :: View next topic » 
Author Message
mca
PostPosted: Wed Jul 13, 2005 8:10 am    Post subject: [solved] UPES FrameWork Reply with quote

Disciple

Joined: 09 Mar 2005
Posts: 196

Hi All,

In our earlier project involving WF we had an UPES step. This is monitored by a trigger monitor by the initiation Queue. When triggered it picks message form a User-defined Queue in FMCQM, parses it, does the work with the values and puts a response message back to the WF default Queue which is EXEXMLINPUTQUEUE.

Now in our upcomming project we have 2 more UPES steps. In my opinion
The trigger monitor remains the same which is already running on that box.
The Queue Manager remains same(FMCQM).
The Queue from which UPES picks messages vary. Will define some new Queue with new process definition for the trigger monitor.
The Queue to which i put back response message remains same(EXEXMLINPUTQUEUE).

When i am all set to do this, one of my collegue says, for 1 UPES step there will be 1 JVM running at a particular time. For 5 UPES steps 5 JVMs running (Worst Case) at one time. This is not good for any system performance. So, what he suggested is to have a look at UPES Framework provided by IBM which comes under single tree, like same Queues for taking and putting messages and it is well managed one after another.

When i made a search on IBM i did find an UPES frame work(fmcoupes_2.0.2.zip), but didnot understand what exactly it is.

Now my question is,
1. Is our assumption, 5 JVMs running for 5 UPES steps at one time (Worst case) correct?
2. If so, Will i have to adopt this frame work or is it OK if i go ahead with my earlier opinion which i explained earlier.

I know its been a lenthy Post but i badly need some advice in this issue. So, trying to explain what i am doing to have a better idea.

Thanks.


Last edited by mca on Sat Jul 16, 2005 9:15 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
Ratan
PostPosted: Wed Jul 13, 2005 8:36 am    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

Your approach is Ok if you do not have a lot of concurrent UPES Steps.

Otherwise using a single UPES to spawning thread for each activity request is a better approach. All your UPES activities should point to the same UPES. Your UPES program should differentitate the activity based on the ActivityName and invoke the appropriate programs which implement it.
_________________
-Ratan
Back to top
View user's profile Send private message Send e-mail
mca
PostPosted: Wed Jul 13, 2005 8:46 am    Post subject: Reply with quote

Disciple

Joined: 09 Mar 2005
Posts: 196

Thans Ratan for the prompt reply.

Quote:

if you do not have a "lot" of concurrent UPES Steps

Can you please appro. suggest a number for "lot" on AIX 5.2 box.

Also is my assumption of 5 JVMs running for 5 seperate UPES Steps correct which are running under one trigger monitor.

Thanks again.
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
vennela
PostPosted: Wed Jul 13, 2005 9:05 am    Post subject: Reply with quote

Jedi Knight

Joined: 11 Aug 2002
Posts: 4055
Location: Hyderabad, India

If you have 5 queues for 5 UPES activities, then you will have 5 jvms which is true.
But, what Ratan is suggesting you is: You define one queue for all the 5 UPES activites and that one queue will get all the UPES activity XML messages. Now the program that is triggered, should be able to handle 5 different types of activity messages.

Other than running the samles using framework, I have not done much. But UPES framework does exactly what is described above You will have to use the UPES framework API to do what you have to.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jmac
PostPosted: Wed Jul 13, 2005 11:38 am    Post subject: Reply with quote

Jedi Knight

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

My two cents on this:

I prefer to have each UPES Activity have its own queue.

I have only played with the IBM Upes Framework, these days I use the EmeriCon developed framework which handles all of the "background" chores (i.e deals with MQ, the parsing, transactional processing etc). And allows me to quickly write any UPES by coding a single class.

Of course, I am somewhat biased, but I think the EmeriCon framework makes UPES implementation quite easy, and I am sure I could convince someone to contact you with information on the framework should you desire
_________________
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
hos
PostPosted: Wed Jul 13, 2005 10:58 pm    Post subject: Reply with quote

Chevalier

Joined: 03 Feb 2002
Posts: 470

OK, another two (€-) cent from me:
in my opinion what Venella said is correct. That does not mean that you have to use the IBM UPES framework - although it comes for free

What I often see is that users start/test with few load on the system and once the program is in production the load increases over time and the program is not designed for it and has to be redesigned.

I would avoid to run multiple JVMs and spent the additional design effort at the beginning of the project. That means design a multithreaded UPES that is capable to handle multiple parallel requests for multiple activity instances. The UPES framework just helps you by providing the basic classes to communicate with MQ and MQWF, that's all it does.

Having such a general purpose UPES available you can still decide to use different queues / UPES instances for different activities.
Back to top
View user's profile Send private message
mca
PostPosted: Thu Jul 14, 2005 7:20 am    Post subject: Reply with quote

Disciple

Joined: 09 Mar 2005
Posts: 196

Thanks all for these wonderful replies.

Now its clear for me. But i still have 1 question. As told, i am putting all messages of 3 UPES steps belonging to 1 project on 1 queue and differentiating them by their activity names. I am doing this differentiation in MQGet after picking message from Queue.

If i have 5 UPES steps in next project pointing out to the same queue discussed earlier, then i guess i will have to change my MQGet program to take 5 more different path from there basing on activity names and business logic. That means i am changing the code of a program that is triggered when message comes on this Queue and this code(MQGet) is already in production for the before project. Is this a good approach to do it in this way?
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo Messenger
Ratan
PostPosted: Thu Jul 14, 2005 2:42 pm    Post subject: Reply with quote

Grand Master

Joined: 18 Jul 2002
Posts: 1245

Quote:
If i have 5 UPES steps in next project pointing out to the same queue discussed earlier, then i guess i will have to change my MQGet program to take 5 more different path from there basing on activity names and business logic. That means i am changing the code of a program that is triggered when message comes on this Queue and this code(MQGet) is already in production for the before project. Is this a good approach to do it in this way?


Looks like you are hard coding your Activity Names and Class that needs to be invoked. Any type of hard coding is bad.

Use a config file to list your activity names and the Java Class that implements it. Your MQGET Program needs to get the info from the config file. This way if you have a new UPES, all you do is add the entry in the config file (Ofcourse you have to implement its business logic).
_________________
-Ratan
Back to top
View user's profile Send private message Send e-mail
mca
PostPosted: Sat Jul 16, 2005 9:15 am    Post subject: Reply with quote

Disciple

Joined: 09 Mar 2005
Posts: 196

thanks ratan, this information helps.
Back to top
View user's profile Send private message Send e-mail AIM Address Yahoo 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 » [solved] UPES FrameWork
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.