Tuesday 22 October 2013

Interview Questions on websphere portal - part1

Interview Questions on websphere portal - Series1

Interview Questions on websphere portal

1)servlet and portlet difference
2)portlet wiring
3)jsr 286

4)interportlet comm
5)jsr 168 286
6)url mappings
7)portlet code vs servlet
8)themes and skins

9)rad
*10)maven
*11))oblix

=======================================

==========================ADMIN======================================

for admin,
xmlaccess,
page creation,
tam configuration,
ldap configuration,
clustering,
troubleshooting, logging and tracing,
theme deployment,
portlet deployment,
database transfers,
perf tuning

===============================================

 
WebSphere Portal Interview Questions for an Administrator 
List of interview questions that will help you in technical interview.
1.
What is the difference between Application Server and Portal Server ?
Application servers extend the ability of a Web server to handle Web application requests,and enable a server to generate a dynamic, customized response to a client request. A portalserver extends the application server by providing a portlet container that can run port letsand to create portal a website that provides users with a single point of access to Web-basedresources by aggregating those resources in one place.
2.
 
What are the steps involved in deploying themes and skins in a clustered production websphere portal environment?
Export the Web Sphere wps.ear (Portal EAR) using wsadmin.Use Ear Expander tool to expand the exported wps.ear file.Copy the updated themes and skins into../themes/html,/skins/html folder.Use Ear Expander tool to collapse the EAR directory into an EAR file.Use wsadmin to update the wps.ear to complete the deployment of updated themes andskins.
3.
 
What changes needs to be done to view changes to your theme and skins JSPs withoutrestarting the portal server?
You need to enable automatic JSP loading by setting reloading Enable property to true inibm-web-ext.xmi file of the wps.ear.
4.
 
What are the 3 different ways of installing a portlet application in web Sphere Portal ?Install a portlet using the portal administration page using
Web Modules
portlet.Install a portlet using xmlaccess tool.Pre-deploy a portlet as a standard EAR by installing the portlet WAR file in WAS console andthen registering the portlet using xmlaccess.
5.
 
What is the purpose of XML Access configuration file Export.xml & ExportRelease.xml? Whatis the difference? & When will you use one over the other?
Export.xml exports the complete portal configuration and useful when transferringconfigurations between development installations.ExportRelease.xml exports the complete portal configuration from the release domain asrequired by the portal Release Builder tool and useful when transferring different releaseconfigurations between staging and production environments.
6.
 
List me the steps involved in building a release in web Sphere Portal ?If you have a completely new installation of the staging server and the production server:Install the staging server, then install the production server.Develop a release on the staging server.


Build the release on the staging server.Empty portal contents on the production server by running the WPSconfig.sh|bat action-empty-portal task.Import that release onto the production server. Refer to Transferring a completeconfiguration for information.If you already have a production server without a staging system:Export the release of your production server.Install an empty staging server using one of the following two methods:Install the staging server with the flag -W emptyPortal.active=True.After installing and configuring the staging server, run the WPSconfig.sh|bat action-empty-portal task.Import the production release onto the staging server. Refer to Transferring a completeconfiguration for information.Develop and build a new release on the staging server.Export that new release from the staging server.Use Release Builder to generate the differential between the two releases.Import the differential onto the production server.
7.
 
What is the purpose of Release Builder tool in web Sphere Portal ?Release Builder enables management of release configurations independent of userconfigurations and used during staging of follow-on releases of WebSphere portals,configurations, and artifacts need to be moved between systems.
8.
 
What are the steps involved in editing WebSPhere Member Manager (wmm.xml) files on afederated node ?On the primary node of the WebSphere Portal cluster, check out the files using./WPSconfig.sh check-out-wmm-cfg-files-from-mgr. task.Make any changes to the Member Manager files. The files can be edited in theportal_server_root/wmm directory on the WebSphere Portal node.When you have completed your changes, check the files back in using ./WPSconfig.sh check-in-wmm-cfg-files-to-dmgr.
9.
 
How to change the default portal URI /wps/portal after installation ?Set the property WpsContextRoot to the new URI and run ./WPSConfig.sh modify-servlet-path task.
10.
 
List different types of user registry supported by WebSphere Portal ?LDAP (includes LDAP with an optional database user registry).Database user registry.Custom User registry, (non-LDAP, non-database).
11.
 
What is LDAP realm support and why would I want to use it?A Realm allows you to group users from one or more LDAP trees of one user registry andexpose them as a coherent user population to WebSphere Portal; this is also referred to ashorizontal partitioning. Realms allow a flexible user management with various configuration

options; for example, you can combine principals from one or more corporate LDAP tree. Arealm must be mapped to a Virtual Portal to allow the realm's defined user population tologin to the Virtual Portal.
12.
 
What is an Application group and why would I want to use it ?Application groups are a concept that allows you to define user groups within the databaseuser registry with members (users or groups) contained in the LDAP user registry youconfigured. The benefit of application groups is that you can create Groups that are onlyused in WebSphere Portal particularly in scenarios where there is Read-only LDAP or specialgroup setup specific to the portal.
13.
 
