UMBC Training Centers logo

WebSphere Portal 6.1 Programming Using RAD 7.5

 

Course Description | Outline | IT Home

1. Introduction to WebSphere Portal Server
* Topics
* 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 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
* Summary
* Review Questions
* Review Answers

2. Portlet Development Using Rational Application Developer (RAD) v7.5
* Objectives
* The RAD 7.5 Product
* Eclipse Platform
* Key Features in RAD v7.5
* Views, Perspective, and Editor Areas
* Basic Operations with RAD Views and Perspectives
* The Java Perspective
* Portlet Development Support
* RAD 7.5 Installation
* Portal Server v6.1 Installation
* 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
* Summary
* Review Questions
* Review Answers

3. Introduction to JSR 286 Based Portal Programming
* Topics
* What is JSR 286
* Other API Alternatives
* Relationship With Java SE and Java EE
* Relationship With Servlets
* A Portal Site
* The Portlet
* Portlet Application
* The portlet.xml File
* Portlet Container
* Portal Server
* Portlet Window
* Summary
* Review Questions
* Review Answers

4. Basic Portal Programming
* Objectives
* Design Pattern of Portlet Applications Model-View-Controller
* More on MVC
* The Portlet Interface
* The Hello World Portlet
* Portlet Lifecycle - Initialization
* Portlet Lifecycle Request Handling
* Two Phase Request Processing
* The render Method
* The PortletRequest Interface
* The PortletResponse Interface
* The RenderResponse Interface
* PortletURL
* Example
* The processAction Method
* The ActionRequest Interface
* The ActionResponse Interface
* Example
* More on Render Parameter
* The GenericPortlet Class
* User Session Management
* Relationship of PortletSession with HttpSession
* Example
* End of Portlet Life
* Portlet Configuration
* Portlet Initialization Parameter
* Portlet Context
* Interacting With JSP
* State Management
* Better View State Management
* Objectives
* Review Questions
* Review Answers

5. Portlet Preferences
* Objectives
* Portlet Preferences
* Example: Reading Preferences
* Updating Portlet Preferences
* Example: Updating Preference
* Validating Preference Update
* Example Validation
* Creating Portlet Preferences Using RAD 7.5
* Summary
* Review Questions
* Review Answers

6. Display Generation
* Objectives
* Techniques in View Development
* JSP Custom Tags
* Available Portal Custom Tags
* JSR 286 Tags
* The defineObjects Tag
* More on defineObjects
* The actionURL Tag
* The param Tag
* The namespace Tag
* The property Tag
* JSP Expression Language Support
* National Language Support
* Dynamic Translation
* Resource Bundle File
* Displaying Translated Text
* More on JSTL Internationalization Tags
* Example of Using Resource Bundles
* Static Translation
* Portlet Resource Bundle
* Summary
* Providing Locale Specific Preference Defaults
* Review Questions
* Review Answers

7. Advanced Programming
* Objectives
* Annotations
* @RenderMode Annotation
* @ProcessAction Annotation
* Portlet Caching
* Cache Scope
* Programmatically Control Cache
* Validation-based Caching
* How does validation-based caching work?
* Validation-based Caching Example
* Enabling Caching in WebSphere Portal Server
* Accessing User Information
* Steps to Access User Information
* Access User Information From Portlet
* Summary
* Review Questions
* Review Answers

8. Portlet Services
* Objectives
* 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
* Content Access Service
* Summary
* Review Questions
* Review Answers

9. Credential Vault
* Objectives
* 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
* 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
* HttpFormBasedAuthCredential
* Example - Using HttpFormBasedAuthCredential
* Summary
* Review Questions
* Review Answers

10. Portlet Communication Overview
* Objectives
* Portlet Communication Techniques
* Comparison of Portlet Communication Techniques
* Which Portlet Communication Technique Should I Use?
* Summary

11. Portlet Event Communication
* Objectives
* Portlet Events
* Example Use Case
* Setting up Event Handling
* Create Event Payload
* Event Payload Examples
* Declare Event in portlet.xml
* Declare Event Publisher in portlet.xml
* Declare Event Processor in portlet.xml
* Modify Source Portlet to Publish the Event
* The EventResponse Interface
* Modify Target Portlet to Process the Event
* Publish an Event in Response to an Event
* Wire the Source and Target Portlet
* Event Communication Between Portlets in Different Applications
* Complex Event Payloads and WSRP 2.0
* @ProcessEvent Annotation
* Things to Keep in Mind
* Summary

12. Non-Event Portlet Communication
* Objectives
* Public Render Parameters
* Example Use Case
* Using Public Render Parameters
* Declare Public Render Parameter in portlet.xml
* Declare Render Parameters a Portlet Shares in portlet.xml
* Modify Source Portlet to Set a Render Parameter
* Modify Target Portlet to Get a Render Parameter
* Advanced Methods
* Limiting the Scope of Public Render Parameters
* Sharing Render Parameters Between Portlets in Different Applications
* Client-side Click-to-Action ("Live Text")
* Example Use Case
* Setting up Client-side Click-to-Action
* Specify a Live Text Source
* Specify a Live Text Target
* Using RAD 7.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
* Summary

13. JSF Portlet Development
* JavaServer Faces (JSF) Basics
* Defining the Screen Layout
* Managed Bean
* Assigning the Model
* HTTP Request Handling
* Navigation
* Advantage of JSF
* Creating a JSF Portlet
* Navigation State Management
* Advanced: Obtaining Core Objects
* Creating a JSF Portlet Project

14. Composite Applications
* Objectives
* 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
* Summary

