What is the purpose of WebLogic JarBuilder Tool? - weblogic

I came across WebLogic JarBuilder Tool and this link has information on how to use it. But I am not able to find anywhere on what is the purpose of this tool and when we have to use this. Can someone please help me in understanding the use of this tool and if possible can it be explained with some examples.

From http://docs.oracle.com/cd/E15051_01/wls/docs103/client/basics.html#wp1069994:
Prior to WebLogic Server 10.0, the weblogic.jar file was required for
T3 and WLS-IIOP client applications to provide WebLogic
Server-specific value-added features. For WebLogic Server 10.x and
later releases, client applications requiring these features should
use the wlfullclient.jar file instead of the weblogic.jar. See Client
Types and Features for more information on client types, features, and
class requirements.
You can generate the wlfullclient.jar file for client applications
using the JarBuilder tool. See Using the WebLogic JarBuilder Tool.

Related

Separate trace/log file per runtime and wlapp

By default all MobileFirst logging goes into the application server log files.
As a server can have multiple runtimes and each runtime multiple applications and adapters, everything goes into a single file.
Is there a way to have separate log/trace file for each MFP runtime, adapter and/or wlapp application?
MobileFirst Platform Server uses the application server's logging facilities, so the logs and trace go wherever the application server decides to put them.
WebSphere Application Server, Liberty Core, and Tomcat, all have various (and different...) ways to configure the app server logging in ways that may meet some of your needs (like logging per-application, for example - each MobileFirst runtime is a separate "application", as far as the app server is concerned - or separating logs from different facilities into different files). The MobileFirst Platform Server itself doesn't provide any special support for this - it just logs things, and lets the app server determine what to do with it. I can't think of a way you'd be able to do separate logging from different WLAPPs or adapters, since I can't think of any way that the app server could identify what WLAPP or adapter a log message is coming from and separate it from others.
However, depending on what you are trying to do, you may be able to extract the kind of information you want out of Operational Analytics.

How to Client Side and Server Side integration of IBM TeaLeaf

I have to implement TeaLeaf analytics for our application so i am doing sample POc for android and iphone environment for hybrids application. Anyone please advice me how can i implement the TeaLeaf stuff in my POC.
Below that activity i did,
create sample app version project and add android/iphone environment
application-descriptor.xml i added IBM teaLeaf SDK
what else i have do? i was searching google and following ibm knowledge center also there is not much clarity for tutorial and how can i test in development environment.
below that link i referred :
http://www.ibm.com/support/knowledgecenter/SSHS8R_6.3.0/com.ibm.worklight.integ.doc/integ/t_tealeaf_client.html
If I understand your question correctly, it seems like you're attempting to create a connection between IBM MobileFirst Platform 6.3.0 and IBM Tealeaf. I work on integrations of IBM Tealeaf On-Cloud with client e-commerce platforms and it seems like you might be dealing with IBM Tealeaf On-Premise.
That being said, my understanding of the process for the On-Cloud implementation is that there are a few libraries you need to make sure are being included on pages you'd like Tealeaf to observe:
Tealeaf.js (distributed by IBM)
Sizzle.js
JQuery, if the page uses it ... also note that if the site uses JQuery, you need to provision from IBM the JQuery flavor of Tealeaf.js instead of the W3C flavor.
Hammer.js
Pako.js (again this assumes the On-Cloud version of Tealeaf, as this is a library for compressing data a being sent to IBM cloud-service collectors. In the On-Premise version my understanding is that this data is written to a file that is saved to the local hardware.)
How the libraries are included is something you'd decide when working with the client's server and development team - every organization has their preferences. Generally though they'd be inserted on pages that need to be monitored and the Tealeaf.js config would be edited to specify the endpoint of the collector for the regional data center on which space was provisioned for the client (in the US, either in Dallas or Washington DC.)
As for the On-Premise implementation of Tealeaf, you can jump in to the documentation here: http://www.ibm.com/support/knowledgecenter/SS2MBL/tealeaf_product_family_welcome.html

Is it possible to deploy a JAX-RS web service to MobileFirst Server?