What are the two methods to install the empty staging WebSphere portal server ?Empty portal contents on the staging server by running the ./WPSconfig.sh action-empty-portal.Install portal with the ./install.sh -W emptyPortal.active="True" option.
14.
 
How do you stop portal traffic to the node being upgraded in 24x7 cluster upgrade process ?Locate the cluster member being upgraded, and change the value in the Configured weightcolumn from a value to zero and make sure the plugin config information is propagated towebserver to stop traffic.
15.
 
How to set limits on searches for users and groups?Setting a maximum number of search results maximumSearchResults="200"in wmm.xml
16.
 
What portal resources are scoped for virtual portal?Portal pages.Portlet instances.Portal Search Engine search services and search collections. This includes the search contentsources.
17.
 
What portal resources can't be separated for virtual portal ?Themes and skins.Vault segments and vault slots.Supported clients and mark-ups.Composite applications and templates.Policies.

18.
 
How do you enable temporary and extended trace logging for WebSphere Portal ?Temporary traces can be set for a temporary period by using the administration portletEnable Tracing or the IBM WebSphere Application Server administrative console and alsousing the
Enable Tracing
portlet in the portal administration page.To enable extended trace settings for a longer period of time, that is, for more than onesession, switch them on in the WebSphere Application Server configuration, save the

updates and restart the portal server.


19.
 
What are the different states of the syndication process ?Idle: No syndication is occurring.Pending: A request has been made to the syndicator, but it has yet to initiate a request tothe syndication application.Queued: The syndicator has sent a request to the syndication application, but syndication isnot yet active.Active: Syndication is occurring between the syndicator and subscriber.Disabled: Syndication is currently disabled.


20.
 
What are the two types of rendering portlets ?Local rendering portlet and Remote rendering portlet
=============================================

IBM WebSphere Portal Interview Questions

