cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Stay updated on what is happening on the PTC Community by subscribing to PTC Community Announcements. X

Java question

JoePriest
10-Marble

Java question

We have a situation where we are looking to install Solr on RedHat Linux to be used with Windchill 10 where Windchill will be running on HPUX. For Solr to run, it has to run inside of Windchill meaning that we have to install Windchill on the Linux server. We'd have 3 application server nodes in that scenario where the users would point to either app1 or app2 running on HPUX. The Linux server would only be processing Solr activities.


I'm looking for opinions on if I would have any problems with this mixed environment. Please don't ask why we aren't just doing everything in HPUX or Linux...we are talking through those options. I'd just like to get some opinions out there on this mixed scenario.


PTC has stated that we are in uncharted waters as they haven't tested this type of mixed scenario. They are saying that "There is a risk that, if you mix JVM versions, if the system has to pass a serialized object from one JVM to another, it may not work correctly." I thought that the beauty of Java is that you can run it on any platform and it should work. Thoughts?

6 REPLIES 6


Think back to when Microsoft enhanced Java and also had Visual J++. Neither were pure Java! Sun Microsystems sued Microsoft and eventually won. Microsoft said no thanks and created .NET in hopes of killing Java. Much of J++ wound up in C#. If you also installed a JDK or java plugin on your Microsoft PC, same problem. Code execute differently or unpredictably.

HPUX like AIX comes with its own flavor of java from the OS providers HP and IBM. The Red Hat version of the JVM is likely from Oracle/former Sun.

The problem lies in how that JVM was compiled to handle interaction with different chipsets. Those libraries are likely C or C++ based.

Your only way to answer this question would be to install Windchill and write serialize/deserialize code.

A much faster approach of course would be to talk to Oracle/Sun about a JVM that will run on both and contains nothing extra vendor specific.

For those who don't know. .NET lost. Will be less central in Windows 8. JavaScript is taking over.





Sent from my Verizon Wireless BlackBerry

David,

I disagree that you would have to write your own serialization code.

windchill already has lots of serialized classes onboard (classInfo files) that as far as I see are *not* platform specific, so they deserialize on any target platform.
and lots of windchill classes have their own read/writeObject methods anyway to deal with legacy objects.

I would not deliberately mix a 32 and 64 bit jvm, but besides that I do not expect problems.
regardless of OS mix you will always have to make sure the codebases are the same!

my 2 cents,
martin
jessh
12-Amethyst
(To:JoePriest)

I wouldn't expect issues from mixing 32 and 64 bit JVMs either.

The biggest risk would be serializing complex built-in Java objects
between JVMs. I'm not talking about Windchill objects or about strings,
primitives, etc. Rather I'm talking about serializing something like
HashMap between JVMs, though I'd bet that HashMap works just fine as it
is too broadly used.

We don't plan on mixing 32 vs 64bit. Our linux installation is going to be 64bit.


What I'm hearing is that while there is risk that something might not work, the general consensus is that it probably will. Anyone else have any thoughts?


Thanks for the feedback so far.

Martin, well you are allowed to disagree, but only so many times a year haha.

Perhaps I was not clear, that tends to happen in email; I said you can write code to validate. By the way writing code may entail using a lot of existing code.

I do not know if PTC tunes the JVM they ship at all before we all install on our systems?

Aside from 32 and 64 bit concerns, I would just look at it as let's say you have an existing system with data stored using/originating from different architecture. You are going to want to do a little more then decompile code to validate nothing changed.

I have personally seen serialization issues on the same hardware for the same class file and object type in a windchill upgrade.

All of our personal experiences is what adds value to this forum, and helps us challenge and strengthen solutions.




Sent from my Verizon Wireless BlackBerry

see below ...

Announcements


Top Tags