Pmi Client is not created while using with sun java instead of IBM java - websphere

My task to monitor the IBM Websphere through pmi client.Pmi client is an agent provided by the IBM to get MBeans and is running under IBM Java. I tried it to run under Sun java. But, it fails to create the Pmiclient. Did Anyone come across this issue?

The IBM JRE has slightly customized classes. This is unfortunately not uncommon with PMI (and also JMX by the way) when working with different WebSphere Application Server versions.
There are hacks around involving copying the relevant IBM implementations and running them with the Sun/Oracle JRE but I don't think that is valid according to the licensing terms. What you really should do is to use the IBM provided JRE.
If you want a riskless shortcut you will build an applicaton (perhaps EJB or servlets) that runs on the WebSphere Application Server and exposes the results from PMI via custom interface. For instance web service.

Related

Can I start a standalone instance of JMS MQ Server for testing?

Java.
I had to port away from the Proton MQ library to the IBM one. I had written a dummy MQ server to run jUnit tests against but I cannot see any way to achieve something similar with IBM MQ. To me it seems that it requires a standalone server and a license. Is that the case? Are there any lightweight alternatives usable for jUnit?
They mention that there is an IVTRun application which is actually just a wrapper over MQJMSIVT.class. Decompiling inside, I don't see anything that can start an actual server/queue manager. See this: https://www.ibm.com/docs/en/ibm-mq/9.2?topic=jms-point-point-ivt-mq-classes
You can run MQ natively, in a container or in the cloud. The container option lends itself to automated testing as the set up and start can be automated.
For detailed instructions see https://developer.ibm.com/series/mq-ready-set-connect/

Client jar file version for IBM MQ7 and MQ8

Our product will support IBM MQ7 and MQ8 based on client requirement. Now, we like to know latest client jar version that we may use for our application?
We would like to use JMS 1.1 specification. I have found following link for MQ 7.5 JAR-
http://www.ibm.com/support/knowledgecenter/SSFKSJ_7.5.0/com.ibm.mq.dev.doc/q120070_.htm
Is it sufficient if we use above mentioned client jar to connect MQ 7 and MQ 8 server?
Application will use JRE 1.7 and WAS liberty 8.5.5.9.
If you are using WebSphere Liberty as your application server, then you will need to the MQ JCA Resource Adapter (MQ-RA) to make use of MQ JMS messaging. Liberty (unlike traditional WebSphere Application Server) does not ship a copy of the MQ-RA, but you can download and install one pretty easily and then link to it from within the Liberty server's server.xml configuration file. Here's a link to explain how to do this:
http://www-01.ibm.com/support/docview.wss?uid=swg21633761
Now, Liberty can use a copy of the WebSphere MQ V7.5.0.5 (or later) Resource Adapter, which only supports the JMS 1.1 API, and the Liberty feature you will want to enable with that version is "wmqJmsClient-1.1".
However, I would suggest you consider the latest version of the IBM MQ-RA (at the time of writing this is V9.0.0.0). The MQ V8.0.0.3 and V9 RAs support both the JMS 1.1 "classic" API as well as the newer 2.0 "simplified" API. Therefore you can use the newer MQ-RA levels but your JMS 1.1 application will still work perfectly fine. If using a V8 or V9 IBM MQ-RA, then the Liberty feature to enable to is "wmqJmsClient-2.0".
The V7.5, V8 and V9 MQ Resource Adapters can connect to any MQ queue manager version; the major or maintenance versions between the JMS client and the MQ server do not need to match.
For reference, here are a couple of links I recommend reading over as well:
http://www.ibm.com/support/knowledgecenter/SSFKSJ_9.0.0/com.ibm.mq.dev.doc/q031610_.htm
http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/twlp_dep_msg_wmq.html
http://www.ibm.com/support/knowledgecenter/SSAW57_8.5.5/com.ibm.websphere.wlp.nd.doc/ae/rwlp_restrict.html
I hope this helps!

How to integrate Oracle Advanced Queue with Websphere 7.0

IBM Websphere documentation says that It's possible to use third-party jms providers: http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.nd.doc%2Finfo%2Fae%2Fae%2Ftmj_instp.html
In oracle folder I've found resource adapter ojms.rar, but how to use it?
Maybe somebody uses WAS7 with AQ?
I haven't used OracleAQ myself, but here are links to the documentation; Since AQ is JCA compliant you may start with Managing messaging with a third-party JCA 1.5-compliant messaging provider. First step of this configuration is installing the resource adapter (ojms.rar).
Also, for sake of completeness, let me add that you may also access AQ using WebSphere Adapters. In this case, you don't configure AQ as JMS provider, but use the IBM suuplied adapter to access AQ, which acts as a client to your AQ and exposes AQ services to your applications in a JCA compliant fashion. You may find more information about this alternative at education assistant for WebSphere Adapter for Oracle E-Business Suite.
I recently tried to integrate Websphere with Oracle AQ and found one solution that works. I have explained how to do it in a Blog. http://itsolutionsarchitect.blogspot.com/
If you are still trying to get this to work, let me know if this helps.
If you're still looking for the answer, follow the steps to install the resource adapter using ojms.rar
Sadly `ojms.rar`` doesn't contain the classes required for installation.
Download mqjra.rar, extract it and take out gjra.jar from the extracted files.
Place gjra.jar inside your <WAS installation directory>\lib
Try to install the Resource adapter with ojms.rar
It'll get installed. Revert if you face issues.

when to use JMS (with websphere inbuilt messaging provider) vs a full fledged MQ product like ActiveMQ

I understand JMS spec allows me to write MDBs. Then I can deploy them on an appserver like websphere or jboss (and they have inbuilt implementation of JMS provider which is Java EE compliant). The question is when to use a full fledged product like IBM WebSphere MQ or ACtiveMQ instead of using App server's inbuilt JMS provider.
This appears to be a good reference to what you are asking, specific to IBM products but can be generalized to using an application server integrated messaging system vs a standalone messaging system - http://www.ibm.com/developerworks/websphere/library/techarticles/1109_wallis/1109_wallis.html
A built in JMS provider, such as WebSphere SI Bus, possibly others, are built for JMS messaging.
WebSphere MQ (MQSeries), ActiveMQ etc. have clients for multiple languages and are built for applications other than Application Server hosted applications to connect to it (C++, Java SE, Python, etc).
Say you want a local messaging server on the same physical server (or network?) as a non JavaEE application, you don't want to install a Java EE App Server, but want a stand alone messaging server instead (WebSphere MQ, Active MQ).
That said, ActiveMQ, for instance, is the messaging system inside Apache Geronimo. So there is overlapping here.
Then there is a whole discussion about management, clustering and security. Java EE messaging systems are pretty much optimized to follow the cluster layout of Java EE. In other deployment scenarios, the clustering might be optimal in other ways, such as cluster for different security zones. Also security models and management tools might be different in stand alone messagaing servers.

Tomcat vs Websphere's web container performance

Anybody knows about a performance comparison for Tomcat vs Websphere app server's web container?
www.webperformanceinc.com provides such a comparison but it's very outdated, somebody knows if there is a newer one, say with Websphere v6.1 or v7?
Websphere uses Tomcat under the hood. It only adds some more Java EE capabilities (EJB and so on) and of course the IBM sausage over it, so I wouldn't expect Websphere to be much faster than Tomcat.

Resources