WebSphere Portal v8 Programming

Request more details:

submit request
Description:
This five day training class teaches students WebSphere Portal development using JSR 286 portlet API. The JSR 286 API is a major revision of the portlet specification and contains significant improvements. The class also covers JavaServer Faces based portal site development and using Dojo and AJAX with portlets. All labs are done using Rational Application Developer (RAD) 8.5.
Prerequisites:
Students should have intermediate knowledge of Java development using Rational Application Developer. Knowledge of Servlet and JSP is strongly recommended.
Audience:
Programmers who will be developing applications for WebSphere Portal Server v8. This class can also be delivered at previous versions if required.
At the end of this course, students will be able to:
Install and use the latest Portal Toolkit
Understand the JSR 286 portlet programming model
Use the Rational Application Developer (RAD) 8.5 based Portal Toolkit to build portal applications
Develop cooperative portlets to share data
Develop portlets using Struts and JavaServer Faces (JSF)
Use AJAX in a portlet
Provide and consume portlets using Web Services for Remote Portlets (WSRP)

Topics

Introduction to WebSphere Portal, key concepts and benefits
Portal programming model
Detail coverage of the JSR 286 API
Introduction to Portal Toolkit
Struts based portlet development
JavaServer Faces (JSF) based portlet development
AJAX
Using Dojo in portlets on WebSphere Portal
Web Services for Remote Portlets
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
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
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
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
PORTLET PREFERENCES:
Portlet Preferences
Portlet Preferences API
Example: Reading Preferences
Updating Portlet Preferences
Example: Updating Preference
Validating Preference Update
Example Validator Class
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
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
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
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
CredentialVaultService
CredentialVaultService Interface Methods
Example - Looking Up CredentialVaultService
Example Create a Slot
Saving Credential in a Slot
Credential Class
Classes that Implement the Credential Interface
PassiveCredential
UserPasswordPassiveCredential
Example Using a PassiveCredential
ActiveCredential
HttpFormBasedAuthCredential
Example Using HttpFormBasedAuthCredential
PORTLET COMMUNICATION OVERVIEW:
Portlet Communication Techniques
Comparison of Portlet Communication Techniques
Which Portlet Communication Technique Should I Use?
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
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
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
Using RAD 8.5 to Set up Client-side Click-to-Action
Insert a Client-side Click-to-Action Output Property
Insert a Client-side Click-to-Action Input Property
Insert a Client-side Click-to-Action Menu Header
Looking Underneath the Hood
INTRODUCTION TO JAVASERVER FACES:
What is JavaServer Faces (JSF)?
Why Use JSF?
Nature of a JSF Application
The Sun Reference Implementation (RI)
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?
Under the Covers: The Rendered Form HTML
Under the Covers: The Layout Tree
Creating a JSF Portlet
Navigation State Management
Advanced: Obtaining Core JSF Objects
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
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
USING DOJO IN WEBSPHERE PORTAL 8.0:
Dojo and AJAX Portlets
Dojo Versions in WebSphere Portal 8.0
Dojo Support in RAD 8.5
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
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
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
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