Author |
Message
|
DragonFist |
Posted: Wed Feb 11, 2004 11:41 am Post subject: JAVA UPES |
|
|
 Acolyte
Joined: 11 Nov 2003 Posts: 52
|
Hello All
Is there a way where we can write our own UPES in JAVA and use it in workflow. If so , how can we do it...Any suggestions ...
thx in Advance _________________ DragonFist |
|
Back to top |
|
 |
Ratan |
Posted: Wed Feb 11, 2004 12:45 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
ofcourse. Refer to Programming Guide: XML Message Interface.
Ask if you have any specific questions. _________________ -Ratan |
|
Back to top |
|
 |
DragonFist |
Posted: Wed Feb 11, 2004 1:20 pm Post subject: |
|
|
 Acolyte
Joined: 11 Nov 2003 Posts: 52
|
i did referred it ratan. we usually define UPES in workflow buildtime to extract the message from the input queue and to invoke a program activity within MQWorkflow. In my scenario, I wrote a program that puts an xml message on the EXEXMLINPUTQ , the workflow picks it up and invokes the corresponding program activity. its all fine for now. We create a UPES in buildtime, by clicking on network tab and FMCSYS and then by selecting NEW UPES server. Instead of this, can we write our own UPES in Java and use it in buildtime. Or am i getting the concept wrong.My boss is eating my head over this. Lemme know if we can do it. If so just guide me to any sample code that might be available to do this. I would appreciate ur help.
Thx in Advance _________________ DragonFist |
|
Back to top |
|
 |
vennela |
Posted: Wed Feb 11, 2004 1:30 pm Post subject: |
|
|
 Jedi Knight
Joined: 11 Aug 2002 Posts: 4055 Location: Hyderabad, India
|
Quote: |
by clicking on network tab and FMCSYS and then by selecting NEW UPES server. ........ |
so far you got the concept right.
What happens after that.
Now you have defined a UPES server in buildtime. When you do so, you must specify a Queue Name (and optioanlly a QMGR name which if you don't it will default to the local QMGR).
When you define a workflow process, you identify an activity to be a UPES activity which can be run unattended. You goto the Executon tab of the activity properties and select the UPES.
When you start your process when workflow comes to that activity, an XML message will be put to that queue. The format of the XML message that will be put is explained in the XML interface of the Prog guide. So far everything is same
How you GET the message and PUT a reply is where the difference comes. You use Java or C or COBOL to GET the message and PUT the message is upto you. There is nothing like "own java UPES server". When somebody says that then the GET and PUT programs are written in Java.
Usually you GET the message, do something useful (maybe a database query), populate the output container information and form an appropriate XML message and PUT it in EXEXMLINPUTQ (not the UPES queue). |
|
Back to top |
|
 |
Ratan |
Posted: Wed Feb 11, 2004 3:43 pm Post subject: |
|
|
 Grand Master
Joined: 18 Jul 2002 Posts: 1245
|
Quote: |
Instead of this, can we write our own UPES in Java and use it in buildtime |
If Venny's reply doesnot clear your doubts :-
For Workflow Server UPES is just an MQ Queue/ MQ QM.
Workflow server (Execution Server) put an <ActImpInvoke> XML message in this Queue and if Synchronous waits for the response.
You write a Server which keeps listening to this Queue (in any language that can access MQ Qs), reads the recieved XML, takes corresponding action and reply back <ActImplInvokeResponse> message back to WF.
Bottomline: What you do in buildtime is only specifying where the Invoke message should go to. _________________ -Ratan |
|
Back to top |
|
 |
jmac |
Posted: Wed Feb 11, 2004 5:04 pm Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
DragonFist wrote: |
I wrote a program that puts an xml message on the EXEXMLINPUTQ , the workflow picks it up and invokes the corresponding program activity |
Not sure I understand what you are saying here.. for a UPES the Workflow engine generates a message that it puts out on your UPES queue....as Venny and Ratan have said, what you need to do is to write a Listener that listens to the qm/queue you have specified for your UPES and then responds with the proper ActivityImplInvokeResponse message. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
jpmorales |
Posted: Thu Feb 12, 2004 4:49 am Post subject: |
|
|
 Novice
Joined: 13 Nov 2003 Posts: 21 Location: Bogotá, Colombia
|
|
Back to top |
|
 |
smallsunw |
Posted: Sat Feb 21, 2004 1:12 am Post subject: Java UPES |
|
|
Newbie
Joined: 21 Feb 2004 Posts: 8
|
I don't understand what is the difference between writing my own Java UPES and using the UPES in buildtime? And if I use a a Java UPES how does the UPES know the program to be executed is a java program(or it must be a java program)?
Thanks. |
|
Back to top |
|
 |
jmac |
Posted: Sat Feb 21, 2004 6:04 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Jun 2001 Posts: 3081 Location: EmeriCon, LLC
|
There is NO Upes in Buildtime, you always write your own and Register it in Buildtime. _________________ John McDonald
RETIRED |
|
Back to top |
|
 |
|