Solved

Newbie in Websphere MQ and C#

Posted on 2006-11-06
9
2,225 Views
Last Modified: 2013-12-10
Hi Experts,

I'm really new in IBM Websphere MQ. May I know basically what does this IBM Websphere MQ does? I have search throught IBM websites and also codeproject, all they shows me is basically some kind of Middleware where using Message to integrate applications with applications. But yet, I still can't really get a clearer concept of what it does.
How does these applications actually been integrate with the IBM Websphere MQ? (Message sent -> Message received -> then?)
Is there any short and sharp kind of samples that I can understand what does the IBM Websphere MQ do and how does it work?
Besides this, what else it can do?

My company wish to go on with a project which uses Visual C# 2003 (MS-SQL) with this IBM Websphere MQ. I found some examples in codeproject. However, I do not seem to make it work. Is there any step by step kind of guide on the net that I can refer to (throught out the Administration and settings to Visual C# 2003 programming).


Regards,
alcksang
0
Comment
Question by:alcksang
  • 4
  • 4
9 Comments
 

Author Comment

by:alcksang
Comment Utility
Hi Experts,

Anyone?? Please Help..... T_T


Regards,
alcksang
0
 
LVL 57

Expert Comment

by:giltjr
Comment Utility
MQ is a message deliver product.  There are a couple of ways to use it.

MQ Server "local" mode.  A program writes to a queue.  MQ can then be setup to trigger another program on the same box, or another program can be scheduled and check the queue and read the queue.

MQ Server to MQ Server.  A program writes a message on a local queue, this is then forwarded to a remote queue on another server.  On the other server MQ can either trigger a process or program can be scheduled to check for messages and read then off of the queue.

MQ Server to MQ Client.  A program on the sever side writes a message to a queue.  The client must check to see if there are any messages on the queue and reads them and processes them as needed.  Or the client can write a message to a queue on the sever.  This can trigger a process or a scheduled process can check for messages.

How is MQ different from say e-mail.  MQ guarantees delivery (although it does not guarantee when, could be 1 second from now or 100 days) and guarantees integrity.
0
 

Author Comment

by:alcksang
Comment Utility
Hi giltjr,

Thanks for the reply, giltjr. Your reply really explains something. However, I've downloaded the IBM Websphere MQ Trial and installed into one of my testing server (Windows 2003 Standard). I do not seem to know how does this MQ Server works. Is there any good/short/sharp kind of tutorial or references that I can refer to? I would like to at least setup a testing ground for the MQ for a better understanding. Really meeting lots of problem with MQ even just the setting up.

What I see in the MQ Explorer are as below:
- IBM Websphere MQ
  -> QM_Test_Alcks
      -> Queues
      -> Advanced
          -> Channels
          -> Client Connections
          -> Listeners
          -> Services
          -> Process Definitions
          -> Namelists
          -> Authentication Information
  -> Queue Manager Clusters
      -> Default_Cluster
          -> Full Repositories
              -> QM_Test_Alcks
          -> Partial Respositories

I seriously do not understand what does each and every items in the MQ Explorer does. Will be really appreciate if you can help me to understand them more.

Besides, for MQ Clients, I believe there are a few of them. Mind to introduce a little more about all these clients?

Thanks in advance. Will really appreciate that.

Regards,
alcksang
0
 
LVL 57

Expert Comment

by:giltjr
Comment Utility
I have never used the MQ Explorer, I have only use MQ on z/OS (one of IBM's mainframe OS's).

You may want to try:

      http://www.redbooks.ibm.com/redpapers/pdfs/redp0021.pdf

There are really not that many clients, it just seems that way.  MQ Client can run on 35 or so different OS's/Platforms.  There is a MQ Client for Solaris, Linux on Intel, Linux on PowerPC, Linux on z/Series, OS/400, Windows, xxxBSD, MCP, and so on.  Each client is basically the same.  I think there is one unqiue client that is targeted to process information to and from handheld devices like cell phones and PDA's, which does have some restrictions that the other clients don't.

Example: MQ's maximum message size is 100MB.  Well you really don't want to send/receive 100MB of data to your cell phone, so I think that version is limited to about 32K.
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Expert Comment

by:krynnalex
Comment Utility
Hi alcksang,

Since MQ is a big stuff and I am not the one work with C#, so may be we can discuss conceptually and start from a basic beginner setting of MQ and the see what area you want to know more.

Now, I would like to start with a basic MQ server configuration and some coding concept.

