Introduction to the WebSphere Portal Server
Topics
What is a Portal
An Example of A WebSphere Portal Site
Benefits of Portal Sites
General Portal Architecture
The Major Components of Horizontal Portals
The Major Components of Horizontal Portals cont
WebSphere Portal Goals
WebSphere Portal Components
WebSphere Portal Components cont
WebSphere Portal Components cont
WebSphere Portal Accessibility
WebSphere Portal Packaging
WebSphere Portal Requirements
A Typical Network Architecture for WebSphere Portal
WebSphere Portal Server
WebSphere Portal Server Architecture
Portal Container
Portal Engine Architecture
Page Aggregation Modules
Portlet
WebSphere Portal Built-in Portlets
Portlet Application
Portlet Mode and State
WebSphere Portlet Content Publishing (WPCP)
Portal Document Manager (PDM)
Search Engine
WebSphere Portal Information
Summary
Introduction to JSR 286 Based Portal Programming
Topics
What is JSR 286
Other API Alternatives
Relationship With J2EE
Relationship With Servlets
A Portal Site
The Portlet
Portlet Application
The portlet.xml File
Portlet Container
Summary
Portlet Development Using RAD v7.5
Objectives
The WebSphere Family
Eclipse Platform
The WebSphere Studio Product Family
Rational Web Developer
Rational Application Developer
Key Features in RAD v7.5
Views, Perspective and Editor Areas
Basic Operations with RAD Views and Perspectives
The Java Perspective
The Debug Perspective
Navigator View
Package Explorer
Outline View
Task View
Build and Validation
Import and Export Project
Templates and Code Completion
Searching
Setup Compiler Class Path
JRE Switching
Portal Development Support
RAD 7.5 Installation
Portal Server v6 Installation
Configure Portal Server Runtime
Basic Steps in Development
Project Structure
Portlet Project
Create a Project Structure
Working With the Project
portlet.xml Editor
Creating a Test Server
Managing the Server
Unit Testing
Export Portlet Application
Basic Portal Programming
Design Pattern of Portlet Applications Model-View-Controller
More on MVC
The Portlet Interface
The Hello World Portlet
Portlet Lifecycle - Initialization
Portlet Lifecycle Request Handling
Two Phase Request Processing
The render Method
The PortletRequest Interface
The PortletResponse Interface
The RenderResponse Interface
PortletURL
Example
The processAction Method
The ActionRequest Interface
The ActionResponse Interface
Example
More on Render Parameter
The GenericPortlet Class
User Session Management
Example
End of Portlet Life
Portlet Configuration
Portlet Initialization Parameter
Portlet Context
Interacting With JSP
State Management
Better View State Management
Portlet Preferences
Example: Reading Preferences
Updating Portlet Preferences
Example: Updating Preference
Validating Preference Update
Example Validation
Display Generation
Techniques in View Development
JSP Custom Tags
Available Portal Custom Tags
JSR 168 Tags
The defineObjects Tag
More on defineObjects
The actionURL Tag
The param Tag
The namespace Tag
National Language Support
Dynamic Translation
Resource Bundle File
Displaying Translated Text
More on JSTL Internationalization Tags
Example of Using Resource Bundles
Static Translation
Portlet Resource Bundle
Providing Locale Specific Preference Defaults
Advanced Programming
Portlet Caching
Programmatically Control Cache
Accessing User Information
Steps to Access User Information
Access User Information From Portlet
Portlet Services
Writing a Portlet Service
Defining the Portlet Service Interface
Example - AccountService
Writing the Portlet Service Implementation
java.util.prefs.Preferences
Example - AccountServiceImpl
Example - AccountServiceImpl - cont
Example - AccountServiceImpl - cont
Registering Portlet Services
WAS Admin Console PortletServiceRegistryService
Using a Service from a Portlet
Example
Content Access Service
Credential Vault
Credential Vault
Credential
Components of Credential Vault
Structure of the Credential Vault
Slot
Slot Scope
Credential Access Level
Single Sign-on Scenario
CredentialSlotConfig
Methods of CredentialSlotConfig
CredentialVaultService
CredentialVaultService Interface Methods
Methods of the CredentialVaultService -cont
Methods of the CredentialVaultService -cont
Example - Looking Up CredentialVaultService
Example Create a Slot
Saving Credential in a Slot
Credential Class
Classes that Implement the Credential Interface
Example Retrieve the Credential
PassiveCredential
UserPasswordPassiveCredential
ActiveCredential
ActiveCredential - cont
HttpFormBasedAuthCredential
HttpFormBasedAuthCredential - cont
Example - Using HttpFormBasedAuthCredential
Example - Using HttpFormBasedAuthCredential
Themes and Skins
Topics
Elements of a Portal Site
Page and Label
Page/Label Hierarchy
Portal Site Navigation
URL
Theme
Screen
The Home Screen
Skin
Container
How is a Page Rendered?
Directory Structure of Themes & Skins
Creating a New Theme
Creating a New Skin
Custom JSP Tags
portal-core Tags for Rendering Portal Page Components
portal-logic:if tag for Checking Conditions
if tag for Checking Conditions
Navigating Page Hierarchy
Tags for Locating Portal Resources
Tags for Generating a Portal URL
Tags for Generating a Portal URL - cont
wps Tags for Rendering portlet control icons
wps Tags for Rendering portlet control icons - cont
The Default.jsp
The Control.jsp
A Typical Layout of HTML Skins
Summary
The Portal Designer Tool
Key features of the tool:
Layout
Themes
Skins
Importing a portal site
Changing the layout
Adding portlets to a page
Creating a new theme
Creating a new skin
Editing screens
Cooperative Portlets
Cooperative Portlets
Example Use Case
Distinguishing an Action
Data Source and Destination Location
Steps to Setup Cooperation
Understanding the WSDL
A Simple Source WSDL
A Simple Source JSP
A Simple Target WSDL
Processing the Message in the Target
Wiring the Source and Target
Publishing Data from a Target
Creating Cooperative Portlets in RAD
Wiring portlets using portal designer tool
Struts and JSF Portlet Development
Introduction to Struts
Why Use Struts to Write Portlets
Struts and Portlet API Mismatch
Customizing Struts
Portal Struts Processor Class
The Struts Portlet
Struts Portlet Framework
Struts Portlet Framework Details
Generating Portlet URL
The Response Object
Action Processing
Display Rendering
Getting the Portlet Objects
Struts Logging
Creating a Struts Portlet Project
JavaServer Faces (JSF) Basics
Defining the Screen Layout
Managed Bean
Assigning the Model
HTTP Request Handling
Navigation
Advantage of JSF
Creating a JSF Portlet
Creating a JSF Portlet
Navigation State Management
Advanced: Obtaining Core Objects
Personalization
Topics
What is Personalization
Personalization
Recommendation Engine
LikeMinds Recommendation Engine
Rules Engine
Personalization Interface in Portal Server
Personalization Interface in Portal Server - Features
Composite Applications
What Is A Composite Application?
What Is A Component?
Components and Applications
Benefits Of Composite Applications
Template
Composite Application Design and Use
Creating A Template
Configuring A Template
Edit The Template Layout
Creating The Application
Configuring The Application
Using The Application
Protecting Applications and Templates
Defining Roles
Roles Portlet
Assign Application Members
Using AJAX in a Portlet
What is AJAX?
A Simple Example
The Old Way
The AJAX Way
Two Key Aspects of AJAX
What are the Advantages of the AJAX Approach?
AJAX Technologies
The Basic AJAX API
Creating the XMLHttpRequest Object
The XMLHttpRequest Object Basics
Complete Example
The Timeline
Using AJAX from a Portlet
Handling AJAX Requests
Making an AJAX Request
The client side programming model
AJAX Proxy Support
Portlet Build and Deployment Process
Introduction
Overview of The Build Process
The Build Process
Installing a Portlet Web Module
How is a Portlet Web Module Installed?
Managing Applications
Managing Applications
Managing Portlets
Adding A Portlet To A Page
Configuring A Portlet
Copying A Portlet Application
Copy A Portlet
Removing A Portlet From A Page
Uninstalling A Portlet Application
Portal Development Best Practices
Topics
Architecture Best Practices
Controller (Portlet) Guidelines
View (JSP) Guidelines
Configuration Management
Session Management
Inter Portlet Communication
Security Guidelines
Performance Tips
Performance Testing Guidelines
Summary
Web Services for Remote Portlets
Remote Portlets
WSRP
WSRP Benefits
Information Artifacts
Security Issues
WSRP Producer: Steps
WSRP Consumer: Steps