Author |
Message
|
Vladimir |
Posted: Fri Nov 22, 2002 1:26 pm Post subject: Java program launch: UPES vs. JHPB |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
Hi, All
I want to discuss with everybody current dilemma that we have in our project.
In short it is: What is better to use if you want to launch Java program under WF: UPES or JHPB?
In details:
Most of our programs are Java classes and we use UPES running that launces these classes upon WF request, but I really want to switch to Java High Performance Bridge (JHPB) for launching our programs.
Why? Here are the reasons I have:
1. Programs are launch sequentially under UPES
2. Using JHPB logon to the WF API will be faster (because it can use PEA credentials)
3. With UPES - we have our own service running on the box - another unnecessary piece to support.
If anybody has any Pro and Con for this dilemma - your input will be really appreciated.  |
|
Back to top |
|
 |
jmac |
Posted: Fri Nov 22, 2002 1:59 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
UPES is the only way to go as it is IBM's stated direction.
JHPB requires a PEA, and PEA has been known to cause difficulties in the past.
Quote: |
1. Programs are launch sequentially under UPES |
I am not sure I understand what you mean by this, but I think the same limitiation applies to JHPB.
Quote: |
2. Using JHPB logon to the WF API will be faster (because it can use PEA credentials) |
Why does the activity need to logon in the first place? Even if it does, the UPES Service could be coded in such a way that it only issues a logon if necessary.
Quote: |
3. With UPES - we have our own service running on the box - another unnecessary piece to support. |
But you control that service and can continually improve it, as opposed to the JHPB which is not that widely used IMO and fairly static. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Vladimir |
Posted: Fri Nov 22, 2002 6:53 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
jmac wrote: |
UPES is the only way to go as it is IBM's stated direction. |
John, could you, please refer me to some IBM document on this statement?
jmac wrote: |
JHPB requires a PEA, and PEA has been known to cause difficulties in the past. |
Could you, please, give me examples of these problems or point to the place where I can find information about them.
Quote: |
1. Programs are launch sequentially under UPES |
I will try to explain my statement. Example:
- WF has a process started somehow
- WF sends a message to UPES queue
- UPES picks this message, parses and start a program that is specified in the message
- when program is finished UPES sends a reply to the WF input queue
That is or design at least and we use XML API for messages.
Now, if you want to make UPES really usefull you have to:
- support starting activities in separate threads (that will run activities in parallel)
- add expiration message handling
- add termination message handling
- (may be some other features I can't remember right now)
But, exactly this is already implemented in JHPB. Why should I even try to rewrite their code? They created it, tested, have support team for it, I paid for this all - why shouldn't I use it?
JHPB starts classes in separate threads - so, they are running in parallel.
Quote: |
Why does the activity need to logon in the first place? Even if it does, the UPES Service could be coded in such a way that it only issues a logon if necessary. |
In our design a lot of programs (almost all of them) have to log on to WF API, because we need to find some WF specific data, like Top-most process ID.
Quote: |
But you control that service and can continually improve it, as opposed to the JHPB which is not that widely used IMO and fairly static. |
My approach is: do not spend time if somebody already spent it creating the same thing you want to create. I prefer to create things that are not done yet and not to re-do some one's code, especially when I know that I can ask them to improve it.
That's why I prefer to have IBM service to be running on my box, not mine and they to be called in emergency, not me. I will do opposite only the are is a really-really-really good reason to do this.
That's why I brought up this question here - I want to find this exact reason (if it exists, of course).  |
|
Back to top |
|
 |
manoj |
Posted: Fri Nov 22, 2002 8:30 pm Post subject: |
|
|
 Master
Joined: 30 Jan 2002 Posts: 237 Location: Virgina
|
One tip, If u r using message driven beans for UPES then u can run things parallely. i.e multiple instances of the bean can listen to the queue and process messages. U can 've transaction as well.
-manoj _________________ -manoj |
|
Back to top |
|
 |
Vladimir |
Posted: Fri Nov 22, 2002 10:29 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
manoj wrote: |
... If u r using message driven beans for UPES then u can run things parallely... |
Yes, I am sure - there are a lot of designs how UPES can start programs in parallel, but my point - why should I implement them if it is already done and it is part of the product. I do not see any benefit from doing this... |
|
Back to top |
|
 |
jmac |
Posted: Sat Nov 23, 2002 6:06 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Quote: |
John, could you, please refer me to some IBM document on this statement? |
I know of no document, but simply have a look at the ibm newsgroup, I remember for sure a statement by Wolfgang Kuhlanek to this effect... Better yet, simply post a question and wait for the Developers to respond.
Quote: |
Could you, please, give me examples of these problems or point to the place where I can find information about them |
Prior to V320 the UNIX verstions of the PEA would die for no reason... This is why we wrote a Framework to deal with UPES (and other) message handling tasks as soon as the UPES implementation was avaialble. Hopefully we will hear from some of the old users who can verify this.
Quote: |
Now, if you want to make UPES really usefull you have to:
- support starting activities in separate threads (that will run activities in parallel)
- add expiration message handling
- add termination message handling
- (may be some other features I can't remember right now) |
This is exactly what the SYSCOM Message Handler does. Of course I think its a great tool, but then again I work for SYSCOM. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Vladimir |
Posted: Sun Nov 24, 2002 8:03 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
jmac wrote: |
...simply have a look at the ibm newsgroup... |
John,
This doesn't work for me, sorry... I need official document or message from IBM. Otherwise I will start pestering them with fixes for PEA and JHPB.
jmac wrote: |
Prior to V320 the UNIX verstions of the PEA would die for no reason... |
I hope they fixed this problems in 332.
But this bug for me doesn't look like a good reason to rewrite their code anyway.
jmac wrote: |
...This is exactly what the SYSCOM Message Handler does. |
But I do not want to write my own handler (as well as buy third-party one ). Nobody will approve these expences unless IBM says "JHPB doesn't work and we can't fix it".  |
|
Back to top |
|
 |
jmac |
Posted: Mon Nov 25, 2002 4:55 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Vladimir:
I would definitly post to the IBM newsgroup if I were you to get them to make a statement. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Vladimir |
Posted: Mon Nov 25, 2002 12:11 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
John,
I will do this, for sure. But I will do it a little bit later when we actually get this feature on the project plan. It was postponed a little bit.
Here, in this topic, I am trying to understand - should we ever consider moving to JHPB?
As far as I hear right now there were some outstanding issues with this design in some old releases of WF. And these are the only issues that we should keep in mind. No other resons to keep using UPES for Java program invocations so far. Correct?  |
|
Back to top |
|
 |
jmac |
Posted: Mon Nov 25, 2002 12:17 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
I would always avoid trying to implement something that not too many others are using... especially when rumor has it that this facility (PEA) is going to not be so important in the future.
If I were you I would ensure that IBM has a future for the PEA before I wasted any time on the JHPB.
GOOD LUCK _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Vladimir |
Posted: Mon Nov 25, 2002 5:15 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
John,
I agree with you and as I said I will use all our contacts with IBM before we go this direction, but thinking long-term I am sure they will have something like JHPB (or JHPB itself) supported in future. And the thing that allows me to think so is IBM strategic direction - it is WebShere.
As you know they are migrating MQWF into WebSphere and guess what is the core language used there? Yes, you are right - it is Java. It means that they must have some easy way to launch Java classes from within WF and I am pretty sure it will be something similar to JHPB, not UPES (although I am sure too that UPES will be supported too for some complex or non-Java solutions). Is there any flaw in my conclusions here?  |
|
Back to top |
|
 |
jmac |
Posted: Tue Nov 26, 2002 4:40 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Vladimir:
I am in total agreement with everthing you said... The easy way to lauch Java apps already exists it is called a UPES.
BTW... one other drawback of PEA is you can not have your application participate in the MQWF Transaction, but with UPES you can. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Vladimir |
Posted: Tue Nov 26, 2002 9:49 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
John,
UPES implies your own service, code, message handlers, etc...
It is not "an easy way"... It is "write a product and then you will be able to use WF" way...
And about transactions (we are not using them, but anyway) - is really true? I do not understand why it is working that way then... Could you, please, again give me some hints where this problem is described?  |
|
Back to top |
|
 |
jmac |
Posted: Wed Nov 27, 2002 5:57 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
Vladimir:
I am not sure where it is documented... but it is a fact that the PEA itself is transacted, but the processes that it spawns to handle activities do not participate. It might be in the programming guide. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
Vladimir |
Posted: Wed Nov 27, 2002 3:20 pm Post subject: |
|
|
 Acolyte
Joined: 14 Nov 2002 Posts: 73 Location: USA, CA, Bay Area
|
John,
Thanks, I will keep it in mind... It's a good point...  |
|
Back to top |
|
 |
|