Below is the tech note which provides
complete information about this scenario.
Tuesday, April 2, 2013
How to reset WebSphere Portal and WebSphere Application Server administrative passwords
Have you ever been in a situation where you have spent lot of
hours in installing and
configuring WebSphere Portal and WebSphere
Application Server as per your project’s requirement and after
some time you forgot the password that you set for both the servers.
Here is the way how you can achieve this. Very useful tech note from IBM.
http://www-01.ibm.com/support/docview.wss?rs=688&context=SSHRKX&dc=DB560&dc=DB520&uid=swg21392427&loc=en_US&cs=UTF-8&lang=en&rss=ct688websphere
Here is the way how you can achieve this. Very useful tech note from IBM.
http://www-01.ibm.com/support/docview.wss?rs=688&context=SSHRKX&dc=DB560&dc=DB520&uid=swg21392427&loc=en_US&cs=UTF-8&lang=en&rss=ct688websphere
Saturday, December 29, 2012
Login into Websphere Portal directly – Auto Login url in WebSphere Portal
WebSphere Portal has its direct URL which
you can call with user name and password as query parameter when you do that it
will automatically login into portal for you and take you to the portal landing
page.
wps/portal/cxml/04_SD9ePMtCP1I800I_KydQvyHFUBADPmuQy?userid=
PortalUserName&password=
PortalPassword
Examples:
Examples:
http://localhost:10039/wps/portal/cxml/04_SD9ePMtCP1I800I_KydQvyHFUBADPmuQy?userid=kameshwar&password=password123
This direct autologin url is very helpful during
load testing of portal application or if you are performing any unit testing
using any tool like JMeter.
How to monitor performance of portlets
There is a very common requirement where we have a need
that how to monitor performance of portlets specially when the portlets are
misbehaving.
We can use the concept of Global Filters to create a filter that
will monitor all your portlets (render, resource, action and Event phase) and
write a message in the log if one of the method takes more than the threshold
time.
Below is the code of Performance Filter. Here we have
created a java class name as PortletPerformanceFilter.java
package com.company.performance.filter;
import java.io.IOException;
import javax.portlet.PortletException;
import javax.portlet.PortletRequest;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.filter.FilterChain;
import javax.portlet.filter.FilterConfig;
import javax.portlet.filter.RenderFilter;
public class PortletPerformanceFilter implements
RenderFilter {
public
void destroy() {
System.out.println("Inside
PortletPerformanceFilter.destroy()");
}
public void init(FilterConfig arg0) throws
PortletException {
System.out.println("Inside PortletPerformanceFilter.init()");
}
public void doFilter(RenderRequest request,
RenderResponse response,
FilterChain
filterChain) throws IOException, PortletException {
try{
if
(isPerformanceFilter(request)) {
System.out.println("Entering
PortletPerformanceFilter.doFilter()");
long
beginTime = System.currentTimeMillis();
filterChain.doFilter(request,
response);
long endTime =
System.currentTimeMillis();
long
executionTime = (endTime - beginTime) ;
System.out.println("Portlet Window ID " +
request.getWindowID()
+
" Time to execute render = "
+
executionTime + " ms");
System.out.println("Exiting
PortletPerformanceFilter.doFilter()");
}
else {
// if not in maintenance, just call the normal chain
filterChain.doFilter(request, response);
}
}
catch(Exception
e){
System.err.println("PortletPerformanceFilter Error"+
e.getMessage());
}
}
/*
* Checks if the
portlet addressed in the request has to be checked for PerformanceFilter
*/
private boolean isPerformanceFilter(PortletRequest
request) {
boolean
isPerformanceFilter = false;
isPerformanceFilter = Boolean.valueOf(request.getPreferences().
getValue ("PERFORMANCECHECK", "false")).booleanValue();
return
isPerformanceFilter;
}
}
In the doFilter() method we are taking the time before
and after forwarded control up the chain and using that time to calculate
execution time which we are printing.
To use global portlet filters, add the following code
to the root folder or in the WEB-INF
directory of your web application and name it plugin.xml file:
<?xml version="1.0"
encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="com.brocade.webportal.performance.filter"
name="WS_Server" provider-name="IBM"
version="2.0.0">
<extension
point="com.ibm.ws.portletcontainer.portlet-filter-config">
<portlet-filter-config
class-name="com.brocade.webportal.performance.filter.PortletPerformanceFilter"
order="100">
<description> Portlet Performance Filter, order =
101 </description>
<lifecycle>RENDER_PHASE</lifecycle>
</portlet-filter-config>
</extension>
</plugin>
The
above implementation is for RenderFilter interface, for example, which has been
added as <lifecycle>RENDER_PHASE</lifecycle>
code in plugin.xml. This addition is
analogous to the other filter interfaces. The following values are valid for
the <lifecycle> parameter:
- RESOURCE_PHASE
- EVENT_PHASE
- ACTION_PHASE
Once the PortletPerformanceFilter is developed we have
to copy it in the shared library so that it can be accessed by portal across
application.
These global filters apply to all portlets that are
running within the portlet container, including both plain portlets and console
modules.
The portlet in which we want to check the performance,
we need to set portlet preferences as :PERFORMANCECHECK
and its value should be true
Thursday, December 20, 2012
Differences between WAR files and predeployed EAR files of Portal Application
Affected portal area
|
WAR file
|
Predeployed EAR file
|
Portlet application
|
The portlet application is provided as WAR file.
The portal configuration is read directly from the file stream. The WAR file
is deployed into the application server by the portal.
|
The
portlet application is already extracted and deployed into the application
server as part of the EAR file. The portal server reads the available portal
configuration information (portlet.xml, etc.) from the location where the
contained WAR file was extracted to.
|
Context Root
|
The context root is assigned by the portal during
WAR deployment.
|
The
context root is assigned by the EAR developer and stored in the
fileapplication.xml. You must ensure that the context root that you specify
when you register the portlet matches the one specified in the EAR application.xml.
|
Display name
|
The display name is assigned by Portal during WAR
deployment.
|
The
display name is assigned by the EAR developer and stored in the
fileapplication.xml.
|
WebSphere Application Server policy for portlet
applications
|
The policy is stored in the WAR file and promoted
to the EAR file by the portal during WAR deployment
|
The policy is stored in the EAR file.
|
Portlet administration
|
You administer WAR files using the XML
configuration interface and the administration portlets.
|
You can
register EAR files only by using an XML script with predeployed mode. You can
remove EAR files by using either the administration portlet or an XML script.
|
Subscribe to:
Posts (Atom)