Author |
Message
|
amigupta1978 |
Posted: Mon Apr 22, 2002 8:19 pm Post subject: |
|
|
Centurion
Joined: 22 Jan 2002 Posts: 132 Location: India
|
Hi,
I have one issue regarding the use of MQSI as a workflow engine. Since till (v2.0), we were not able to control the MQSI flow if we have to wait for some sort of the reply from the different application, but now after that Aggregate node is come into picture, is it advisable that we could use WMQI as a proper workflow in which we send some request messages (say may be to more than one system at a time) and then wait the responses from the different systems and then process. (Althiugh I have just a very superficial knowledge of MQ Workflow, but these are the things that are supposrted in MQ Workflow too that our process can wait for some of the reply from external systems).
Can some body please give suggestions ??
Thanks and Regards,
Amit |
|
Back to top |
|
 |
vedbhat |
Posted: Mon Apr 22, 2002 8:50 pm Post subject: |
|
|
 Disciple
Joined: 19 Mar 2002 Posts: 186 Location: Singapore
|
Hi,
As you mentioned MQSI can be used in these situations but functionality of MQSeries is different. MQWF is used to automate/reduce the processing time by connecting the application running on various platforms and numerous people involved in it. If you need more informations about MQWF please let me know.
Cheers
Ved |
|
Back to top |
|
 |
amigupta1978 |
Posted: Mon Apr 22, 2002 10:10 pm Post subject: |
|
|
Centurion
Joined: 22 Jan 2002 Posts: 132 Location: India
|
Hi,
I have used MQ Workflow in one of our test projects in which we just created the processes and assigned the roles to user which in turn have the process with them and execute the process objects. But I am quite confused on the scenario that MQSI could now be used as some sort of workflow, so if we have to propose a solution to the client then what all factors needs to be taken in account if we say them when to use MQ Workflow and when to use MQSI, (since I think now if we define triggers on various queues where we are passing the messages to them we can in a way emulate a sort of workflow using MQSI)
Can you please elaborate more on this.
Regards,
Amit
mailid: amigupta1978@yahoo.com |
|
Back to top |
|
 |
vedbhat |
Posted: Mon Apr 22, 2002 10:48 pm Post subject: |
|
|
 Disciple
Joined: 19 Mar 2002 Posts: 186 Location: Singapore
|
Hi,
MQSI is normally used for data transformation and routing where as MQWF is used when you want to integrate various application running on different platforms and restrict the user involved in processing.
When you use MQSI, you actually dont have Users involved in it. When using MQWF, you have either users involved/automatic activities(Update database, Send email etc etc).
If you want to know about MQWF, Look into the Redbook - "MQSeries Workflow for Windows NT for Beginners".
I hope this will clear your mis-understanding.
Regards
Ved |
|
Back to top |
|
 |
mqArch |
Posted: Mon Apr 29, 2002 8:00 am Post subject: |
|
|
Newbie
Joined: 25 Feb 2002 Posts: 3
|
MQSI is an Integration/EAI product , which provides Routing , Rules Processing , Formating etc. , while MQWF is a Workflow product that just happens to use MQSeries internally as a communication protocol.
If you are still confused about the difference , chances are that you need quick crash courses (101 in one hour) in both Workflow and EAI.
Hope this helped |
|
Back to top |
|
 |
genestep |
Posted: Mon Apr 29, 2002 10:51 am Post subject: |
|
|
Apprentice
Joined: 16 Apr 2002 Posts: 43 Location: France
|
Hi
Is a request / reply communication between application is really a workflow ?
Perhaps MQSI could be use for "technical workflow" like request/response without any user actions. Utilization of MQWF may be more for business workflow with user intervention or complicated processes between applications.
For example, i need in a CADDS application to search data in referentials managed by other applications. I need routage and data transformation to exchange data, but i need request/reply mode. Is is a good idea to use MQSI ??
Thanks
Philippe |
|
Back to top |
|
 |
amigupta1978 |
Posted: Mon Apr 29, 2002 9:43 pm Post subject: |
|
|
Centurion
Joined: 22 Jan 2002 Posts: 132 Location: India
|
Hi,
Thnks for all the replies(and thnx for suggesting some crash courses).
That exactly my question was. I am trying to integrate EAI applications using request reply scenario but I know sometimes the reply to a particular request will take time, so I cant wait for the reply in the same flow. But still I need all the message translations/routing etc. I just wanna know in this type of scenarios how shud we approach??
Regards
Amit |
|
Back to top |
|
 |
mpuetz |
Posted: Sun May 05, 2002 8:08 am Post subject: |
|
|
Centurion
Joined: 05 Jul 2001 Posts: 149 Location: IBM/Central WebSphere Services
|
Hi,
the answer, whether to use MQSI or MQWF is difficult find.
MQSI base functionality doesn't support stateful long running
transactions. But this is only part of the answer since you can
use MQSI's ODBC database connectivity and easily create a stateful
broker which has memory on transactions which happened in the
past.
A typical example:
Request - Reply with transformation for both request and reply
A -> MQSI(flow 1) -> B -> MQSI(flow 2) -> A
MQSI at least needs to persist the REPLY_TO parameters of the
message from A and replace it with it's own REPLY_TO parameters
for the reply flow 2. flow 2 then needs to recover the REPLY_TO
parameters of the inital request msg from A to find the correct
destination.
Typically you would have to store this data in a database (or in
case of a non-persistent scenario in a non-persistant postit
using the postit plugin).
More often than not you would have to store some data from the original
message as well, which you need later to complete the reply mapping.
Sometimes the MQ adapter of the Appl. B doesn't suport the request-reply
model of MQSeries at all and you need a different key than the MsgId
to find the request data (e.g. an order number or somthing like that).
With MQSI 2.1 aggregation nodes these scenarios can be handled quite
elegantly by send the original message as request to flow 2 immediately
(you have to set the correl_id to the msg_id for that to work).
If this is all the 'workflow capability' you need, my advice is to go with MQSI. This is easy enough to implement
and a workflow engine doesn't offer enough added value for the money.
If you have more requirements (like auditing, human interactions,
escalation and notification, long running transactions)
match them against the capabilities
that your favourite workflow engine, e.g. MQWF or Crossworlds ICS,
offers out of the box. Using MQSI's database connectivity you can
convert MQSI into an almost fully fledged workflow engine if you prefer,
but it will require weeks or probably months of careful database and flow design
to do so. There is no simple answer as to which will serve you better.
You must carefully analyse your scenarios and estimate how much it will
cost you in terms of development time and match that to the additional
cost for implementation/training/licenses/support and maintenance for a
workflow engine. In practice, more often than not, the established skill base
decides this question, although this sometimes a bit short-sighted.
If you are in the fortunate situation to have both MQSI and MQWF at your hands
you still have to make decisions about which product to use for what functionality. Again, not easy to answer, since there is some overlap
in functionality. My advice here is to let the non-functional requirements
guide you. Some examples:
- online changes of crucial flow parameters -> use workflow
- auditing necessary -> use workflow
- low latency required -> use MQSI
- non-peristant high performance -> use MQSI (with postit plugin)
- long running TX (over several hours or days) -> use workflow
_________________ Mathias Puetz
IBM/Central WebSphere Services
WebSphere Business Integration Specialist |
|
Back to top |
|
 |
amigupta1978 |
Posted: Mon May 06, 2002 12:17 am Post subject: |
|
|
Centurion
Joined: 22 Jan 2002 Posts: 132 Location: India
|
Hi,
Thnx for such a elaborate answer. This really solved my many queries.
Regards,
Amit |
|
Back to top |
|
 |
|