My team is working on the migration of a hybrid app from Tibco Silver Mobile(TSM) platform to IBM MobileFirst Platform.
I have a JAX-RS webservice developed using Weblogic IDE which is currently hosted on TSM server. This webservice does a security check for all the incoming back-end requests and pass the request to the back-end if it is from a valid source.
When the app will be migrated from TSM to MobileFirst platform the TSM server will be moved out of the scene. I am looking for some alternate options for hosting this JAX-RS webservice. I don't want to make any changes to the webservice since it is a tested and proven code used in the TSM based solution.
I understand from the IBM MobileFirst Platform 7.0 documentation that JAX-RS support is now available on the MobileFirst Server and JAX-RS specification based Java adapters can be developed and deployed to the server.
Can I deploy the above mentioned webservice .WAR file as such to MobileFirst Server, without making any customizations?
If yes, what is the procedure for deploying the webservice (.WAR) to MobileFirst Server?
If no, what are the alternate options that can be considered?
As indicated in the comments above:
MFP Server is actually a Java EE application deployed to a supported Java EE application server, WebSphere Liberty or full WebSphere ND being the normal options, though TomCat is also supported.
In principle your own JAX/RS WAR file can be deployed to these same servers, the details will depend upon exactly what Java EE features you exploit and you will need to understand those Java EE servers' administration model. MFP itself is not affected by this, and you need no MFP knowledge to do it. You just need to understand the chosen Java EE server. Personally I would start with WebSphere Liberty.
A further question would be whether it is better to isolate your JAX/RS and Mobile First servers into their own Java EE server instances. It can be easier to manage and scale if you keep things separate, but technically there should be no interference if you do co-locate them. It is pretty trivial to spin up a dedicated Liberty server.
A more interesting question is whether there is value in actually exploiting the MFP Adapter capability to create JAX/RS services. In effect it's your familiar JAX/RS programming model but packaged slightly differently, deployed as a MFP adapter, and with the option explicitly to exploit the MFP security model and easily call other MFP adapters.
Personally, if I were coming to a project with no existing JAX/RS services and have commited to MFP and its security model then I would do my JAX/RS in the MFP Adapters.

Worklight + WebSphere eXtreme Scale

I tried the integration of these products based on this article and I hit the same problem already documented in the article.
"invocation of javascript function 'getRSSFeeds' has failed: Could not initialize class com.ibm.websphere.objectgrid.ObjectGridManagerFactory
FWLSE0101E: Caused by: [project ExtremeScaleInWorklight]java.lang.NoClassDefFoundError: Could not initialize class com.ibm.websphere.objectgrid.ObjectGridManagerFactory"
It seems that it is caused by a Java class collision of log4j.
My solution was to create a separate Liberty server and install the WXS client for Liberty. This solved the problem, but then I cannot use the WL Development Server anymore which turns the development less efficient.
What is the best way to develop this kind of solution?
I have seen this integration of products on several slides, but I can't find an official guide on how to achieve this. Is there any?
Have You tries to get the IBM WebSphere eXtremeSCale Liberty profile developer tools 8.6 also installed in your WL Development Server ?
SO WXS has two components Client ( libraries) and Serer side components. They can be housed in the same JVM -- for tests, in production this does not really make sense. Serer side hosts storing of objects and enforcing the 'grid management' policies that you may employ using the xml confg files.
perhaps you can use IBM WebSphere eXtremeSCale Liberty profile developer tools 8.6 also installed in your WL Development Server and include then in the classpath.

Obtain useful data from WebSphere JVM

I would like to attach to a WebSphere JVM and obtain useful data like garbage collectors' names and their collection counts, thread counts, heap/non-heap memory usage, JVM uptime etc. However, this link gives the list of MBeans available with the WebSphere JVM -
http://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.javadoc.wsfep.doc%2Fweb%2FmbeanDocs%2Findex.html
These MBeans don't seem to offer any data that I require. Is there any other way to obtain the data? I shall be using JMX to gather it.
If you're a corporate with bucks to spend I would suggest a product like Wily Introscope which runs an agent along with your JVM to collect all the metrics that you are after. I have used it with Websphere servers. Searching for an Open Source alternative I came across GlassBox which may provide a low cost alternative for you.
I'm not aware of any default MBeans that will provide the coverage you're after. It's typically the big Java vendors that provide this type of functionality.
[Update]
Having done something recently using VisualVM with Websphere 7, for the purposes of real-time monitoring/troubleshooting, I thought I would share my knowledge. VisualVM comes with the standard Sun JDK and you will find it installed here: JAVA_HOME\bin\jvisualvm.exe
To enable the JRE in Websphere to allow VisualVM to connect you must add the following JVM parameters using the Websphere Admin Console
Go To: Application Servers > [server_name] > Java and Process Management > Process definition > Java Virtual Machine > Generic JVM arguments
-Djavax.management.builder.initial=
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.local.only=false
Make sure that the port number you have chosen above is not already in use
netstat -ap | grep 1099
Restart the server and you will be able to connect using VisualVM to see Uptime, Threads, Heap and GC profiles.
I see that Sun have also documented how you can write your own Java JMX client to read these values.
You could go with the suggestions provided by Brad and Andreas.
I would like to give you some insights into some of the tools that should be explored
(1) Tivoli Performance Viewer. This should provide some information about the JVM.
(2) IBM Health Center -> http://www.ibm.com/developerworks/java/jdk/tools/healthcenter/
Both of these should provide you a lot of info that you require.
Try them out
The JVM statistics are provided by the platform MXBeans. If you need to collect this data over a short period of time, then you could use a tool such as VisualVM. It's a bit tricky to configure this to connect to a WebSphere instance, but it is possible. One way to do that (there are other options) is described here:
http://code.google.com/p/xm4was/wiki/VisualVMHowTo
If you want to collect the data over a longer period of time, then you need a monitoring system. At work, I wrote a plugin for the Open Source RHQ enterprise management system that adds support for WebSphere. I'm in the process of releasing this plugin as an Open Source project, but at the time of writing, I have not yet published the documentation and there is also no downloadable release yet. Only the source code is available right now. I will try to complete that in the next weeks. If you are interested in this project, please let me know.