In general, in a basic beginner MQ Model, there should be involving a MQ server and a MQ Client, the Server side basically with one Q Manager, one listeners, one server connection channel and for sure with a local queue. after creating all the things (you can create 'em using MQ Explorer), then start the MQ QManager, start the listener and start the Server connection channel.

And the client (java) now can create a MQ factory with context that using MQ Client API which specifying the MQ Server IP/Host Name, listener port, Q Manager name and channel name, afterwards you can prepare to create a message and put it to one specific queue that you created, and then the client should able to read it back from that queue.

If you would like to use two clients approach, then two of the client also create factory and context with binding to the same Q Manager, one put message to the queue, and the other looping to pack message from that queue.

And If you want to move one more step forward, you can create one more queue, that requester client can put message to its REQ_Q and processor client can pack message from REQ_Q. Afterwards processor client can do something on top of the message then place a reply message to the RPY_Q and requester client can pack back the processed request from RPY_Q whatever in sync or async mode.

(A place can be enhanced by using co-relation ID that to map the reply and identify what request that this reply is reply to)





0
 

Author Comment

by:alcksang
Comment Utility
Hi Krynnalex,

Thanks for the reply and sorry for my delay as I have not been able to access to the internet for the past few days.

May I know why do ppls use MQ? Normally what does MQ helps these users to do? Is it integration, communication or etc etc???

Now I have a MQ Explorer installed in my server. So preferably what client I should be using? Any link for me to download that?

Is there any short and sweet guide that I can straight away configure my MQ Explorer and work with the client? So that I can have a quick try on that?


Regards,
alcksang

0
 
LVL 57

Accepted Solution

by:
giltjr earned 500 total points
Comment Utility
I think you are going about this the wrong way.  You don't get software and then come up with a need, you have a need and then find the software that can do it.  It sort of saying, I have IIS and .net installed, now what can I do with it?  What do others do with it.

--> Is it integration, communication or etc etc???

Both.  MQ was originally developed to allow guaranteed message delivery between applications running on the same different hosts, even if the the receiving application was down or if the receiving host was down or the network was having problems.  Once the downed resource is back up the message would be delivered.  It was also designed to do over various network protocols transparently the programmer.

Prior to MQ a programmer had to program all of this into their application.  Imagine trying to write a program that could queue and send messsages using TCP/IP, IPX/SPX, NetBIOS, SNA, X.25, and so on.

What client should you use?  The one for your OS.  However, I do not beleive you can run MQ Sever and MQ Client on the same box.  So you may need two boxes.

I am not sure if there are any simple guides, as it depends on what you are going to do with it.
0
 

Author Comment

by:alcksang
Comment Utility
Hi giltjr,

Ops, sorry if I didn't explain well in my previous msg. My company have 2 senior engineers who is catering a Development project with some integration using IBM MQ. They they both resigned. And too fortunately that I been dump into this one without any knowledge about MQ. I only happen to find out this MQ server when I reach this site (I was in another department previously and it is at diff location and diff project). Also do not know why my boss choose me. Surely weird.

Okie, guess I will try out the MQ and see whether I can get myself familiar with it. Thanks all.


Regards,
alcksang

0
 
LVL 57

Expert Comment

by:giltjr
Comment Utility
Ah.  That explains it.

If you have one application/system (I will call this the generator) that must get data to a second application/system (I will call this the receiver) you have two options.  

You have MQ sever on the generator side in both options.  

On the generator side you add code (either a new program or modify existing code) to write a message with the needed information to a queue.  

Now you can either have MQ client or MQ sever on the receiver side.

With MQ Client you have to write code that runs on/in the receiver that checks for messages every so often, that is the receiver is polling for data.  This can be used if the data is not time dependent.

With MQ sever on the receiver you can setup the queue on the generator side to be a remote queue, and as soon as the generator writes the message MQ will automatically send it to the MQ sever on the receiver.  You can then setup the queue on the receiver side to trigger a process that will read the message and process the data.  This should be used if the data is time dependent and needs to be processed as soon as possible.

If you have an environment where data must be passed back and forth between two applications/systems.  Then you will need MQ sever on both of them.  Each side having at least one queue that is a remote queue on the other sever.

I am sure that IBM has a few Red books at www.redbooks.ibm.com that may help you also.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
JDBC error in Apache tomcat 6 242
Shorten long url?  Apache2 and Tomcat. 7 198
method inner class 6 80
JKS to store upstart data 2 64
This exercise is about for the following scenario: Dmgr and One node with 2 application server. Each application server contains it owns application. Application server name as follows server1 contains app1 server2 contains app1 Prereq…
There are numerous questions about how to setup an IBM HTTP Server to be administered from WebSphere Application Server administrative console. I do hope this article will wrap things up and become a reference for this task. You need three things…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now