|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
MQSeries NOOB need help |
« View previous topic :: View next topic » |
Author |
Message
|
Gotcha |
Posted: Wed Sep 12, 2007 5:24 am Post subject: MQSeries NOOB need help |
|
|
Newbie
Joined: 12 Sep 2007 Posts: 2
|
Hi,
We have a requirement to use the MQSeries as the message infrastructure. I have downloaded the trial version and obtained some sample C# code to get and Put messages to get me started.
our application will create an XML file save it locally and my wrapper ( .NET with the MQ API) will have to send the xml to an IBM Mainframe over MQ. Then a response will be sent back to our application, via the wrapper where I need to reconstruct back as an xml file.
I need to know what are the things I need to consider writing my wrapper. Example:
1. What is the minimum connection info I need? I know QUEUE Name, Queue Manager but I see that Channel Info in some example codes are required?
2.What is the default Channel Info format , for example I have installed the trial and created a Queue Manager QM_TEST and a Queue Q1. I did not see any info about the Channel Info, where do i get this?
3. Do I need to know what the message size, or is it unlimited* ?
4. Are the message fragmented and will I have to frag my request and defrag the response to a single xml ?
5.If the messages are fragmented, how can I determine which sets of fragmented messages goes together and in which order?
6. our application can request several xmls from different source (clients) and each response received will have to be returned to the right source that originated the request. Do I need to manage this association or is this implicit like an HTTP request (sorry web dev here and I can only associate to this)?
7.Are the messages received FIFO, LIFO, or random ( like TCP/IP packets)?
8. Anything else I should keep in mind when writing this wrapper ?
Sorry fo all the questions, I'm just trying to get my head around this so that I do not get any surprises later.
Thanks |
|
Back to top |
|
 |
Vitor |
Posted: Wed Sep 12, 2007 5:35 am Post subject: Re: MQSeries NOOB need help |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
You need access to some training. Tell your boss.
Moving on
Gotcha wrote: |
our application will create an XML file save it locally and my wrapper ( .NET with the MQ API) will have to send the xml to an IBM Mainframe over MQ. |
Why not get the application to interact directly? It's more efficient and eliminates the need for a wrapper. You'd also gain from access to WMQ's request/reply model.
Gotcha wrote: |
1. What is the minimum connection info I need? I know QUEUE Name, Queue Manager but I see that Channel Info in some example codes are required? |
Enough information to identify the queue manager. This can be the name if you're running server side, or slightly more if you're running (as I suspect you are) as a client. Check the Clients manual for full details of the connection methods available.
Gotcha wrote: |
2.What is the default Channel Info format , for example I have installed the trial and created a Queue Manager QM_TEST and a Queue Q1. I did not see any info about the Channel Info, where do i get this? |
There isn't, or at least shouldn't be. Ask your MQ admin what he's set up. Or if YOU'RE the admin (I notice trial version) it's what you've set up. Only applicable if you're using client, see the Clients manual.
Gotcha wrote: |
3. Do I need to know what the message size, or is it unlimited* ? |
Limited by the maximum size defined by the MQ Admin, to a limit of 100Mb. More if you code for segmentation.
Gotcha wrote: |
4. Are the message fragmented and will I have to frag my request and defrag the response to a single xml ? |
Only if you code for segmentation
Gotcha wrote: |
5.If the messages are fragmented, how can I determine which sets of fragmented messages goes together and in which order? |
See above.
Gotcha wrote: |
6. our application can request several xmls from different source (clients) and each response received will have to be returned to the right source that originated the request. Do I need to manage this association or is this implicit like an HTTP request (sorry web dev here and I can only associate to this)? |
You need to manage this. See above re: my comment on using the request/reply model.
Gotcha wrote: |
7.Are the messages received FIFO, LIFO, or random ( like TCP/IP packets)? |
FIFO, or FIFO within priority. Administrator's choice.
Gotcha wrote: |
8. Anything else I should keep in mind when writing this wrapper ? |
About 100 things. It's how people like me earning a living, thinking about them.
Seriously, it all depends on your requirements how you design it.
Gotcha wrote: |
I'm just trying to get my head around this so that I do not get any surprises later. |
I'd brace myself for surprises if I were you. Sort out some training, and hit the book. Intercommiunication will help with your associating problem, as will the Application Programming Guide. The .NET manual will provide specific code help. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 12, 2007 5:38 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Read the WebSphere MQ Application Programming Guide.
1) It depends on what type of connection you're making, a client or bindings connection. The application programming guide talks about both of these
2) It depends on what type of channel you need to create. The Intercommunications Guide talks about this.
3) It depends on if you segment or group your message. The Application Programming Guide talks about segmentation and grouping
4) It depends on if you segment or group your message. The Application Programming Guide talks about segmentation and grouping
5) It depends on if you segment or group your message. The Application Programming Guide talks about segmentation and grouping
6) The Application Programming Guide talks about how to send requests and how to receive replies
7) WebSphere MQ Queues are "queues". "Queues" are FIFO data structures, logically.
Working with files is a pain. It's better to integrate the MQ programming into the application, and not have it read and write data from files first. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Gotcha |
Posted: Wed Sep 12, 2007 5:58 am Post subject: |
|
|
Newbie
Joined: 12 Sep 2007 Posts: 2
|
Thanks for the replies....
Our application was written in a RAD tool Called MAGIC 8.3 and it does not have direct access to MQ. This is the reason I have to use a wrapper which can be called via a command line from our application.
I have used this similar process to make external HTTP calls where my application creates an XML file and I use my wrapper to POST via HTTP , receives the response back and save it back as an XML file.
I was hoping that MQ message layer can be used in a similar fashion where everything ( message segmentation, management etc) was transparent to me.
From your replies, it seems like the reality is a low level MQ programming. I will look into the reference materials like you mentioned
Is this the one http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/index.jsp?topic=/com.ibm.mq.csqzal.doc/fg14600_.htm ?
I do not have access to the real MQ Server nor the settings... I installed the trial , just to be able to test it out and see if I can write a generic module to send info back and forth. I will definitely follow up with some of the clarifications you mentioned as I now understand it better...
Thanks all for your suggestions/answers... |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Sep 12, 2007 6:16 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You can do this in a wrapper like you want.
It's just a pain to write wrappers like this, that work with files. There's very little control over who's doing what to a file at any given time. For example, you may get the file before the "sender" is done writing it... so you read the whole file, but the closing XML tag isn't there yet...
But if you've already done this for HTTP, you've come to some compromises.
You can look at XMS for .NET instead of the .NET WebSphere MQ API. It's a .NET version of JMS, that is a little higher level and may be "simpler" for you to get started with.
It's a Support Pac. http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg27007197 _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|