The Smallest Possible NetWeaver Java Server
The SAP NetWeaver AS Java parts are quite big I have to admit. And since the first hour there always was a demand for a smaller version of the Java Server to make it more convenient for developers to do their work.
As a platform NetWeaver serves multiple different purposes and so does the NetWeaver application Server Java. Seldomly you will find an implementation where all NetWeaver functionality that runs on it really is installed that way. As you know, the Enterprise Portal runs on top of it as do parts of Process Integration and other NetWeaver functionality.
Now, at least our IT scenarios can be influenced by the installation process but even this are quite big chunks of code. Sometimes you want much more of the specific code not to be loaded to save memory. Especially in a development environment, where you have to run the NetWeaver Development Studio and would like also to have a local server for your convenience (which is not necessary by the way, there are constellations to run development with a group server!)
Wouldn’t it be a nice idea to switch off parts of the server that you do not need for your current work?
And now it’s here. The way to make your server smaller. You cayn already see the effect if you have one of our Composition Environment (CE) downloads. The CE has the new configuration templates implemented.
Now what is that?
What they do is, they just change the complete configuration of your server for a specific purpose. If you load a config template this means you have to reboot the server and afterwards it has changed significantly into either a heavy weight champion or a small piece of beauty.
How can this be done?
It all works from the Configuration Tool, usually found in C:\usr\sap\CE1\J01\j2ee\configtool\configtool.bat (for Unix, of course, a shell script is also available). Once started in the file menu there is the option “Change System Template”. Clicking on that you get the selection window.
Be aware that at least the database has to run to connect correctly to the configuration. So far I’ve only tried a couple of those configurations, like the j2ee_developer. This one is cool, as it gives you a very compact standard Java Enterprise Edition server with none fo the SAP proprietary add ons – Well, at the same time you will learn that this means there will be also no more web based NetWeaver Administrator there, because this one is running throught the support of Web Dynpro. You will have to use ther terminal mode instead – Good luck.
A little bit less puristic is CE_Java_EE_development_full, that does give you back Web Dynpro (and boy, you’ ve never been that happy about wasting some extra memory!), but leaves out a lot of SAP specific things, as all the stuff needed for full composition are left out graciously.
Well, the Java specialist knows, of course, that not loading packages does not mean necessarily saving memory, as much more important is the Java Virtual Machine settings and here especially the Java Heap, that usually takes the largest part. Exactly this is also done through the templates and for example the two templates I tried configured the heap down to a maximum of 256 KB. More important, that was enough.
Can I have my own templates?
I’m pretty sure once you went through this, you will have immediately an idea we did not hink about to combine some services of the server to your specific situation. So, the question is whether you can make your own templates. The current answer to this is: No. The development tool used for templates internally is a eclipse plugin, that is pretty easy to use because all you have to tell it is to deinstall a specific package or not.
And here’s the danger: there is currently no documentation what is needed by what and therefore no chance to any developer outside SAP to really decide whether something can be switched off or not. As this stuff may be used against prodcutive servers it has to be really thought through how it is provided to customers.
When will WE get it for 7.0 too???
I know, I know, Iknow!
Most of you are running 7.0 (if already!) and suffer from large environments that you have to run (in case you must run a local developmetn server, which is not a requirement, I have to note once again). If you look into your Configtool you will not find the option to install another configuration. But hope is there: for other reasons the necessary libraries have already been ported to NetWeaver 7.0.
I have been looking for something like this, but of course for 7.0 🙂
Is there maybe some documentation for all the deployed applications and services in 7.0 that would be save to remove, and also some documentation how to restore them if you deleted too much?
We are currently not using CAF, KM and others, just plain Web Dynpro und all J2EE (EJB,JMS)componenents. Now there 100 other applications and services deployed that I assume are not used by us. Some more info would be great because the startup time of 7.0 is really a pain. It does not need to be the template tool. A simple manual would be enough at first.
unfortunately there is no such documentation and even if there was it would assume that it shows you completely which services are used by which applications. That in turn assumes a kind of discipline among a developers group that has over 2000 members, which I assume is not compatible with the individualism of the 21st century.
BUT there is hope: Most of the important new features are ported to 7.0 and the needed libs are already there as I mentioned before. I'll report once there is more.
Nice blog! But I doubt that you were really able to run the Netweaver Java Server with 256 KB of Heap. 😉
"I tried configured the heap down to a maximum of 256 KB. More important, that was enough."
it loses some funtionality, but it DOES!
The template even includes that value. Watch your own server *g*
But actually I misread KB and MB...
Slide difference between such.
Sorry for that.