What is portal?
Portal is nothing but a web/J2EE application installed on an web application server. Portal provides content aggregation, personalization, authorization and authentication
What are portlets?
Portlets are applications managed by portal container which generate fragment of portal page rather than complete page as generated by servlet.
What is difference 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
Can you 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.
What is Liferay ?
Liferay is an open source JSR 286 compliant portal and social platform, written in Java. It provides fully functional built-in portlets (60+) and also various integration points to seamlessly integrate with other third-party softwares like Alfresco, Sharepoint etc.
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
What are the different Portlet URLs and their use?
There are three types of portlet URLs
- Action URL: It is used for submitting forms
- Render URL: It is used for links
- Resource URL : It is used for AJAX calls and serving documents (pdf files).
What is difference between JSR 168 and JSR 286 specifications?
The major changes in JSR 286 are events, public render parameters, resource serving and portlet filter.
How is the inter portlet communication carried out in JSR 168 portlet?
The inter portlet communication for JSR 168 in web sphere 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
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.
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.
What are different States supported by JSR 286?
Different portlet states supported are normal, maximized and minimized.
What are public render parameters?
Public render parameters are used to share the information (mostly a string) between different portlets.
How can we transport objects using public render parameters?
Public render parameters are typically used to just share the parameters between portlets. But we can work around by creating a map in the shared library and use the key as public render parameters and store objects correspondingly.
What is Web DAV? What are theme components stored in it?
Web DAV (web based distributed authoring and versioning) is nothing but a extra set of methods using HTTP for managing documents. In WebSphere portal all the static components of the theme are stored in Web DAV. This is one of the options of storing the theme. We can also load theme as .war file.
What is Automaton Server in Portal Architecture?
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.
What are the concepts and capabilities of portal structure markup language, PSML?
PSML was created to allow abstraction and content structure within Jetspeed.
It has two mark-ups
Registry mark-up: Describes the availability of resources to the Jetspeed engine. It supports multiple portlet registries.
Site markup: The availability of portlets are described by this markup, which is displayed for a given user.
What are different entry points to Web DAV?
The three different entry points to web DAV are
http://<server name>:<port>/wps/mycontenthandler/dav/fs-type1
http://<server name>:<port>/wps/mycontenthandler/dav/themelist
http://<server name>:<port>/wps/mycontenthandler/dav/skinlist
What are Credential Vaults?
In WebSphere portal, credential vault is the repository to store the user id and password. We can use credential vault service API to store and retrieve them programmatically.
What are different types of credential vault segments?
Vault segment is the partition of the vault. There are two types of segments
Administration managed
User managed
What are the different types of slots?
Private slot- private- only one portlet instance
Shared slot- shared- any of the users portlets
Administrator slot-private-any of the user’s portlets
System slot- shared- all users and all portlets
What are virtual portals?
Virtual portal is same as base portal which can run on same JVM. We can have as many as 150 virtual portals in single installation. It will be separate in all respects but share the same system resource of the server.
What is Dynacache?
Dynacache is disturbed map used to store and retrieve objects from memory. IBM provides API to create, store retrieve the objects.
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.
What are different modes available in Websphere Portal?
A part for standard modes (view, edit, help) it provides edit_ defaults and configure mode.
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
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.
Â
What is the main package which is used for model SPI?
Navigation model is used to get topology of the navigation available to a user.
How did 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
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.
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.
Can you explain function-based portals and user-based Portals?
Function-based portals:
Horizontal Portals: These are the portals are of type general interest. Yahoo!, Lycos, AOL, Freeserve, Sympatico are examples of horizontal portals.
Vertical Portals: They provide a gateway to the information pertaining to a specific industry such as insurance, banking, finance, automobile, telecom etc.
User-Based Portals:
B2B Portals: The enterprises extend to suppliers and partners by using B2B portals.
B2C Portals: The enterprises extend to customers for ordering, billing, services by using B2C portals.
B2E Portals: The enterprise knowledge base integration and related applications into user customizable environment is done with B2E portals. This environment is like one stop shop.
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.
What are different steps in creating content for Web Sphere portal WCM?
The following are different steps involved in creating the content for the Web Sphere portal WCM
- Create Library
- Create Workflow
- Create Site area (Sites are removed in Web Sphere Portal 7.0)
- Create Authoring templates
- Create Presentation templates
- Map authoring and presentation templates
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 Web Sphere Publish, Expire, Email, Scheduled Move, Custom Actions.
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 allows changing the look of a page without having to update what is being displayed on a page. It will allow defining Page style, Page layout and mapping element to the authoring templates.
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.