Consulting Training Blog Careers About Us Contact Us
All Classes Will Be Held Virtually – Live Online Intertech's Training Division has been successfully instructing professionals through virtual live online training since the advent of the smartboard. It is a proven form and offers the convenience of live questions, group interaction, and labs with an instructor looking over your shoulder. Because of this, we will continue all classes live but virtually, including Agile and Scrum instruction, so businesses and individual’s seeking professional development can keep moving forward during these unexpected times.

WebSphere Portal 7.0 Programming Training

Course ID: WAS1937
Duration: 5 Days

Upcoming Classes

Click the Get Notified button for priority notification when a class is next scheduled.

Get Notified

On Site/Private

Can't find a class that fits right for you? Contact us to inquire about scheduling your own private class

Contact Us


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.


Bring This Course To You

For groups of 5 or more, let Intertech bring this course to your location. Customized versions tailored towards your objectives are also available.

Learn More

Learning Objectives

  • 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) 


Programmers who will be developing applications for WebSphere Portal Server. 


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

Course Outline

Introduction to WebSphere Portal Server

  • What is a Portal
  • An Example of a WebSphere Portal Site
  • General Portal Architecture
  • WebSphere Portal Projects
  • 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 v1.0 (JSR-168)
  • Java Portlet Specification v2.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 (RAD) v8.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

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
  • The processAction Method
  • The ActionRequest Interface
  • 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
  • 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 includ/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 - AccountService Impl
  • Registering Portlet Services
  • WAS Admin Console PortletServiceRegistryService
  • Using a Service from a Portlet
  • Example - Using a Service
  • Content Access Service

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 HttpFormBased AuthCredential

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 Target
  • 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

Introduction to JavaServer Faces

  • What is a 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

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

Using AJAX in a Portlet

  • What is AJAX?
  • The Old Way
  • The AJAX Way
  • Two Key Aspects of AJAX
  • What are the Advantages of the AJAX Approach?
  • The Basic AJAX API
  • Creating the XMLHttpRequest Object
  • The XMLHttpRequest Object Basics
  • 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
  • View JSP
  • The Portlet Class

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

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

  • Overview of the Build Process
  • The Build Process
  • Installling 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  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

Free Resources from Intertech

Complete Guide to Becoming a Full Stack Developer

2 Free Resources: Missed Issues in Software Estimation and Stakeholder Questionnaire

Free Tutorial: Spring Batch Admin