Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

C -vs- Java

Status
Not open for further replies.

Millerca

Programmer
Jan 15, 2003
4
US
I am looking at needing to rewrite our MQ applications from Object Rexx to a supported language such as C or Java. Our orginal applications were developed by a consultant using the MA77 service pack. I have some questions to ask that I am hoping someone here can help with.

Some basic background:
- Application developers do not have any experience with C or Java.
- Application developers are former Cobol OS/390 developers
- Goal is to use Pub/Sub in the future to send XML messages to various systems (some are Unix based others Windows) in place of their old Mainframe feeds. Publisher will be Windows based.
- Object Rexx (atleast our understanding of this) does not support Pub/Sub
- Object Rexx is not a officially accepted language for use with MQSeries
- For processing from Siebel to OS/390 legacy and back to Siebel with a reply time is critical.
- We do not plan to use MQSI

And the questions:
1) What are the pro's and con's of C -vs- Java for development in a point to point environment?

2) C -vs- Java using Pub/Sub?

3) Does Pub/Sub using Java require the use of JMS?

4) Are there any tutorials/training for Pub/Sub other than the MA0D and MA0C?

5) In the example C program I have been looking at it does not connect to a remote queue manager only to the local on my machine. Can C connect to a remote queue manager? If so, where would I find an example?


I know this is alot of questions but I am trying to get answers for my management to help guide our direction. I did find a tutorial on IBM's site for pub/sub which is in C and have been trying to figure out what it is doing. Since I haven't had any training in this alone is a challenge

Thanks,

Cat Miller


ps: Another new language suggested for me to consider is C#. Is this an officially supported language or would it put us in the same boat at Rexx did in not being a support language.
 
1. Personal preference and experience. As with everything else, C gives you performance and access to the lower levels of programming if you need it, Java gives you speed of development, OOP. For my money there is very little to choose between these for general purpose MQ programming.

2. Any programming language that can put and get a message can use MQ PubSub. There is no specific PubSub API (unless you choose to use JMS or AMI). To use the PubSub features you need to create a normal MQ message which contains the correct MQRFH header. This header contains the commands and options to publish a message, subscribe, unsubscribe to a topic etc.

3. No - see answer 2. JMS provides specific classes to use PubSub but you don't need to use them.

4. None that I have come across but once you manage to write a working BuildRFH() function/class the rest is pretty straightforward.

5. The identical code should work using an MQ client connection to connect to a remote QMgr - you just need to link the executable with the client library instead of the server one. However, if the code is running on an OS/390 or zOs system you can only connect to the local Queue Manager. You could still participate in topics published on remote QMgrs however by linking the PubSub brokers. Check out the manual for support pac MA0C for details.

P.S. I believe that C# support is unofficial.

Cheers,
Paul
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top