WA1316 WebSphere Portal V5.1 Programming Training and Courseware Course Outline

0. Introduction to the WebSphere Portal Server

  • Topics
  • What is a Portal
  • An Example of WebSphere Portal Sites
  • 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 Express
  • WebSphere Portal Enable
  • A Typical Network Architecture for WebSphere Portal
  • WebSphere Business Integration Server Foundation 5.1.1
  • 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
 

1. Introduction to Portal Programming

  • Topics
  • Terminologies
  • Portlet Instance Types
  • Portlet Instance Types (cont.)
  • Instance Type Summary
  • Portlet Applications and Concrete Portlet Applications
  • Portlet Modes
  • Example of Using Edit Mode
  • Portlet Mode - Advanced
  • Portlet Window States
  • Portlets vs. Servlets
  • Portlet Deployment Descriptors
  • portlet.xml
  • portlet.xml cont
  • Relationship between web.xml and portlet.xml
  • Example web.xml
  • Relationship between Portlet and Concrete Portlet
  • Summary
 

2. Portlet Development Using Rational Application Developer v6

  • Objectives
  • The WebSphere Family
  • Eclipse Platform
  • The WebSphere Studio Product Family
  • Rational Web Developer
  • Rational Application Developer
  • Key Features in RAD v6.0
  • WebSphere Studio Application Developer Integration Edition
  • WebSphere Studio Enterprise Developer
  • 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 6 Installation
  • Portal Server v5.1 Test Runtime Installation
  • Configure Portal Server Test 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
 

3. Basic Portal Programming

  • Topics
  • Design Pattern of Portlet Applications Model-View-Controller
  • More on MVC
  • Two Phase Request Processing
  • The Portlet API
  • The Portlet Class
  • Portlet Life-cycle methods
  • The Initialization Methods
  • The service Method
  • The login/out Methods
  • The PortletAdapter Class
  • PortletAdapter Class cont
  • Example Hello World Portlet
  • Example Hello World Portlet cont
  • Creating a Portlet
  • Code Generation Option
  • Portlet Core Objects
  • PortletRequest
  • Methods of PortletRequest
  • Methods of PortletRequest cont
  • PortletResponse
  • Methods of PortletResponse
  • Methods of PortletResponse cont
  • PortletURI
  • Methods of PortletURI
  • Techniques for Using PortletURI
  • Example Creating PortletURI
  • Example JSP Using PortletURI
  • PortletSession
  • Methods of PortletSession
  • Example Using Portlet Core Objects
  • Portlet Listeners
  • PortletSessionListener
  • PortletPageListener
  • PortletTitleListener
  • Example - Using Portlet Listeners
  • Example - Using Portlet Listeners cont
  • Portlet Configuration Objects
  • PortletContext
  • Methods of PortletContext
  • Methods of PortletContext cont
  • Methods of PortletContext cont
  • Example - Using PortletContext
  • PortletConfig
  • Methods of PortletConfig
  • PortletSettings
  • Methods of PortletSettings
  • PortletApplicationSettings
  • Methods of PortletApplicationSettings
  • PortletData
  • Methods of PortletData
  • Example Using PortletData
  • Example Using PortletData cont
  • Other Portlet Objects
  • PortletLog
  • Methods of PortletLog
  • Configure Logging Behavior
  • Logging Example
  • PortletWindow
  • Methods of PortletWindow
  • Example Using PortletWindow
  • Example Using PortletWindow
  • User
  • Methods of User
  • Methods of User cont
  • Portlet API Overview
 

4. Advanced Display Generation

  • Topics
  • JSP Custom Tags
  • Why Use JSP Custom Tags
  • Portal Custom Tags
  • portletAPI tags
  • <portletAPI:init />
  • Basic Controller to View Interaction
  • <portletAPI:if />
  • <portletAPI:log />
  • <portletAPI:dataLoop /> <portletAPI:dataAttribute />
  • <portletAPI:settingsLoop /> <portletAPI:settingsAttribute />
  • <portletAPI:createReturnURI /> <portletAPI:createURI />
  • <portletAPI:URIParameter />
  • <portletAPI:URIAction />
  • <portletAPI:encodeNamespace/>
  • Example of Using portletAPI Tags
  • Example of Using portletAPI Tags cont
  • National Language Support
  • Static Translation
  • Dynamic Translation
  • Resource Bundle File
  • Displaying Translated Text
  • More on JSTL Internationalization Tags
  • Example of Using Resource Bundles
  • Multiple Device Support
  • XML Transcoding
 

5. Advanced Portal Programming

  • Topics
  • Portlet Event Handling
  • Portlet API for Event Handling
  • Action Events
  • The ActionEvent Interface
  • The ActionListener Interface
  • The PortletURI Object
  • Example Action Event Handling
  • Example Action Event Handling (cont.)
  • Example JSP Using the Action URI
  • Inter Portlet Messaging
  • MessageEvent
  • PortletMessage
  • Message Sender
  • MessageListener
  • Example of Using Message Event
  • Example of Using Message Event cont
  • WindowEvent
  • WindowListener
  • Example of Using the Window Event
  • Portlet Caching
  • Enabling Servlet Caching
  • Programmatically Control Cache
  • Example: Cache Control
  • 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
  • Writing the Portlet Service factory
  • Example - AccountServiceFactory
  • Registering Portlet Services
  • Example - PortletServiceRegistryService.properties
  • Using a Service from a Portlet
  • Content Access Service
 

6. 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
 

7. Cooperative Portlets

  • Topics
  • Cooperative Portlets
  • Basic Concepts
  • Example of Click-to-Action
  • Runtime Architecture of Click-to-Action
  • Portlet Wrapper Class
  • Enable C2A in Portlet Applications
  • Creating Cooperative Portlets
  • Development Steps
  • C2A JSP Tags
  • Scattering
  • Scattering: C2A JSP Tags
  • Example of C2A Source JSP
  • Example of C2A Source JSP - cont
  • Understanding the WSDL File
  • Example of Target Action Descriptor WSDL
  • Example of Target Action Descriptor - cont
  • Example of Target Action Descriptor - cont
  • Example of C2A web.xml
  • Example of C2A portlet.xml
  • Example of a Target Portlet
  • Wiring
  • Summary
 

8. Struts and JSF Portlet Development

  • Introduction to Struts
  • Struts and Portlet API Mismatch
  • Customizing Struts
  • The Portal Struts Servlet
  • Portal Struts Processor Class
  • Generating Portlet URI
  • The Response Object
  • Action Processing
  • Display Rendering
  • Default Display Page
  • 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
  • Advanced: Sending a Message to a JSF Portlet
 

Appendix A. Portal Development Best Practices

  • Topics
  • Architecture Best Practices
  • Controller (Portlet) Guidelines
  • View (JSP) Guidelines
  • Configuration Management
  • Session Management
  • Inter Portlet Messaging
  • Security Guidelines
  • Performance Tips
  • Performance Testing Guidelines
  • Summary