1. Introduction to WebSphere Portal Server
• What is a Portal
• An Example of a WebSphere Portal Site
• General Portal Architecture
• WebSphere Portal Products
• A Typical Network Architecture for WebSphere Portal
• WebSphere Portal Server
• WebSphere Portal Server Architecture
• Page Aggregation Modules
• Portlet
• WebSphere Portal Built-in Portlets
• Portlet Application
• Portlet Mode and State
• WebSphere Portal Information
• Java Portlet Specification 1.0 (JSR-168)
• Java Portlet Specification 2.0 (JSR-286)
• Portlet Security Overview
• Portal Access Control
• Portal User Management
• Credential Vault Service
• Best Practices For Development
2. Portlet Development Using Rational Application Developer 8.5
• The RAD 8.5 Product
• Portlet Development Support
• RAD 8.5 Installation
• Portal Server 8.0 Installation
• Basic Steps in Portlet Development
• Project Structure
• Portlet Project
• Create a Project Structure
• portlet.xml Editor
• Create a Test Portal Server
• Managing the Server
• Unit Testing
• Export Portlet Application
3. Introduction to JSR 286 Based Portal Programming
• What is JSR 286?
• Relationship With Java SE and Java EE
• Comparing Portlets with Servlets
• A Portal Site
• Portlet
• Portlet Application
• The portlet.xml File
• Portlet Definition in portlet.xml
• Portlet Container
• Portlet Window
4. Basic Portlet Programming
• Model-View-Controller in Portlet Application
• The Portlet Interface
• The Hello World Portlet
• Portlet Lifecycle - Initialization
• Portlet Lifecycle – Request Handling
• Two Phase Request Processing
• Two Phase Request Processing Architecture
• The render Method
• The PortletRequest Interface
• The PortletResponse Interface
• The RenderResponse Interface
• PortletURL
• PortletURL Example
• The processAction Method
• The ActionRequest Interface
• Example: Handling Form Submission
• The ActionResponse Interface
• Example Use of Render Parameters
• Dealing With Browser History
• The GenericPortlet Class
• User Session Management
• Using the Session
• Relationship of PortletSession with HttpSession
• Session Usage Example
• End of Portlet Life
• Portlet Configuration
• Initialization Parameters
• Portlet Context
• Invoking the View Layer
• Controller Logic Implementation Techniques
5. Portlet Preferences
• Portlet Preferences
• Portlet Preferences API
• Example: Reading Preferences
• Updating Portlet Preferences
• Example: Updating Preference
• Validating Preference Update
6. Display Generation
• Techniques in View Development
• PortletRequestDispatcher include/forward Details
• JSR 286 Tags
• The defineObjects Tag
• Example defineObjects Usage
• The actionURL Tag
• The renderURL Tag
• The param Tag
• The namespace Tag
• National Language Support
• Resource Bundle File
• Displaying Translated Text
• Portlet Resource Bundle
• Providing Locale Specific Preference Defaults
7. Advanced Programming Topics
• JSR 286 Annotations
• @RenderMode
• @ProcessAction Annotation
• Setting the Action Name in URL
• Portlet Caching
• Basic Caching Setup
• Programmatic Cache Control
• Validation Based Caching
• Validation Caching API
• Example Validation Control
8. Portlet Services
• Portlet Services
• Writing a Portlet Service
• Defining the Portlet Service Interface
• Example - AccountService
• Writing the Portlet Service Implementation
• java.util.prefs.Preferences
• Example – AccountServiceImpl
• Registering Portlet Services
• WAS Admin Console PortletServiceRegistryService
• Using a Service from a Portlet
• Example – Using a Service
• Content Access Service
9. Portlet Communication Overview
• Portlet Communication Techniques
• Comparison of Portlet Communication Techniques
• Which Portlet Communication Technique Should I Use?
10. Portlet Event
• Portlet Events
• Event Architecture
• Example Use Case
• Event Flow Sequence
• Sequence Diagram
• Defining an Event in portlet.xml
• Using Default Namespace
• Creating the Payload Class
• Publishing an Event
• Consuming an Event
• The @ProcessEvent Annotation
• Details about @ProcessAction
• Additional Notes About Events
• Portlet Event Configuration
11. Public Render Parameter
• Public Render Parameters
• Example Use Case
• Steps to Using Public Render Parameters
• Define Public Render Parameter in portlet.xml
• Declare Public Render Parameter for a Portlet
• Setting Value of a Public Render Parameter
• Example Setting Public Render Parameter
• Getting Value of a Public Render Parameter
• Additional API
• Limitations
12. Client-side Click-to-Action Portlet Communication
• Client-side Click-to-Action ("Live Text")
• Example Use Case
• Specify a Live Text Source
• Specify a Live Text Source – Example
• Specify a Live Text Target
• Specify a Live Text Target - Example
• Looking Underneath the Hood
13. Developing JSF Portlets for WebSphere Portal
• What is JavaServer Faces (JSF)?
• Why Use JSF?
• Nature of a JSF Application
• JSF and MVC
• Faces Servlet
• Managed Bean
• The View
• A Simple JSF Application
• The Input Form: form.jsp
• The Result: thanks.jsp
• The Controller: AddressBean
• Page Flow or Navigation Rule
• How Does the Application Work?
• Creating a JSF Portlet
• Navigation State Management
• Advanced: Obtaining Core JSF Objects
• JSF 2.0 and Portlets 2.0
14. Web Services for Remote Portlets
• Remote Portlets
• WSRP
• WSRP Terminology
• WSRP Benefits
• WSRP Architecture
• Information Artifacts
• Security Issues
• JSR-286 and WSRP 2.0
• Pre-defined Container Events
15. Using AJAX in a Portlet
• What is AJAX?
• A Simple Example
• The Old Way
• The AJAX Way
• Two Key Aspects of AJAX
• Advantages of the AJAX Approach
• The Basic AJAX API
• Creating the XMLHttpRequest Object
• The XMLHttpRequest Object Basics
• Complete Example
• The Timeline
• Using AJAX from a Portlet
• JSR-286 and AJAX
• The ResourceServingPortlet Interface
• Output From serveResource()
• ResourceURL
• AJAX Request Timeline
• Steps to be Taken by a Portlet
• A Complete Example
• The View JSP
• The Portlet Class
16. The Dojo Toolkit
• Introduction
• Installation
• Dojo Capabilities
• Simple Example – Tab Widget
• How Does DOJO Work?
• Importing Packages
• Widget Basics
• Widget Layout Example
• The Two byId() Methods
• Widget Properties
• Widget Events
• Common Features of Widgets
• Form Input Widgets
• The Button Widget
• The Checkbox Widget
• The ComboBox Widget
• The FilteringSelect Widget
• The DateTextBox Widget
• Layout Widgets
• Other Common GUI Widgets
• Creating Widget Instances Programmatically
• Creating Widgets Programmatically
17. Using Dojo in WebSphere Portal 8.0
• Dojo and WebSphere Portal 8.0
• Dojo and AJAX Portlets
• Dojo Versions in WebSphere Portal 8.0
• Dojo Best Practices
• Dojo Support in RAD 8.5 – New Project
• Dojo Support in RAD 8.5 – Existing Project
• Dojo Tools in RAD 8.5
• Generated Dojo Code in RAD 8.5
18. Spring MVC Portlets
• Portlets
• Spring Portlet MVC Framework
• Spring MVC and Portlet Configuration
• Spring Required JARS
• Configuring Spring Portlet MVC Framework
• Spring Portlet Views
• Spring Portlet Handler Mappings
• Mapping on Render Parameters
• Handling Portlet Actions
• Session Attributes
• Global Session
• JSR-286 Resource Serving
• JSR-286 Events
19. Developing WebSphere Portal Themes and Skins
• Changes in WebSphere Portal 8.0 Themes
• Theme and Skin Concepts
• Using WebDAV to Access Theme Files
• Creating a Custom Theme
• Customizing the New Theme
• Important Styles
• Dynamic Content Spot
• Configuring Dynamic Content Spot
• Developing a Theme as an EAR File
• Registering Themes Deployed as an EAR
• WebSphere Portal Tag Libraries
• Using WebSphere Portal Tag Libraries
• Managing Themes and Skins
• Module Theme Framework
20. WebSphere Portal Personalization Framework
• Overview of Personalization
• Presenting the Personalized Content
• Creating a Personalization Rule
• Personalization Campaigns
• Content Spots
• Personalization JAR Files
• Personalization Resources
• Personalization Portlets
• Personalization Rules
• Personalization Rules Process Flow
21. 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?
• Deploying Portlets Within an EAR
• Managing Portlet Web Modules
• Managing Portlet 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
22. iWidget Portlet
• Introduction to iWidget
• iWidget Portlets
• Anatomy of an iWidget
• Creating an iWidget
• The iWidget Editor
• Developing the Business Logic
• Lifecycle Callback Methods
• Firing an Event
• Consuming an Event
• Wiring
23. Portal Development Best Practices
• Architecture Best Practices
• Controller (Portlet) Guidelines
• View (JSP) Guidelines
• Configuration Management
• Session Management
• Security Guidelines
• Java Performance Tips
• Portlet Performance Tips
• Performance Testing Guidelines
And many more topics will be discussed based on student's need .......