WEBSPHERE PORTAL 7.0 PROGRAMMING – GTWSP4

Course Description

This five day training class teaches students WebSphere Portal development using JSR 286 API. The JSR 286 API is the first revision of the portlet specification in nearly five years and contains significant improvements. The class also covers JavaServer Faces based portal site development. All labs are done using Rational Application Developer (RAD) v8.0.

Using AJAX technology with a portal site is increasingly becoming an option for developers. This class teaches an overview of AJAX and how it may be used in a WebSphere Portal web site.

 

Objectives

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) v8.0 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)

^^

Duration

5 days

^^

Target Audience

Programmers who will be developing applications for WebSphere Portal Server.

^^

Course Prerequisites

Students should have intermediate knowledge of Java development using Rational Application Developer. Knowledge of Servlet and JSP is strongly recommended.

^^

Suggested Follow on Courses

There are a number of options of suitable follow-on courses, depending on your business needs. Please contact us for further details.

^^

Course Content

CHAPTER 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

CHAPTER 2. PORTLET DEVELOPMENT USING RATIONAL APPLICATION DEVELOPER 8.0

The RAD 8.0 Product

Portlet Development Support

RAD 8.0 Installation

Portal Server 7.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

CHAPTER 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

CHAPTER 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

CHAPTER 5. PORTLET PREFERENCES

Portlet Preferences

Portlet Preferences API

Example: Reading Preferences

Updating Portlet Preferences

Example: Updating Preference

Validating Preference Update

Example Validator Class

CHAPTER 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

CHAPTER 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

CHAPTER 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

CHAPTER 9. 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

CHAPTER 10. PORTLET COMMUNICATION OVERVIEW

Portlet Communication Techniques

Comparison of Portlet Communication Techniques

Which Portlet Communication Technique Should I Use?

CHAPTER 11. 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

CHAPTER 12. 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

CHAPTER 13. 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.0 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

CHAPTER 14. 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

CHAPTER 15. COMPOSITE APPLICATIONS

What Is A Composite Application?

What Is A Component?

Components and Applications

Benefits Of Composite Applications

Template

Enabling Composite Application Support

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

CHAPTER 16. 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

CHAPTER 17. 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

CHAPTER 18. USING DOJO IN WEBSPHERE PORTAL 7.0

Dojo and WebSphere Portal 7.0

Dojo and AJAX Portlets

Dojo Versions in WebSphere Portal 7.0

Dojo Best Practices

Dojo Support in RAD 8.0 – New Project

Dojo Support in RAD 8.0 – Existing Project

Dojo Tools in RAD 8.0

Generated Dojo Code in RAD 8.0

CHAPTER 19. 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

CHAPTER 20. 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

CHAPTER 21. 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

CHAPTER 22. DEVELOPING WEBSPHERE PORTAL THEMES AND SKINS

Websphere Portal 7.0 Theme Support

Create a Theme

Customizing the New Theme

Create Dynamic Content Spot

Creating a Skin

Skins And Layouts

Customizing a Skin

Client-side Aggregation

Server-side Aggregation

WebSphere Portal Tag Libraries

Summary

CHAPTER 23. WEBSPHERE PORTAL PERSONALIZATION FRAMEWORK

Overview of Personalization

How Personalization Works:

Personalization Campaigns

Content Spots

Personalization JAR Files

Personalization Resources

Personalization Portlets

Personalization Rules

Personalization Rules Process Flow

CHAPTER 24. 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

CHAPTER 25. 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

^^

See more WebSphere courses