Author |
Message
|
HachavBanav |
Posted: Tue May 15, 2007 5:58 am Post subject: Architecture/Use of JMSAPI from a JMS server or a MQ Client? |
|
|
Newbie
Joined: 14 May 2007 Posts: 8
|
Dear all,
I have an application using WebSphere MQ through "IBM WebSphere MQ compiled header files 5.3" which assumes the MQ server is locally running.
I want this application to execute on more than 1 server and I am looking for a client side MQ API set to send (or send-receive) MQ msg.
Searching in those great forums, I found some solutions I need some more info about:
bad1) Install MQ Client v6.0.2.1 + AMI 1.2.5 + Embed AMI 1.2.5 header files in my app
==> AMI is unsupported by IBM since 2003 ... no way
bad2) Install MQ Client v6.0.2.1 + XMS + Embed XMS header files in my app
==> One told me "too proprietary system. Use JMS instead" ... no way
a) Install MQ Client v6.0.2.1 + Embed JMS class in my app through latest JRE
==> A JVM can not connect to more than 1 MQ server but i am ok with that as soon as I can send to any queue on that MQ server
b) Install a JMS server on my current MQ server + Embed JMS class in my app through latest JRE
==> More scaleable and expandeable way to do the same thing
Can you help me to get to the right choice (c or c' soluce if needed ) by pointing out what can be done (or not) ?
I am sure that I don't understand correctly the architecture of those MQ through JMS messaging system...
Thanks for reading anyway
Best regards
Bruno |
|
Back to top |
|
 |
Vitor |
Posted: Tue May 15, 2007 6:10 am Post subject: Re: Architecture/Use of JMSAPI from a JMS server or a MQ Cli |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
HachavBanav wrote: |
bad2) Install MQ Client v6.0.2.1 + XMS + Embed XMS header files in my app
==> One told me "too proprietary system. Use JMS instead" ... no way
|
Well, if you've already committed to using IBM's WMQ (rather than some other messaging platform), what's the problem with using IBM's XMS? Granted it's proprietory, but then so's WMQ. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
HachavBanav |
Posted: Tue May 15, 2007 9:04 am Post subject: zBoss said so... |
|
|
Newbie
Joined: 14 May 2007 Posts: 8
|
Vitor wrote: |
...what's the problem with using IBM's XMS? Granted it's proprietory, but then so's WMQ. |
JMS is useable on any transport middleware while XMS is not... |
|
Back to top |
|
 |
Michael Dag |
Posted: Tue May 15, 2007 9:16 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
|
Back to top |
|
 |
HachavBanav |
Posted: Tue May 15, 2007 10:19 am Post subject: |
|
|
Newbie
Joined: 14 May 2007 Posts: 8
|
Michael Dag wrote: |
what's your application written in today? |
C/C++ but there are already modules to use Java objects. |
|
Back to top |
|
 |
Michael Dag |
Posted: Tue May 15, 2007 10:24 am Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
HachavBanav wrote: |
Michael Dag wrote: |
what's your application written in today? |
C/C++ but there are already modules to use Java objects. |
from C/C++ you can also link the the MQ Client libraries and simply use the current program as is to connect to MQServer via a Client connection.
what did you mean with "IBM WebSphere MQ compiled header files 5.3" anyway, where did you get them from? _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
HachavBanav |
Posted: Tue May 15, 2007 10:41 am Post subject: |
|
|
Newbie
Joined: 14 May 2007 Posts: 8
|
Michael Dag wrote: |
from C/C++ you can also link the MQ Client libraries and simply use the current program as is to connect to MQServer via a Client connection.
what did you mean with "IBM WebSphere MQ compiled header files 5.3" anyway, where did you get them from? |
I thought that calling a MQ server from a MQ client requires AMI, XMS or JMS API...was I wrong ?
Actually, my app is linked using the MQ server prototypes and I don't want to modify that specific part which makes sense in the overall program. |
|
Back to top |
|
 |
