Showing posts with label developmentmode. Show all posts
Showing posts with label developmentmode. Show all posts

Portal light mode vs develop mode startup performance

WebSphere Portal Server 7.0 has introduced a concept of portal light mode, which is supposed to improve start up time and memory consumption of production environment. But interestingly it still has support for enable-develop-mode-startup-performance

The WPS 7.0 Info center has following information about enable-develop-mode-startup-performance task "The developer mode allows you to improve start up performance and to configure IBM WebSphere Portal for development. Developer mode is for a development environment only and should not be used in a production environment. Install WebSphere Portal with the Base installation option."

From the documentation it looks like the portal light mode is only for the production environment. When i tried running this task on my local WPS 7.0 installation, i did not get much improvement in the server startup performance the startup time for base installation is close to 9-10 min. Also i did not see any change in the memory size of the server.

But when i executed the enable-develop-mode-startup performance on my local i could see that the server startup time came down to 5 min from 10 min and also the memory size came down from 700 + mb to 500 mb.

Improved version of enable-develop-mode-startup-performance

WebSphere Portal has concept of Development mode for some time, basic idea is to improve the startup time of portal by delaying the startup of application. The application should be started when it is accessed for first time instead of starting it at the server startup time. As per Marshal Lamb there are close to 75 portlets for administrating portal and some of the companies dont use Portal Admin Console in certain environments such as Production.

When working in Portlet developer role i dont use Portal Admin Console as much, most of my work revolves around updating the portlet application which i can do easily using RAD and RAD makes use of xmlaccess and wsadmin script so i dont need any of the Admin portlets.

WebSphere Portal provides enable-develop-mode-startup-performance to enable development mode and disable-develop-mode-startup-performance task to disable development mode. This part is same as that of WPS 6.1, what has changed is that now this task works more gracefully, before it use to disable Portal Help, Portlet palette, Personalization. As part of WPS 6.1.5, IBM did test this feature to make sure that everything works properly.

I tried using development mode on WPS 6.1.5 and now it works really well. I havent run into any problems so far.

Excluding applications portlets from disable at startup list

The enable-develop-mode-startup-performance task works is that whenever you execute it, it will query the application server to get list of applications installed. This includes the list of portlets installed by default plus the custom portlets and enterprise applications that you might have deployed on the server. Once it has the list it will check name if name of that application is there in the wp.base_ProfileEarAttributesTargetMapExclList.jacl file in the wp_profile\PortalServer\config\StartupPerformance directory. If yes it will skip that application and disable others.

By default this is the content of the wp.base_ProfileEarAttributesTargetMapExclList.jac file. If you want you can add additional applications to this list that should not be disabled. In order to do that Add a line such as lappend WarFileNameList App_name, where App_name is the name of the application. Log on to the WebSphere Application Server Console Mode and navigate to Applications > Application Types > WebSphere enterprise applications to get a list of available applications.


set UseMode exclude

set WarFileNameList ""
lappend WarFileNameList ivtApp
lappend WarFileNameList query
lappend WarFileNameList wps
lappend WarFileNameList isclite
lappend WarFileNameList PA_PTransformationApp
lappend WarFileNameList Personalization_Lists_6
lappend WarFileNameList Personalization_Workspace_6
lappend WarFileNameList PA_PortalWSRPProxy
lappend WarFileNameList PA_Login_Portlet_App
lappend WarFileNameList Live_Object_Framework
lappend WarFileNameList content_j2ee
lappend WarFileNameList jcrear

Portlet Help does not working after Optimizing development environment

You can optimize the development environment by following the instructions inOptimize Development Environment.

When you optimized the development environment the configuration script will delay the activation of the target portlet or application till it is accessed instead of activating it on the server startup.

I enabled development mode on my environment but once i did that when i tried access the help page for one of the admin portlets i started getting an error like this.


Problem is that the enable-develop-mode-startup-performance config task disables the auto startup of the IEHS.war file. This enterprise application is responsible for displaying HELP. You can either go to WAS admin console and explicitly start this application or add its name to profile\PortalServer\config\StartupPerformance\wp.base_ProfileEarAttributesTargetMapExclList.jacl and re execute the enable-develop-mode-startup-performance configuration task.


The Help for Admin Portlets is displayed using the IBM HELP system and you can find the actual Html pages in wp_profile\installedApps\sunpa\IEHS_war.ear\IEHS.war\WEB-INF\lib\eclipse\plugins\com.ibm.wp.admin.help\doc.zip file

Optimizing Development environment

If your setting up a WebSphere Portal for development environment then use some important guidelines

  • Use Administration option: If you choose the Administration option the installer wont install all the pre-built portlet such as composite application or common mails. But if you want these features then you can install the feature that your interested in.
  • After installing the portal server execute this config taskConfigEngine.bat enable-develop-mode-startup-performance -DWasPassword=password. This task will improve the portal server startup time by delaying startup of some of the portelts to the time they are actually used. If you want to exclude particular application from lazy load then you can add its name to WebSphere\wp_profile\PortalServer\config\StartupPerformance



You can revert your lazy loading change by executing ConfigEngine.bat disable-develop-mode-startup-performance -DWasPassword=password task