Difference and similarities between servlet and portlets?
ANS: Essentially, Servlets provide content that normally takes up the whole page in a browser (unless you're using frames), and portlets provide content that is wrapped by a window. With portlets, you can have multiple portlets side by side with one another and each one can provide content and functionality that is different from the other. A portlet can provide the complete interaction for one type of application, while another portlet can provide content for another type of application. The portal can provide some house keeping functionality and secured single point of entry to all of the portlets on a page. As for the particulars (similarities/differences) between them, please continue reading.
Here are some similarities:
Servlets and portlets are web based components that utilize Java for their implementation
Portlets are managed by a portlet container similar to a servlet container
Both of these components generate content, which can be static or dynamic
Both portlets and servlets have a lifecycle that is controlled by the container
The client/server model is used for both servlets and portlets
The packaging and deployment are essentially the same
The manner in which the classes are loaded and the class loaders that perform the work are also the same
Lifecycle management is similar
The Request and Response semantics are also similar
Here are some differences:
Servlets can provide complete web pages, whereas portlets only provide fragments. These fragments are then aggregated to form a complete web page by the portal
Portlets aren?t allowed to generated HTML code that contains tags such as base, body, frame, frameset, head, html, or title. The iframe tag can be used with caution.
The user cannot access a portlet directly using a URL in the way that a servlet is accessed. Instead, the URL points to the page containing all of the portlets on one page
Communication between the web client and the portlets is performed through the portal
Portlets can be provided with buttons or controls to manipulate the portlets? window states or portlet modes
Multiple instances of a single portlet can be placed onto the same page
Portlets support persistent configuration and customization
Portlets also support user profile information
Portlets support two scopes within the session; application scope and portlet scope
There are several things that servlets are allowed to do, but portlets aren?t. These include the following:
Portlet aren?t allowed to set the character set encoding of the response
Portlet also aren?t allowed to set the HTTP headers on the response
Portlet cannot manipulate the URL of the client request to the portal
---------------------------------------------------------
What is a portal ?
A portal can be best described as a web site that acts as a "point of entry" or a gate to a larger system. While it seems pretty difficult to define a portal in the strictest sense, these are some of the common features of portals:
Content aggregation:
Portals tend to aggregate content from multiple, disparate sources and provide one unified view of the same.
Personalization:
This refers to the ability of the portal to tailor the content/services that it offers according to the user of the portal.
Search:
Most if not all portals, offer some form of searching of it's content and sometimes even content from external sources.
Single Sign On:
Allows users to authenticate once to the portal and thereby allows access to many other systems without the need for re authentication.
---------------------------------------------------------
Portlet Lifecycle and when init and destroy method gets called?
ANS:
This life cycle of a portlet is expressed through the init, processAction,
render and destroy methods of the Portlet interface.
A servlet's init(ServletConfig) method is called by the server immediately after the server constructs the servlet's instance.
Depending on the server and its configuration, this can be at any of these times:
When the server starts
When the servlet is first requested, just before the service() method is invoked
At the request of the server administrator
The init() method is typically used to perform servlet initialization--creating or loading objects that are used by the servlet in the handling of its requests. Why not use a constructor instead? Well, in JDK 1.0 (for which servlets were originally written), constructors for dynamically loaded Java classes (such as servlets) couldn't accept arguments. So, in order to provide a new servlet any information about itself and its environment, a server had to call a servlet's init() method and pass along an object that implements the ServletConfig interface. Also, Java doesn't allow interfaces to declare constructors. This means that the javax.servlet.Servlet interface cannot declare a constructor that accepts a ServletConfig parameter. It has to declare another method, like init(). It's still possible, of course, for you to define constructors for your servlets, but in the constructor you don't have access to the ServletConfig object or the ability to throw a ServletException.
Servlet programming is made possible through the classes and interfaces of two packages: javax.servlet and javax.servlet.http. Of these classes and interfaces, the javax.servlet.Servlet interface is the most important interface. All servlets must implement this interface or extend a class that does.
The Servlet interface has five methods, whose signatures are as follows:
public void init(ServletConfig config) throws ServletException
public void service(ServletRequest request, ServletResponse response)
 throws ServletException, java.io.IOException
public void destroy()
public ServletConfig getServletConfig()
public java.lang.String getServletInfo()
Related Reading
The init, service, and destroy methods are the servlet's lifecycle methods. The init method is called once by the servlet container after the servlet class has been instantiated to indicate to the servlet that it being placed into service. The init method must complete successfully before the servlet can receive any requests. A servlet programmer can override this method to write initialization code that needs to run only once, such as loading a database driver, initializing values, and so on. In other cases, this method is normally left blank.
The service method is then called by the servlet container to allow the servlet to respond to a request. The servlet container passes a javax.servlet.ServletRequest object and a javax.servlet.ServletResponse object. The ServletRequest object contains the client's HTTP request information and the ServletResponse encapsulates the servlet's response. These two objects enable you to write custom code that determines how the servlet services the client request.
The servlet container calls the destroy method before removing a servlet instance from service. This normally happens when the servlet container is shut down or when the servlet container needs some free memory.
This method is called only after all threads within the servlet's service method have exited or after a timeout period has passed. After the servlet container calls destroy, it will not call the service method again on this servlet. The destroy method gives the servlet an opportunity to clean up any resources that are being held (for example, memory, file handles, and threads) and make sure that any persistent state is synchronized with the servlet's current state in memory.
--------------------------------------------------------------
Difference between JSR168 and JSR286?
ANS:
--------------------------------------------------------------
Difference between WPS5.0 and WPS6.1?
ANS:
--------------------------------------------------------------
How to Customize Login functionality.?
ANS:
In WebSphere Portal 6.0.1 and later versions, there is a new portlet service that allows you to log into Portal. This service still takes advantage of the LoginUserAuth in the login process. You can also write your own Login portlet and handle any validation or processing before or after the login process.
To use this service with Rational Application Developer (RAD), you must be sure to add the following to your build path:
wp.auth.cmd.jar
wp.auth.base.jar
You can find these two .jar files in the <portalserver>\base\wp.auth.base\shared\app and <portalserver>\base\wp.auth.cmd\shared\app directories in your WebSphere Portal 6.1 install.
The first portlet service is the following:
com.ibm.portal.portlet.service.login.LoginService
To access this service, add code similar to the following (best done in the "init" method of the portlet):
PortletServiceHome psh;
javax.naming.Context ctx = new javax.naming.InitialContext();
psh = (PortletServiceHome) ctx.lookup(LoginHome.JNDI_NAME);
loginHome = (LoginHome) psh.getPortletService(LoginHome.class);
Then, in your processAction, you can log the user in using code such as:
LoginService loginService = (LoginService) loginHome.getLoginService(request, response);
String userId = request.getParameter(FORM_ID);
String password = request.getParameter(FORM_PASSWORD);
Map contextMap = new HashMap();
contextMap.put(LoginService.DO_RESUME_SESSION_KEY, new Boolean(false));
try {
loginService.login(userId, password.toCharArray(), contextMap, null);
} catch (Exception ex) {
System.err.println("this login failed with = " + ex.getMessage());
ex.printStackTrace();
}
You must also add a login form to the JSP page which has already been done and is in the first portlet provided.
At this point, you would be logged in or not, depending on the response from the LoginService. Remember that once you call the login service method, the control will not return to your portlet code if the user is logged in because Portal will do a redirect to the proper Portal page (unless there is an authentication error or a block).
Link : https://www-304.ibm.com/support/docview.wss?uid=swg21358508
--------------------------------------------------------------
What are portlet filters?
ANS:
--------------------------------------------------------------
What is credential vault?
ANS:
--------------------------------------------------------------
What virtual portal?
ANS:
--------------------------------------------------------------
What is LDAP?
ANS:
LDAP is an Internet standard protocol used by applications to access information in a directory.
In LDAP, directory entries are arranged in a hierarchical tree-like structure, starting at a root and then branching down into individual entries. At the top level of the hierarchy, entries represent larger organizations. Under these larger organization in the hierarchy might be entries for smaller organizations. The hierarchy might end with entries for individual people or resources.

--------------------------------------------------------------
What is difference between PortletContext and PortletSession?
ANS:
--------------------------------------------------------------
What to create customize Mode.?
ANS:
--------------------------------------------------------------
How to change Portlet Title in JSR286?
ANS:
--------------------------------------------------------------
What are difference ways to deploy Themes and Portlets.?
ANS:
--------------------------------------------------------------
What is path of serverlogs on UNIX?
ANS:
cd /opt/WebSphere61/wp_profile/logs/wpsAS01;view SystemOut.log
--------------------------------------------------------------
How to run xmlaccess script on UNIX?
ANS:
ssh rasde90002-man.nl.rbsgrp.net;
sudo su - was
opt/WebSphere61/PortalServer/bin/xmlaccess.sh -in /var/tmp/XYZ.xml -user abcd -pwd abcd -url http://abcd.nl.net/gts/config/ -out /var/tmp/abcd_OUT.xml
--------------------------------------------------------------
How maven is configured and use?
ANS:
--------------------------------------------------------------
Difference between public render parameter and eventing.
ANS:
--------------------------------------------------------------
Why struct can not be used with portlets?
ANS:
--------------------------------------------------------------
How two do cross page communication?
ANS:

--------------------------------------------------------------
How AJAX can be used with servresource method.
ANS:
--------------------------------------------------------------
Difference between HASHMAP and HASHTABLE?
ANS:
--------------------------------------------------------------
Explain collection framework?
ANS:
--------------------------------------------------------------
How personilization works in WPS?
ANS:
--------------------------------------------------------------
What is use of Config mode?
ANS:
--------------------------------------------------------------
What is dojo classes?
ANS:
--------------------------------------------------------------
What is JQuery and what is the use?
ANS:
--------------------------------------------------------------
What is difference between PortletContext.getParameter and PortletConfig.getParameter?
ANS:
Context-wide init-params share the same context space as Servlets and JSPs belonging to the same application and they are defined in the web.xml file. You can get them using PortletContext.getInitParameter() method.
Portlet-wide initialization parameters on the other hand belong in the portlet.xml file and you can get them using PortletConfig.getInitParameter() method.
--------------------------------------------------------------
How portlet Preference are stored  and retrieved?
ANS:
--------------------------------------------------------------
What is WCM and how it is used?
--------------------------------------------------------------
Can we able to access PortletSession in ServeResource Method?
-------------------------------------------------------------
What is a PortalSession Interface ?
ANS:
User identification across many requests and transient information storage about the user is processed by PortletSession interace. One PortletSession is created per portlet application per client.
The PortletSession interface provides a way to identify a user across more than one request and to store transient information about that user.
The storing of information is defined in two scopes- APPLICATION_SCOPE and PORTLET_SCOPE.
APPLICATION_SCOPE: All the objects in the session are available to all portlets,servlets, JSPs of the same portlet application, by using APPLICATION_SCOPE.
PORTLET_SCOPE: All the objects in the session are available to the portlet during the requests for the same portlet window. The attributes persisted in the PORTLET_SCOPE are not protected from other web components.
---------------------------------------------------------------
What is the difference between application server and web server?
ANS:
ApplicationServer: takes care of Security, Transaction, Multithreading, Resource pooling, load balancing, clustering, performence, highly availability, scalability, etc. Exposes business logic to client applications through various protocols, possibly including HTTP. Supports deployment of .war and .ear filesApplication server = webserver + EJB container.
Webserver: handles HTTP protocol. Receives HTTP request, it responds with an HTTP response.

---------------------------------------------------------------
What is a portlet container and where will I find one?
A portlet container runs portlets and provides them with the required runtime environment. A portlet container contains portlets and manages their lifecycle. It also provides persistent storage for portlet preferences. A portlet container receives requests from the portal to execute requests on the portlets hosted by it.A portlet container is not responsible for aggregating the content produced by the portlets. It is the responsibility of the portal to handle the aggregation.
A portal and a portlet container can be built together as a single component of an application suite or as two separate components of a portal application

==================================================

Portal Faq's

List of interview questions that i might ask someone for the job of WebSphere Portal Server Administrator.

  1. What is the difference between Application Server and Portal Server ?

    Application servers extend the ability of a Web server to handle Web application requests, and enables a server to generate a dynamic, customized response to a client request. A portal server extends the application server by providing a portlet container that can run portlets and to create portal a website that provides users with a single point of access to Web-based resources by aggregating those resources in one place.
  2. What are the steps involved in deploying themes and skins in a clustered production websphere portal environment ?

    Export the WebSphere wps.ear (Portal EAR) using wsadmin.
    Use EarExpander tool to expand the exported wps.ear file.
    Copy the updated themes and skins into ../themes/html, ../skins/html folder.
    Use EarExpander tool to collapse the EAR directory into an EAR file.
    Use wsadmin to update the wps.ear to complete the deployment of updated themes and skins.
  3. What changes needs to be done to view changes to your theme and skins JSPs without restarting the portal server ?

    You need to enable automatic JSP loading by setting reloadingEnable property to true in ibm-web-ext.xmi file of the wps.ear.
  4. What are the 3 different ways of installing a portlet application in WebSphere Portal ?

    Install a portlet using the portal administration page using Web Modules portlet.
    Install a portlet using xmlaccess tool.
    Pre-deploy a portlet as a standard EAR by installing the portlet WAR file in WAS console and then registering the portlet using xmlaccess.
  5. What is the purpose of XMLAccess configuration file Export.xml & ExportRelease.xml ? What is the difference ? & When will you use one over the other ?

    Export.xml exports the complete portal configuration and useful when transferring configurations between development installations.
    ExportRelease.xml exports the complete portal configuration from the release domain as required by the portal ReleaseBuilder tool and useful when tranaferring different release configurations between staging and production environments.
  6. List me the steps involved in building a release in WebSphere Portal ?

    If you have a completely new installation of the staging server and the production server:

    Install the staging server, then install the production server.
    Develop a release on the staging server.
    Build the release on the staging server.
    Empty portal contents on the production server by running the WPSconfig.sh|bat action-empty-portal task.
    Import that release onto the production server. Refer to Transferring a complete configuration for information.

    If you already have a production server without a staging system:

    Export the release of your production server.
    Install an empty staging server using one of the following two methods:
    Install the staging server with the flag -W emptyPortal.active=True.
    After installing and configuring the staging server, run the WPSconfig.sh|bat action-empty-portal task.
    Import the production release onto the staging server. Refer to Transferring a complete configuration for information.
    Develop and build a new release on the staging server.
    Export that new release from the staging server.
    Use ReleaseBuilder to generate the differential between the two releases.
    Import the differential onto the production server.
  7. What is the purpose of ReleaseBuilder tool in WebSphere Portal ?

    ReleaseBuilder enables management of release configurations independent of user configurations and used during staging of follow-on releases of WebSphere portals, configurations, and artifacts need to be moved between systems.
  8. What are the steps involved in editing WebSPhere Member Manager (wmm.xml) files on a federated node ?

    On the primary node of the WebSphere Portal cluster, check out the files using ./WPSconfig.sh check-out-wmm-cfg-files-from-dmgr task.
    Make any changes to the Member Manager files. The files can be edited in the portal_server_root/wmm directory on the WebSphere Portal node.
    When you have completed your changes, check the files back in using ./WPSconfig.sh check-in-wmm-cfg-files-to-dmgr.
  9. How to change the default portal URI /wps/portal after installation ?

    Set the property WpsContextRoot to the new URI and run ./WPSConfig.sh modify-servlet-path task.
  10. List different types of user registry supported by WebSphere Portal ?

    LDAP (includes LDAP with an optional database user registry).
    Database user registry.
    Custom User registry, (non-LDAP, non-database).
  11. What is LDAP realm support and why would I want to use it?

    A Realm allows you to group users from one or more LDAP trees of one user registry and expose them as a coherent user population to WebSphere Portal; this is also referred to as horizontal partitioning. Realms allow a flexible user management with various configuration options; for example, you can combine principals from one or more corporate LDAP tree. A realm must be mapped to a Virtual Portal to allow the realm's defined user population to login to the Virtual Portal.
  12. What is an Application group and why would I want to use it ?

    Application groups is a concept that allows you to define user groups within the database user registry with members (users or groups) contained in the LDAP user registry you configured. The benefit of application groups is that you can create Groups that are only used in WebSphere Portal particularly in scenarios where there is Read-only LDAP or special group setup specific to the portal.
  13. What are the two methods to install the empty staging WebSphere portal server ?

    Empty portal contents on the staging server by running the ./WPSconfig.sh action-empty-portal.
    Install portal with the ./install.sh -W emptyPortal.active="True" option.
  14. How do you stop portal traffic to the node being upgraded in 24x7 cluster upgrade process ?

    Locate the cluster member being upgraded, and change the value in the Configured weight column from a value to zero and make sure the plugin config information is propagated to webserver to stop traffic.
  15. How to set limits on searches for users and groups ?

    Setting a maximum number of search results maximumSearchResults="200"
    in wmm.xml
  16. What portal resources are scoped for virtual portal ?

    Portal pages.
    Portlet instances.
    Portal Search Engine search services and search collections. This includes the search content sources.
  17. What portal resources can't be seperated for virual portal ?

    Themes and skins.
    Vault segments and vault slots.
    Supported clients and markups.
    Composite applications and templates.
    Policies.
  18. How do you enable temporary and extended trace logging for WebSphere Portal ?

    Temporary traces can be set for a temporary period by using the administration portlet Enable Tracing or the IBM WebSphere Application Server administrative console and also using the Enable Tracing portlet in the portal administration page.

    To enable extended trace settings for a longer period of time, that is, for more than one session, switch them on in the WebSphere Application Server configuration, save the updates and restart the portal server.
  19. What are the different states of the syndication process ?

    Idle: No syndication is occurring.
    Pending: A request has been made to the syndicator, but it has yet to initiate a request to the syndication application.
    Queued: The syndicator has sent a request to the syndication application, but syndication is not yet active.
    Active: Syndication is occurring between the syndicator and subscriber.
    Disabled: Syndication is currently disabled.
  20. What are the two types of rendering portlets ?

    Local rendering portlet and Remote rendering portlet.
You can also find answers to all of the questions in the WebSphere Portal 6.0 Information Center or check the WebSphere Portal Books 


==============================================

IBM Websphere Portal Interview Questions and Answers for Developers

Below is the list of IBM Websphere Portal basic interview questions and answers. These IBM Websphere Portal interview questions and answers are meant for freshers as well as for experienced developers. So, If you going for an interview on IBM Websphere Portal,  I suggest you to must give a look at following IBM Websphere Portal interview questions. These IBM Websphere Portal interview questions are based on basic introduction to IBM Websphere Portal,  why we need IBM Websphere Portal, Dynacache, Websphere Portal Life Cycle, PortletContext, PortletSession, Websphere Portal Architecture, Trace and logging for WebSphere Portal, LDAP, ReleaseBuilder tool in WebSphere Portal, Authoring and Presentation Templates  etc. So lets have a look on following basic IBM Websphere Portal interview questions and answers.

1.What is Portal?

Portal is nothing but a web/J2EE application installed on an application server. Portal provides content aggregation, personalization, authorization and authentication.

2.What are Portlets?

Portlets are applications managed by portal container which generate fragment of portal page rather than complete page as generated by servlet.

3. Differences between a Portlet and servlet?

Portlets generate only fragment of the portal page rather than entire page
Portlets have more refined request cycle than servlet
Portlets have predefined modes and window states
Portlets are can be only invoked using portlet URLs

4.What are different phases of portlet life cycle?

Portlet life cycle has following phases

Initialization(init method)
Process action
Process event
Resource serving
Render
Destroy

5. What are the different types of Portlet URLs and their use?

There are three types of portlet URLs

Action URL- used for submitting forms
Render  URL- used for links
Resource URL – used for ajax calls and serving documents (pdf files).

6. Difference between JSR 168 and JSR 286 specifications?

The major changes in JSR 286 are events, public render parameters, resource serving and portlet filter.

7. How is the inter portlet communication carried out in JSR 168 portlet?

The inter portlet communication for JSR 168 in websphere portal can be done using dyna cache or shared library. We can create a hash map or any data structure, where we can store an object that need to be transported with unique key and retrieve it from the receiving portlet

8. Can you create a DB connection in render phase? Explain reason?

Yes we can create DB connection in render phase of portlet. But it is not suggested to create one in render phase because it will called every time any other portlet on the page is changed and may result in stale DB connections.

9. What are different modes supported by JSR 286?

Different modes supported by JSR 286 are view, edit and help. A portlet should define its supported mode is portlet.xml file.

10. What are different States supported by JSR 286?

Different  portlet states supported are normal, maximized and minimized.

11. What is Dynacache?

Dynacache is disturbed map used to store and retrieve objects from memory. IBM provides API to create, store retrieve the objects.

12. What is CSA?

Client-side aggregation (CSA) is a new method of rendering a WebSphere Portal page that moves the rendering workload from the server to the client. It is made possible by the Representational State Transfer (REST) services introduced in WebSphere Portal 6.1.

In the traditional server-side aggregation (SSA) rendering, the page and each of the portlets is completely rendered on the server, using JSPs, and returned to the client in one big response. 

In contrast, in CSA, we request only the pieces of information from the server that are required to update the page as a result of the user’s interactions with the page.

For example, if a page contains four portlets and the user clicks a link in one of the portlets, only that portlet is updated. This means the server must render only one portlet, instead of four portlets plus the theme for an interaction with a single portlet.

The REST services also take greater advantage of caching. Since each individual artifact can be independently cache-able, the client ends up retrieving a greater number of responses directly out of cache, further reducing the server workload.

13. What are different modes available in Websphere Portal?

A part for standard modes ( view, edit, help) it provides edit_ defaults and configure mode.

14. What can you do with XML access scripts?

Xml access is command line utility used for exporting and importing portal configurations. It can be used for backing up the configuration of certain environments, for loading new configurations (for new portlets or pages, for example), or for updating existing portlets when a new WAR file is provided by development. There are few samples C:\IBM\WebSphere\PortalServer\doc\xml-sample

15. What is model spi and what is it used for?

Web sphere uses different model for providing content aggregation and navigation The available models are Content model, navigation model , navigation selection model and layout model. These models are provided using model spi.

16. What is Navigation model? 

Navigation model is used to get topology of the navigation available to a user.

17. How do you solve problems related to themes and skins?

We can debug theme and skin problems by client side logging and using firebug for javascript problems

18. What is Web Content Management System (WCMS)?

Web Content management system is a software system that helps build and manage a Web entities (html pages, documents etc.) Once setup is complete it provides templates for authoring, workflow management to the content.  It is easy to use for non technical user.

19. What is syndication?

Syndication, (Web syndication in particular) is a ability to provide users updates of the content from the site. The most popular formats of web syndication are RSS and ATOM feeds.

20. What is local rendering and remote rendering?

The web content management portlets can be rendered local or remotely. A local rendering portlet displays content on the same portal as the instance where the web content manager is installed. A remote rendering portlet displays Web content on a different portal server than the instance where Web Content Manager is installed.

21. What are different steps in creating content for WebSphere portal WCM?

The following are different steps involved in creating the content for the WebSphere portal WCM

Create Library
Create Workflow
Create Site area (Sites are removed in WebSphere Portal 7.0)
Create Authoring templates
Create Presentation templates
Map authoring and presentation templates

22. What are workflows?

A workflow is a sequence of steps that are followed in creating approved content. In WebSphere portal, A workflow contains one or more stages. Every stage contains one or more actions, the following are different Workflow actions available in WebSphere Publish, Expire, Email, Scheduled Move, Custom Actions.

23. What are Authoring and Presentation Templates?

Authoring Template- This template is defined using authoring portlet, where we define the access information,  form properties and default content. It does not contain any information for presentation and The elements in this form are linked to presentation template.

Presentation Template- This allow to change the look of a page without having to update what is being displayed on a page. It will allow to define Page style, Page layout and map element to the authoring templates.

24. What is the difference between personalization and customization?

Personalization-   It means to serve the user or consumer with user specific data depending on his interests collected over a time. A real world example would be google serving ads basing on the recent search you made.

Customization-  It is ability provided to the user to change the layout, styling of the page and save it.

25. What is the difference between Application Server and Portal Server?

Application servers extend the ability of a Web server to handle Web application requests, and enables a server to generate a dynamic, customized response to a client request. A portal server extends the application server by providing a portlet container that can run portlets and to create portal a website that provides users with a single point of access to Web-based resources by aggregating those resources in one place.

26. What are the steps involved in deploying themes and skins in a clustered production websphere portal environment ?

Export the WebSphere wps.ear (Portal EAR) using wsadmin.
Use EarExpander tool to expand the exported wps.ear file.
Copy the updated themes and skins into ../themes/html, ../skins/html folder.
Use EarExpander tool to collapse the EAR directory into an EAR file.
Use wsadmin to update the wps.ear to complete the deployment of updated themes and skins.

27. What changes needs to be done to view changes to your theme and skins JSPs without restarting the portal server?

You need to enable automatic JSP loading by setting reloadingEnable property to true in ibm-web-ext.xmi file of the wps.ear.

28. What are the 3 different ways of installing a portlet application in WebSphere Portal?

Install a portlet using the portal administration page using Web Modules portlet.
Install a portlet using xmlaccess tool.
Pre-deploy a portlet as a standard EAR by installing the portlet WAR file in WAS console and then registering the portlet using xmlaccess.

29. What is the purpose of XMLAccess configuration file Export.xml & ExportRelease.xml? What is the difference & When will you use one over the other?

Export.xml exports the complete portal configuration and useful when transferring configurations between development installations.

ExportRelease.xml exports the complete portal configuration from the release domain as required by the portal ReleaseBuilder tool and useful when tranaferring different release configurations between staging and production environments.

30. List me the steps involved in building a release in WebSphere Portal?

If you have a completely new installation of the staging server and the production server:

Install the staging server, then install the production server.
Develop a release on the staging server.
Build the release on the staging server.
Empty portal contents on the production server by running the WPSconfig.sh|bat action-empty-portal task.
Import that release onto the production server. Refer to Transferring a complete configuration for information.

If you already have a production server without a staging system:

Export the release of your production server.
Install an empty staging server using one of the following two methods:
Install the staging server with the flag -W emptyPortal.active=True.
After installing and configuring the staging server, run the WPSconfig.sh|bat action-empty-portal task.
Import the production release onto the staging server. Refer to Transferring a complete configuration for information.
Develop and build a new release on the staging server.
Export that new release from the staging server.
Use ReleaseBuilder to generate the differential between the two releases.
Import the differential onto the production server.

31. What is the purpose of ReleaseBuilder tool in WebSphere Portal?

ReleaseBuilder enables management of release configurations independent of user configurations and used during staging of follow-on releases of WebSphere portals, configurations, and artifacts need to be moved between systems.

32. What are the steps involved in editing WebSPhere Member Manager (wmm.xml) files on a federated node?

On the primary node of the WebSphere Portal cluster, check out the files using ./WPSconfig.sh check-out-wmm-cfg-files-from-dmgr task.
Make any changes to the Member Manager files. The files can be edited in the portal_server_root/wmm directory on the WebSphere Portal node.
When you have completed your changes, check the files back in using ./WPSconfig.sh check-in-wmm-cfg-files-to-dmgr.

33. List different types of user registry supported by WebSphere Portal?

LDAP (includes LDAP with an optional database user registry).
Database user registry.
Custom User registry, (non-LDAP, non-database).

34. What is LDAP realm support and why would I want to use it?

A Realm allows you to group users from one or more LDAP trees of one user registry and expose them as a coherent user population to WebSphere Portal; this is also referred to as horizontal partitioning. Realms allow a flexible user management with various configuration options; for example, you can combine principals from one or more corporate LDAP tree. A realm must be mapped to a Virtual Portal to allow the realm's defined user population to login to the Virtual Portal.

35. What is an Application group and why would I want to use it?

Application groups is a concept that allows you to define user groups within the database user registry with members (users or groups) contained in the LDAP user registry you configured. 

The benefit of application groups is that you can create Groups that are only used in WebSphere Portal particularly in scenarios where there is Read-only LDAP or special group setup specific to the portal.

36. What are the two methods to install the empty staging WebSphere portal server?

Empty portal contents on the staging server by running the ./WPSconfig.sh action-empty-portal.
Install portal with the ./install.sh -W emptyPortal.active="True" option.

37. How do you stop portal traffic to the node being upgraded in 24x7 cluster upgrade process ?

Locate the cluster member being upgraded, and change the value in the Configured weight column from a value to zero and make sure the plugin config information is propagated to webserver to stop traffic.

38. How to set limits on searches for users and groups?

Setting a maximum number of search results maximumSearchResults="200" in wmm.xml

39. What portal resources are scoped for virtual portal?

Portal pages.
Portlet instances.
Portal Search Engine search services and search collections. This includes the search content sources.

40. What portal resources can't be seperated for virual portal?

Themes and skins.
Vault segments and vault slots.
Supported clients and markups.
Composite applications and templates.
Policies.

41. How do you enable temporary and extended trace logging for WebSphere Portal?

Temporary traces can be set for a temporary period by using the administration portlet Enable Tracing or the IBM WebSphere Application Server administrative console and also using the Enable Tracing portlet in the portal administration page.

To enable extended trace settings for a longer period of time, that is, for more than one session, switch them on in the WebSphere Application Server configuration, save the updates and restart the portal server.

42. What are the different states of the syndication process?

Idle: No syndication is occurring.
Pending: A request has been made to the syndicator, but it has yet to initiate a request to the syndication application.
Queued: The syndicator has sent a request to the syndication application, but syndication is not yet active.
Active: Syndication is occurring between the syndicator and subscriber.
Disabled: Syndication is currently disabled.

43. What are the two types of rendering portlets?

Local rendering portlet and Remote rendering portlet

44. Explain Portal architecture.

The core implementation of the portal is UI, hosted by a Portal server. The HTTP requests, HTML responses, and returning appropriate portal pages are handled by the Portal UI. Enterprise Web application also can be handled by the Portal Server.

The portal architecture has the following:

Automaton Server: This server performs the management of job scheduling and implementation of a portal. It accesses all remote crawlers and profile services retrieved and stored from a remote database.

Image Server: This server hosts images and other web page content used by web services and a portal. With this configuration, large static files are to be sent directly to the browser without portal server impacts.

Search Server: This server indexes and searches all the information, applications, communities, documents, web sites through portal.

Collaboration Server: Web content publication and management for portals and web applications are supported by this server. Its functionality can be accessed by a remote web services through Enterprise Web Development kit.

Content Server: Publication and management of web content for portals and web applications along with form based publishing, branding, templates, content expiration is allowed by this server.

Authentication Server: This server handles the portal authentication for users and remote services can be accessed through EDK.

Remote Servers: Web services written using the EDK are hosted by remote servers. The servers can be in different countries, on different platforms and domains. 

45. What is PortletSession interface?

User identification across many requests and transient information storage about the user is processed by PortletSession interace. One PortletSession is created per portlet application per client.

The PortletSession interface provides a way to identify a user across more than one request and to store transient information about that user.

The storing of information is defined in two scopes- APPLICATION_SCOPE and PORTLET_SCOPE.

APPLICATION_SCOPE: All the objects in the session are available to all portlets,servlets, JSPs of the same portlet application, by using APPLICATION_SCOPE.

PORTLET_SCOPE: All the objects in the session are available to the portlet during the requests for the same portlet window. The attributes persisted in the PORTLET_SCOPE are not protected from other web components. 

46. What is PortletContext interface?

The portlet view of the portlet container is defined by PortletContext. It allows the availability of resources to the portlet. Using this context, the portlet log can be accessed and URL references to resources can be obtained. There is always only one context per portlet application per JVM. 

47. How to change the default portal URI /wps/portal after installation?

Set the property WpsContextRoot to the new URI and run ./WPSConfig.sh modify-servlet-path task.
================================================

Monday 21 October 2013

SSL

The SSL configuration for WebSphere provides the authentication between the WEB Server (IBM IHS 2.0.47.1) and the WebSphere JVM. The configuration uses Self Signed Certificates with a Five Year (1825 days) operational limit. No Keys are purchased to provide this security as no customer facing interaction is involved, hence certificates are self signed.
The principle sections of the setup are:-
 ServerKey.jks         -        Holds the WebSphere Server Certificate
ServerTrust.jks        -        Holds the Server Key, Client Key and the Plugin Key
                                         allowing WebSphere to trust client connections (SAS,
                                         SOAP) and the WEB Server via the WEB Plugin.
ClientKey.jks           -        Holds the Client Certificate for SAS & SOAP /
                                         WebServices Authentication.
ClientTrust.jks          -        Holds the Server Key and Client Key allowing the
                                         SAS & SOAP Web Services to trust the WebSphere
                                         JVM.
PluginKey.kdb           -        Holds the Plugin Certificate and the Server Key to
                                         enable the Web Server to trust the WebSphere JVM.
PluginKey.sth           -        Holds the Access password for the PluginKey.kdb