Windchill

At one point in time, I was tortured by having to write an interface for a now-archaic piece of software known as Windchill. Windchill is a sort of product lifecycle management product for products built from physical parts, typically vehicles or similar things. It is an old-style Java application consisting of way too many servers communicating in various proprietary ways, but does include a SOAP interface called the InfoEngine. If you ever have to work with it, hopefully these notes will be helpful. Note that SOAP interfacing to WindChill does not work well, particularly updating nodes. From WCF, you will need to either generate/parse XML manually, write a message filter to dynamically fixup the Axis responses from InfoEngine so WCF can make sense of them, or update and reconfigure Axis to generate better SOAP.

Q: Does WindChill require any locally installed software?

A: Pro-Engineer requires a local client for CHA files.

Q: In WindChill, when I run Site\file Server Administrator, I get a Java pop-up that shows just a black screen

A: Click No to the Block prompt, then click Grant on the privileges dialog that comes up next. The second dialog may be hidden or disappear if you do not respond quickly.

Q: In WindChill 9, how do I find all documents at revision 2 (iteration 2 in WindChill terms)?

A: Follow these steps

1. Login, then go to Library|Folders.

2. Click the folder.

3. Click the Actions buttons for any listing and select Information Compare.

4. Set Iteration to 2 and click Search.

Q: In WindChill 9, how do I get the Product View client installed?

A: Follow these instructions

1. Login to WindChill

2. Click Library

3. Click the first icon to the right of the Library:<name> text just under the second menu bar. The tooltip says "Launch Product Structure Explorer"

4. Follow the prompts. Click the download MSI link to install everything and have a local cache to do so on other machines without having to do all this.

Q: In WindChill 9, where do I go to configure Info*Engine?

A: Site|Utilities|System Administration|Info*Engine Administratiion.

Q: In WindChill 9, what is the login for Info*Engine

A: The WindChill admin login should work, as it should authenticate to the same LDAP server.

Q: In Windchill 9 Information Compare search, I can't find one specific document

A: This is the document whose Action button was clicked on. It is automatically filtered out of the result since it is the compare target.

Q: How do I start the Info*Engine adapter? It shows as stopped in the admin and there is no start control.

A: At the WindChill server, go to Start|WindChill|InfoEngine Server.

Q: How do I increase the size of the JVM max heap for WindChill?

A: Follow these instructions. Note that Windchill consists of several separate server - the ones you most likely need to adjust are the method server, server manager, and InfoEngine. Values for the first two cannot be adjusted via standard Tomcat/Apache registry settings or java.exe command lines. They are set directly by a special Windchill executable which them launches the respective servers using proprietary configuration

1. At the Windchill server, start a command prompt.

2. Change to the Windchill bin directory. The default is <installdrive>:Ptc\Windchill\bin

3. To increase the size of the WindChill method server's heap to 1024M, enter "xconfmanager -s wt.method.maxHeap=1024 -p". Ignore the declared multiple times warnings.

4. To increase the size of the WindChill manager's heap, enter "xconfmanager -s wt.manager.maxHeap=640 -p". Ignore the declared multiple times warnings.

5. To increase the size of the InfoEngine server's heap to 512, edit the IE_OPTS line in ptc\Windchill\bin\infoengine\startserver.bat, changing "-Xmx64m" to "Xmx512m". InfoEngine defers much of it's work to the method servers.

6. In addition to these, WindChill also has an Apache server and a Tomcat server. These come preconfigured with large maximum heap sizes and likely do not need adjustment. Those bundled servers appear to use ther respective standard configuration mechanisms.

By default, WindChill's method server is configured with a 256MB heap and the server manager is configured with a 64MB heap. Both of these values are highly insufficient for production purposes. Of these two servers, the method server is the ultimate back-end of WindChill, whereas the server manager simply monitors other servers and restarts them as needed. PTC documentation recommends a 1280MB heap for the method server and 640MB for the manager server. Of the two, only the method server will benefit from additonal heap. Note also that multiple method servers may be configured - this is xconfmanager's wt.manager.monitor.start.MethodServer setting and has a recommended value of 2. This must be considered when calculating overall memory usage. Finally, note that a 32-bit JVM cannot be configured to use a max heap greater than 1.2G reliably due to Windows and JVM limitations. However, a 64-bit JVM has no such limitation.

Q: How do I shutdown the WindChill and the InfoEngine server?

A: Run the stop_windchill batch file in E:\scripts. This does the following:

E:\ptc\Windchill\bin\windchill.exe -w "E:\ptc\Windchill" --java="E:\ptc\Java\jre\bin\java.exe" stop

net stop "Tomcat"

net stop "Apache"

Then switch to the 1 remaining InfoEngine console window and hit <Ctrl-C>.