15. Using AJAX in a Portlet
* Objectives
* What is AJAX?
* A Simple Example
* The Old Way
* The AJAX Way
* Two Key Aspects of AJAX
* What are the Advantages of the AJAX Approach?
* AJAX Technologies
* 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
* ResourceURL
* The ResourceServingPortlet Interface
* Making an AJAX Request
* Ajax Portlet Example
* View JSP
* Portlet
* Where to Go From Here?
* Summary

16. Service Data Objects
* Objectives
* Service Data Objects
* Service Data Objects Why?
* Service Data Objects
* SDO - Components
* Data Object
* Data Graphs
* Data Mediator
* SDO Data Graph
* Components of SDO
* UML Model of Core SDO Components
* What is a Relational Record?
* Relational Record
* Relational Record Connection
* Relational Record New Connection
* Relational Record Properties
* Relational Record Column Selection
* Relational Record Configure Data Controls
* Relational Record Resulting Faces JSP
* Data Source Explorer View
* What is a Relational Record List?
* Relational Record List
* Relational Record List - Properties
* Relational Record List Column Selection
* Relational Record List Configure Data Controls
* Relational Record List Resulting Faces JSP
* Page Data View
* XML Artifacts Created for Relational Record addressRecord
* XML Artifacts Created for Relational Record addressList
* Configure Database Connection Details
* The SDO API
* Java API for SDO
* DataObject Interface
* DataGraph
* ChangeSummary
* ChangeSummary Interface
* Type
* Type Interface
* Property
* Summary

17. The Portal Designer
* Objectives
* What is a Portal Project?
* Creating a Portal Project
* Importing an Existing Portal Site
* Using the New Portal Project Wizard
* Portal Project Structure
* What is the Portal Designer?
* Portal Designer
* Outline View
* Palette View
* Properties View
* Navigating the Portal
* Creating a New Label
* Creating a New Page
* Adding Portlets to a Page
* Page Layout Basics
* Adding Rows and Columns
* Removing Rows and Columns and Merging Columns
* Changing Column Width
* Deploying a Portal Project Using the Portal Test Environment
* Deploying a Portal Project to a Remote Server
* Deploying a Portal Project Using the Export Option
* Deploying a Portal Project Using "Deploy Portal" Option
* Summary

18. Themes and Skins
* Topics
* Elements of a Portal Site
* Page and Label
* Page/Label Hierarchy
* Portal Site Navigation
* URL
* Theme
* Screen
* The Home Screen
* Skin
* Container
* How is a Page Rendered?
* The Default.jsp
* Theme Navigational JSP Fragments
* The Control.jsp
* A Typical Layout of HTML Skins
* Directory Structure of Themes & Skins
* Creating a New Theme
* Creating a New Skin
* Custom JSP Tags
* Summary
* Review Questions
* Review Answers
* Objectives
* Creating a Theme Using the Portal Designer
* Creating a Skin Using the Portal Designer
* Setting a Theme's Default Skin
* Applying a Theme
* Applying a Skin
* Editing a Theme
* Editing a Theme's Files
* Editing a Theme's Navigation
* Editing a Theme's Styles
* Editing a Screen
* Editing a Skin
* Custom Theme and Skin Example
* Summary

19. Web Services for Remote Portlets
* Objectives
* Remote Portlets
* WSRP
* WSRP Architecture
* WSRP Benefits
* Information Artifacts
* Security Issues
* JSR-286 and WSRP 2.0
* Pre-defined Container Events
* Summary

20. Portlet Build and Deployment Process
* Objectives
* Introduction
* Overview of the Build Process
* The Build Process
* Installing a Portlet Web Module
* How is a Portlet Web Module Installed?
* 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
* Summary

21. Portal Development Best Practices
* Objectives
* Architecture Best Practices
* Controller (Portlet) Guidelines
* View (JSP) Guidelines
* Configuration Management
* Session Management
* Security Guidelines
* Java Performance Tips
* Portlet Performance Tips
* Performance Testing Guidelines
* Summary

Appendix A. IBM Cooperative Portlets
* Objectives
* Cooperative Portlets
* Example Use Case
* Distinguishing an Action
* Data Source and Destination Location
* Steps to Setup Cooperation
* Understanding the WSDL
* A Simple Source WSDL
* A Simple Source JSP
* A Simple Target WSDL
* Processing the Message in the Target
* Wiring the Source and Target
* Publishing Data from a Target
* Creating Cooperative Portlets in RAD
* Summary

Appendix B. What's new in WebSphere Portal 6.1
* Introduction
* Overview of Talk
* Portal Customization
* Theme Customizer Tool
* Client-side Aggregation
* Portal Collaboration
* Business Process Management
* IBM Accelerators for WebSphere Portal
* Once Upon a Time...JSR 168
* JSR 286 - Portlets v2
* Changes in JSR 286
* WSRP v2.0
* AJAX and Portlets
* REST Services
* IBM Portlet Development
* Bundled WebSphere Application Server
* Install Portal Sub-set
* Site Management
* Performance - Monitoring
* Performance - WSRP Remote Deployment
* WA1685 - Portal 6.1 Programming
* WA1684 - Portal 6.1 Administration
* Summary
* Contact and Resources

Appendix C. Struts Portlet Development
* Introduction to Struts
* Why Use Struts to Write Portlets
* Struts and Portlet API Mismatch
* Customizing Struts
* Portal Struts Processor Class
* The Struts Portlet
* Struts Portlet Framework
* Struts Portlet Framework Details
* Generating Portlet URL
* The Response Object
* Action Processing
* Display Rendering
* Getting the Portlet Objects
* Struts Logging
* Creating a Struts Portlet Project