HachavBanav |
Posted: Tue May 15, 2007 10:43 am Post subject: |
|
|
Newbie
Joined: 14 May 2007 Posts: 8
|
Is there anything wrong using JMS ?
I would like to use JMS but I am not clear about having a JMS server or not...please stop asking me to try to compile with XMS, AMI or anything else than JMS api or explain me why to do so. |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue May 15, 2007 10:46 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You can't use JMS from C/C++ unless you embed Java.
If you're going to do that, you might as well just do everything in Java from the first place. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
HachavBanav |
Posted: Tue May 15, 2007 11:06 am Post subject: |
|
|
Newbie
Joined: 14 May 2007 Posts: 8
|
jefflowrey wrote: |
You can't use JMS from C/C++ unless you embed Java. |
Correct but using Java objects is already possible
jefflowrey wrote: |
If you're going to do that, you might as well just do everything in Java from the first place. |
I can not rewrite all code just to allow MQ transport from a MQ client  |
|
Back to top |
|
 |
Michael Dag |
Posted: Tue May 15, 2007 12:07 pm Post subject: |
|
|
 Jedi Knight
Joined: 13 Jun 2002 Posts: 2607 Location: The Netherlands (Amsterdam)
|
Like Jeff said, to us it makes no sense trying to use Java/JMS from C/C++
we are only trying to help, yet you seem to know what you want and how you want to do it... so lookup some jms client samples and embed those the same way as you did with the jms server code...
it's not good practice to 'embed' mq or jms libraries with your application,
if this is something commercial you might even get a problem with IBM.
you should have 2 versions of your program, one that uses the mq jms server bindings and one that uses the mq jms client
I don't know if you mean by embed to actually use what is on the machine or whether you mean put the mq jms libraries in your application...
so if I misunderstood you, then I am sorry, but this is just what I interpreted from your questions... _________________ Michael
MQSystems Facebook page |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue May 15, 2007 7:24 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Quote: |
a) Install MQ Client v6.0.2.1 + Embed JMS class in my app through latest JRE
==> A JVM can not connect to more than 1 MQ server but i am ok with that as soon as I can send to any queue on that MQ server |
Wrong -
A JVM cannot connect to more than 1 MQ server at a time if using Bindings transport (JRE and MQ Server on same machine)
A JVM can connect to multiple MQ servers if in client connection. (need extended transactional client if you need MQ to be TM for multiple phase commit, only web certified TMs are WAS and WebLogic in the distributed env)
If your core app is written in C/C++ I would use XMS and not java.
If your core app is written in java I would use JMS.
Finally you can use the C/C++ apis to connect to MQ. But if you have to deal with JMS headers or pub/sub I would still advise to use XMS...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
HachavBanav |
Posted: Tue May 15, 2007 11:40 pm Post subject: |
|
|
Newbie
Joined: 14 May 2007 Posts: 8
|
Thanks for all your replies, I really appreciate.
May be I can clarify my architecture:
-1 is dedicated to MQ receivers and got a MQ Server on it
-others are used as front machines to my users and may send (or send-receive) MQ msg through the dedicated MQ server
My favourite solution is to install MQ Client 6.0.2.1 on front servers and use JMS classes to post to MQ instead of AMI or XMS api.
==> Does this makes senses , do I need to install an Application server to support JMS from MQ, do you see any restriction (assuming I would not use more than 1 MQ server but I may simulteaneously use many threads on different queues) ? |
|
Back to top |
|
 |
HachavBanav |
Posted: Tue May 22, 2007 12:37 am Post subject: |
|
|
Newbie
Joined: 14 May 2007 Posts: 8
|
I am still confused in the software installation requirements to support JMS from a MQ server bas installation, does anyone can help me ? |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue May 22, 2007 12:37 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
HachavBanav wrote: |
I am still confused in the software installation requirements to support JMS from a MQ server bas installation, does anyone can help me ? |
Installing the Java / JMS classes is not default behavior. You need to look at the advanced install features and make sure Java is selected....  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|