Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Remote Application Platform (RAP) » Running RAP on WebSphere 8.5 for z/OS
Running RAP on WebSphere 8.5 for z/OS [message #1743036] Fri, 09 September 2016 18:33 Go to next message
Vincenzo Caselli is currently offline Vincenzo CaselliFriend
Messages: 235
Registered: January 2012
Senior Member

We developed and deployed successfully a RAP 3.0 web application on Tomcat7 both on Windows and Linux.
Now we have to deploy it on WebSphere 8.5 z/OS system, but once deployed the same WAR on this system, the page shows the classical light grey RAP background without showing anything other and not giving errors in logs.
Here
https://wiki.eclipse.org/RAP/Running_RAP_on_WebSphere
we found that for WebSphere there are further steps to follow.
Anyway from this page it seems we should use RAP 1.5 and also other old versions of JFace databinding.
Is it really this way or is there some way to use more recent (let's say Eclipse Mars level) versions of RAP and other Eclipse plugins?

Thank you very much.
Vincenzo Caselli
Re: Running RAP on WebSphere 8.5 for z/OS [message #1743069 is a reply to message #1743036] Sat, 10 September 2016 08:13 Go to previous messageGo to next message
Markus Knauer is currently offline Markus KnauerFriend
Messages: 179
Registered: July 2009
Senior Member

Hi Vincenzo,

I learned something new... I didn't know about the wiki page that you mentioned!

I'm sure you already ckecked the usual suspects, e.g. that the JVM version of the bundles matches the one in Websphere.

From my own experience I know that it is sometimes very hard to debug and to track down those Websphere related problems, most of the time these servers are running in very restrictive networks hidden from the developers and without direct access.
We are successfully running many RAP (1.x), 2.x, and 3.x applications on Websphere versions up to 8.5.5, as far as I know on AIX, maybe Linux, but never on z/OS. In all those cases we are bundling the app as war file including the servletbridge.

Can you start your app locally in the same IBM J9 VM that is being used on the host?
Did you try to enable logging in Equinox / OSGi, do you have access to stdout/stderr logs on the server?
Would it be possible to deploy the app with the OSGi console enabled and accessible on a port like `-console 1234`?
Another possibility is to embed the Felix WebConsole and use a browser to check bundle wirings and OSGi services - that's what I am doing a lot when I don't have other ways to accesss the server.

Apart from looking at the server side it may be useful to know more about the client side. Did you check the communication with the server, cookies, authentication, maybe content types used in the server responses, etc.? Sometimes it helps to look deeply into the communication with one of the browsers developer tools.

Just a few ideas... I hope some of them can help, or maybe someone else can contribute more ideas.

Thanks,
Markus



--

Twitter: @mknauer23 and @EclipseRAP
Blog: http://eclipsesource.com/blogs/

Professional services for RAP and RCP?
http://eclipsesource.com/services/rap/
Re: Running RAP on WebSphere 8.5 for z/OS [message #1743121 is a reply to message #1743069] Mon, 12 September 2016 11:52 Go to previous messageGo to next message
Vincenzo Caselli is currently offline Vincenzo CaselliFriend
Messages: 235
Registered: January 2012
Senior Member

Hi Markus,
thank you!
Your answer is reassuring when you say that you have succesfully RAP 3.x running on Websphere 8.5.5 (ok, not on z/OS) with the servletbridge included and that wiki page is new to you!

Ok, now let me answer your checkpoints in order, since I would like you to check and validate our steps.

JVM versions
- we have developed the RAP 3.0.2 application with Java7 Oracle
- generated (the IDE is running with the same Java7) the WAR with
WAR Products (Incubation) 0.3.1.201405141436
- WebSphere 8.5 on z/OS is running with IBM Java7

Local test
- I installed a local Websphere 8.5.5 on Windows
- installed the webapp with the WAS wizard with the following options
* fast path (not the detailed)
* changed Application Name from "appname_war" to "appname"
* changed Context Root from "/" to "/appname"
* any other option kept as the proposed default value
are there any other options that deserves attention?

In these conditions, locally under Windows, the application is running successfully!
As far as I can see my WAS instance is running on a JVM
C:\IBM\WebSphere\AppServer\java_1.7_64
which in its readme.txt states "IBM 64-bit SDK for Windows AMD64/EM64T architecture"
I don't know at present how to make it run on a IBM J9 VM, but I will look for that.

Accessing OSGI console
- yes, I can enable the -console option and in the next days I will try to access a console with the help of an authorized sysadmin (btw, by saying "running in very restrictive networks hidden from the developers and without direct access" you hit exactly the point Smile)
- in any case can you give some information on how to embed the Felix WebConsole? Should we enrich our RAP Target Platform with other UpdateSite/Feature/plugins?

Client/Server communication checks
- I will keep this into account

other Servlet Containers
- as a side note we would like to know if the steps we are following for deploying a RAP war are right and if they can be applied in general to other Servlet Containers, like WebLogic, JBoss or others

Thank you very much
Vincenzo
Re: Running RAP on WebSphere 8.5 for z/OS [message #1743136 is a reply to message #1743121] Mon, 12 September 2016 14:11 Go to previous messageGo to next message
Vincenzo Caselli is currently offline Vincenzo CaselliFriend
Messages: 235
Registered: January 2012
Senior Member

As far as I can see the JVM used by local WAS 8.5.5 is exactly IBM J9 VM:

C:\IBM\WebSphere\AppServer\java_1.7_64\bin>java -version
java version "1.7.0"
Java(TM) SE Runtime Environment (build pwa6470sr4fp1ifix-20130423_02(SR4 FP1+IV38579+IV38399+IV40208))
IBM J9 VM (build 2.6, JRE 1.7.0 Windows 8 amd64-64 Compressed References 20130421_145945 (JIT enabled, AOT enabled)
J9VM - R26_Java726_SR4_FP1_2_20130421_2353_B145945
JIT - r11.b03_20130131_32403ifx4
GC - R26_Java726_SR4_FP1_2_20130421_2353_B145945_CMPRSS
J9CL - 20130422_145945)
JCL - 20130225_01 based on Oracle 7u13-b08

Re: Running RAP on WebSphere 8.5 for z/OS [message #1743276 is a reply to message #1743136] Tue, 13 September 2016 19:00 Go to previous messageGo to next message
Vincenzo Caselli is currently offline Vincenzo CaselliFriend
Messages: 235
Registered: January 2012
Senior Member

Hi Markus,
today tests on WAS 8.5.5 on z/OS were unsuccessful.
The OSGi console seems unreachable due to some obscure security rules on arbitray ports (but I will go deeper into this...).
At this point I will try to embed the Felix Web console: should we enrich our RAP Target Platform with other UpdateSite/Feature/plugins? Do you have some useful link about how to do this?

Regarding the browser developer tools messages there is nothing special; just a warning on Chrome
Quote:
"rap-client.js:31373 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.",

but this happens also at development time, running from the IDE, where all is working fine.

One question: I was told that z/OS uses EBCDIC encoding instead of ASCII: may this interfere with JSON communication between client and server?

Thank you very much
Vincenzo
Re: Running RAP on WebSphere 8.5 for z/OS [message #1743278 is a reply to message #1743276] Tue, 13 September 2016 19:12 Go to previous messageGo to next message
Vincenzo Caselli is currently offline Vincenzo CaselliFriend
Messages: 235
Registered: January 2012
Senior Member

Just in case this discussion may be of some help for a hint for solutions...
https://www.ibm.com/support/knowledgecenter/SSGMCP_4.2.0/com.ibm.cics.ts.internet.doc/topics/dfhtl_cpcserver.html
Re: Running RAP on WebSphere 8.5 for z/OS [message #1743314 is a reply to message #1743276] Wed, 14 September 2016 09:33 Go to previous messageGo to next message
Markus Knauer is currently offline Markus KnauerFriend
Messages: 179
Registered: July 2009
Senior Member

Just two quick answers because I'm on vacation right now...

Quote:

One question: I was told that z/OS uses EBCDIC encoding instead of ASCII: may this interfere with JSON communication between client and server?


Hmm, I've seen so many unexpected problems caused by character sets during my development career... I wouldn't exclude this as a reason.

Quote:
At this point I will try to embed the Felix Web console: should we enrich our RAP Target Platform with other UpdateSite/Feature/plugins? Do you have some useful link about how to do this?


Adding the Feilx WebConsole (https://felix.apache.org/documentation/subprojects/apache-felix-web-console.html) is easy. Usually it is sufficient to download the 'Web Console (all-in-one bundle)' OSGi bundle from https://felix.apache.org/downloads.cgi and to deploy it as another bundle in the .war file.


--

Twitter: @mknauer23 and @EclipseRAP
Blog: http://eclipsesource.com/blogs/

Professional services for RAP and RCP?
http://eclipsesource.com/services/rap/
Re: Running RAP on WebSphere 8.5 for z/OS [message #1743591 is a reply to message #1743314] Fri, 16 September 2016 15:44 Go to previous message
Vincenzo Caselli is currently offline Vincenzo CaselliFriend
Messages: 235
Registered: January 2012
Senior Member

Hi Markus,
thank you very much for your time while in vacation.
I will just keep you updated.

We were able to embed the Web OSGi console, but there seems to be no problems there: all plugins are active and no problem is highlighted.

However we started to put detailed logging in all of the workbench classes in order to understand where application breaks.
Finally we override the method

ApplicationWorkbenchAdvisor.openWindows()

in this way

    @Override
    public boolean openWindows() {
    	boolean openWindows = false;
		try {
			openWindows = super.openWindows();
		} catch (Throwable e) {
			LOGGER.trace("", e);
		}
		return openWindows;
    }


and found that our branding plugin (where we customized presentations, themes, layout and so on) contained case-insensitive inconsistencies (e.g. source reference to images with different upper/lower case letters with respect to the name on the filesystem!). Yes, such a trivial problem due to the fact that we developed in Windows and so never notice this....

In fact the trace above showed a NullPointerException stacktrace with all the details that allowed us to identify the image names that were not "case-correctly" set.
We fixed them all and now the application is running succesfully on z/OS!!!.

So in the end it was a trivial mistake in our code, although there was nothing in the logs showing that there was the problem. Does it make sense to you to propose an enhancement in RAP for introducing this try-catch in the openWindows() method?

Thank you very much again for you time and precious help!
Vincenzo
Previous Topic:HTTPSession, multiple browser tabs/windows and "Page reload"
Next Topic:Occasional Invalid Thread Access
Goto Forum:
  


Current Time: Wed Apr 24 16:55:52 GMT 2024

Powered by FUDForum. Page generated in 0.03528 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top