Index. NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 281

Similar documents
IBM IBM WebSphere Portal V5, Application Development.

Advanced Software Engineering

J2EE Development. Course Detail: Audience. Duration. Course Abstract. Course Objectives. Course Topics. Class Format.

"Charting the Course... WebSphere Portal 8 Development using Rational Application Developer 8.5. Course Summary

IBM Realtests LOT-911 Exam Questions & Answers

Portlet Development Guide Working with the Portlet API 1.1 Java Server Pages in Portlets Portlet Design Guidelines Security and Single Sign On

Lotus Exam IBM Websphere Portal 6.1 Application Development Version: 5.0 [ Total Questions: 150 ]

Portlet Standard JSR 168 / JSR 286

Writing Servlets and JSPs p. 1 Writing a Servlet p. 1 Writing a JSP p. 7 Compiling a Servlet p. 10 Packaging Servlets and JSPs p.

Portlet Development Guide Introduction to the Portlet API

Portlets (JSR-168) Dave Landers. BEA Systems, Inc. Dave Landers Portlets (JSR-168)

Tutorial: Developing a Simple Hello World Portlet

Introduction to JSP and Servlets Training 5-days

WA2089 WebSphere Portal 8.0 Programming EVALUATION ONLY

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Java- EE Web Application Development with Enterprise JavaBeans and Web Services

Struts: Struts 1.x. Introduction. Enterprise Application

Introduction to Web Application Development Using JEE, Frameworks, Web Services and AJAX

WebSphere Portal Application Development Best Practices using Rational Application Developer IBM Corporation

Sang Shin. Java Portlets (JSR-168) Revision History. Disclaimer & Acknowledgments

IBM Workplace Collaboration Services API Toolkit

Peter Moskovits Principal Product Manager Oracle Corporation. Sue Vickers Group Manager Oracle Corporation

Index. attributes, visual modeling of, , 565, 566, 567, 568 authentication, Authorization Constraint wizard, , 396

Building JavaServer Faces Applications

IBM Rational Application Developer for WebSphere Software, Version 7.0

Oracle Developer Day

Building Web Applications With The Struts Framework

Oracle 10g: Build J2EE Applications

Advanced Topics in WebSphere Portal Development Graham Harper Application Architect IBM Software Services for Collaboration

Java EE Application Assembly & Deployment Packaging Applications, Java EE modules. Model View Controller (MVC)2 Architecture & Packaging EJB Module

J2EE - Version: 25. Developing Enterprise Applications with J2EE Enterprise Technologies

Building and Managing Enterprise Wide Web Portals - Tutorial

Portal Express 6 Overview

BEAWebLogic. Portal. Overview

Module 3 Web Component

Fast Track to Java EE 5 with Servlets, JSP & JDBC

IT Certification Exams Provider! Weofferfreeupdateserviceforoneyear! h ps://

The team that wrote this redbook

NetBeans IDE Field Guide

114. Jakarta Struts. Prerequisites. Version 1.1.3

Type of Classes Nested Classes Inner Classes Local and Anonymous Inner Classes

J2EE Interview Questions

Oracle Developer Day

A Quick Introduction to Struts

JavaEE Interview Prep

SUN Enterprise Development with iplanet Application Server

JSF & Struts 1, 4, 7, 2, 5, 6, 3 2, 4, 3, 1, 6, 5, 7 1, 4, 2, 5, 6, 3, 7 1, 2, 4, 5, 6, 3, 7

Standards and the Portals Project

Struts interview questions

Java Advance Frameworks

Oracle ADF: The technology behind project fusion. Lynn Munsinger Principal Product Manager Application Development Tools Oracle Corporation

Contents at a Glance

B. Assets are shared-by-copy by default; convert the library into *.jar and configure it as a shared library on the server runtime.

Best practices: Developing portlets using JSR 168 and WebSphere Portal V5.02

JSR-286: Portlet Specification 2.0

IBM Workplace Software Development Kit

JSR-286: Portlet Specification 2.0

THIS IS ONLY SAMPLE RESUME - DO NOT COPY AND PASTE INTO YOUR RESUME. WE ARE NOT RESPONSIBLE Name: xxxxxx

web.xml Deployment Descriptor Elements

This course is intended for Java programmers who wish to write programs using many of the advanced Java features.

Specialized - Mastering JEE 7 Web Application Development

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Java.. servlets and. murach's TRAINING & REFERENCE 2ND EDITION. Joel Murach Andrea Steelman. IlB MIKE MURACH & ASSOCIATES, INC.

J2EE Application Development with WebSphere Studio

Portal solutions May A guide to IBM WebSphere Portal, Version 5.1.

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

Bring the Java World and Web Services into Your Portal. An Oracle White Paper September 2005

JSR 168 Portlet Spec

AD105 Introduction to Application Development for the IBM Workplace Managed Client

VALLIAMMAI ENGINEERING COLLEGE

Vision of J2EE. Why J2EE? Need for. J2EE Suite. J2EE Based Distributed Application Architecture Overview. Umair Javed 1

Java EE 6: Develop Web Applications with JSF

Java 2 Platform, Enterprise Edition: Platform and Component Specifications

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Rational Application Developer 7 Bootcamp

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

CORE JAVA 1. INTRODUCATION

Portal Application Deployment Scripting

Fast Track to Java EE

Oracle - Developing Applications for the Java EE 7 Platform Ed 1 (Training On Demand)

Table of Contents. Introduction... xxi

index_ qxd 7/18/02 11:48 AM Page 259 Index

ive JAVA EE C u r r i c u l u m

IBM. Developing with IBM Rational Application Developer for WebSphere Software V6

WAS: WebSphere Appl Server Admin Rel 6

Struts Lab 3: Creating the View

IBM C IBM WebSphere Portal 8.0 Solution Development. Download Full version :

JAVA COURSES. Empowering Innovation. DN InfoTech Pvt. Ltd. H-151, Sector 63, Noida, UP

ADVANCED JAVA COURSE CURRICULUM

/ / JAVA TRAINING

WebSphere Application Server - Overview

The Struts MVC Design. Sample Content

Jakarta Struts. Pocket Reference. Chuck Cavaness and Brian Keeton. Beijing Boston Farnham Sebastopol Tokyo

Borland Application Server Certification. Study Guide. Version 1.0 Copyright 2001 Borland Software Corporation. All Rights Reserved.

Appendix A ACRONYMS AND GLOSSARY. SYS-ED/ Computer Education Techniques, Inc.

Artix for J2EE. Version 4.2, March 2007

Web Application Architecture (based J2EE 1.4 Tutorial)

CHAPTER 6. Organizing Your Development Project. All right, guys! It s time to clean up this town!

Implementing JSR 168 inter-portlet communication using Rational Application Developer V6.0 and WebSphere Portal V5.1

BEAWebLogic. Server. Deploying Applications to WebLogic Server

Transcription:

A ACLs, 7 Action Forwards, in Struts, 175 ActionEvents, 58 in Struts, 182 ActionForm, in Struts, 175-176, 179, 179 ActionForwards, in Struts, 176-177, 180 ActionListener interface, 57-62, 102 ActionEvents in, 58 MessageEvents in, 58 no results found event and, 61, 61 PortletApplicationSettingsAttributeEvents in, 58 PortletSettingsAttributeEvents in, 58 search action in, 58-60, 58-60, 61 WindowEvents in, 58 ActionMapping, in Struts, 175, 176-177, 178-179, 179, 181 actionperformed method, 105-105-106 in credientialing and security, 247, 247-248 ActionRequest, JSR 168, 258 Actions, Struts, 175 actions, ActionListener interface, 57-62 ActionServlet, in Struts, 175, 176-177, 178, 179 active vs. passive credentials, 235, 241-243, 244-245 administrative slots, 234, 249-252, 250 advanced portlet design, 93-116 Ant scripting, 275-276, 276 deployment automation using, 277-279, 278-279 Apache Jakarta, 42 application libraries, in development environment, 273 ApplicationResource.properties file, Register User portlet using Struts, 214, 215 authorization, in credientialing and security, 230 B base libraries, in development environment, 272-273 BeenThere EJB, 156, 157-158, 157, 158 BeenTherePortlet, 159-163, 159 bidirectional (right to left) languages, support of, 134-135, 134-135 binding, slots, 240 Brown, Ian, 17 build and deploy process overview, for development environment, 263-265, 264 build servers, in development environment, 264, 266 NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 281

C c:choose tag, language support, internationalization, 113, 113 C2A/Property Broker, Struts, 184 caching data, 99, 167-170 benefits of, 167-168 disk resident, 169 drawbacks to, 168 expiration policies for, 169 loading to, 169 memory resident, 169 PortletServiceCacheFactory in, 139 state of, 168 synchronization of, 169-170 tolerance in, stale data and updates to, 168-169 Cavaness, Chuck, 181 com.ibm.wps.samples.action package, Register User portlet using Struts, 218-219, 218 Command factory, Struts, 191 compiling code for portlet, 13-14, 13, 14 concrete, initconcrete method in, 102, 103 concurrent versioning system (CVS), 264, 270-271, 271 conditional rendering JSP files and, 40, 40 window states and, 77 configuration parameters, 100, 100 CONFIGURE mode, 78, 80-85, 81-85, 99, 99-100 custom configuration options for, 84-85, 85 doconfigure() method in, 84 Struts and, 194-196, 194-195 Constants.java file, Register User portlet using Struts, 214, 215, 216 ContentAccess portlet service, 114-115 continuous integration concepts, development and development environment setup for, 264, 277 controllers, 11, 31 Language portlet example, language support and, 129-130 menus for portlets and, 101-107, 101 model-view-controller design pattern and, 171-174, 172, 173, 174 Struts and, 184 WebSphere Studio and, 25, 28 Core J2EE Patterns, 188 Core JSTL, 41 Core Portal Servlet, Struts, 182, 183, 184 createdate() method, 146, 146 credentials. See security and Credential Vault CredentialsBean.java file, in Register User portlet using Struts, 214, 216, 216-218 D data caching. See caching data DataAccess portlet model, 116 database for portals, 3 DB2 Universal Database, 3 debugging, services for portals, 167 DefaultPortletMessage, 64, 70 deployment phase, in application development, 265 deployment automation using Ant, 277-279, 278-279 deployment descriptor files, 7, 11, 15-16, 15-16 JSP files and, 42, 42-43 JSR 168 and, 256-258 language support, internationalization and, 119, 119-120 messaging and, 66, 67, 68-69 WebSphere Studio and, 26, 26, 28, 28 design basics, 1-2 Design Patterns, 188 designing portlets, 98-107 actionperformed method in, 105, 105-106 caching information in, 99 configuration parameters in, 100, 100 controller in, 101-107, 101 EDIT mode and, 104, 104 initconcrete method in, 102, 103 interfaces, 101-102 logging action in, 105 modes and, 99, 99-100 nodes in, 106-107, 110 parameter setting in, 98-99 282

state maps in, 98, 98 titles, dotitle() method in, 103 URL or IP addresses in, 98-99, 99 VIEW mode and, 103 views in, 107-111 XSLT portlets and, 111-115, 112 destroy() method, 163 development environment for WebSphere, 263-279 additional portal file management in, 274 Ant scripting in, 275-276, 276 application libraries in, 273 base libraries and, 272-273 build and deploy process overview for, 263-265, 264 build process in,274-276 build servers in, 264, 266 concurrent versioning system (CVS), 264, 270-271, 271 continuous integration concepts in, 264, 277 deployment automation using Ant and, 277-279, 278-279 deployment in, 265 development, integration, test process and, 267 example of, 265-267, 265 JAR files and, 273 packaging in, 265, 274-275 patterns and templates for, 268-269, 269 project setup steps in, 272-274, 273 release environment and, 267 servers in, 266 software configuration management (SCM) and, 270 source code management in, 269-271 source code repository in, 264, 271-272 standards for, 267-269 testing in, 264-265 versioning in, 264, 265, 270, 274-275 workstations for team members in, 266 device support, 135-136 directory structure for portlet, 12, 12 JSP files and, 42 Register User portlet using Struts and, 211-212, 211, 212 WebSphere Studio and, 22 disk resident caching, 169 doconfigure() method, 84 doedit() method, 87-88, 87-88, 104, 104 dohelp() method, 89 DoMode() method, 79-80, 79-80 doview() method, 89, 90, 91, 103, 104 JSR 168 and, declaration in, 259, 259 services for portals and, 162, 162-163 XSLT portlets and, 112-113, 113 drop-down list, 62, 62-63 dynamic language change in portlet, 127-128 dynamic menus, 95. See also menus for portlets E EAR project, in Register User portlet using Struts, 209, 210 EDIT mode, 78, 85-89, 86-89, 99, 99-100, 104, 104 doedit() method and, 87-88, 87-88, 104, 104 in Register User portlet, 204-208, 204-205, 219, 221-223, 221-223, 225-226 StaticMenuEdit.jsp and, 108-109, 108, 109 Struts and, 194-196, 194-195 EditConfigurationAction, in Register User portlet using Struts, 201-202, 201 Enterprise Java Beans (EJBs), 137 BeenThere EJB in, 156, 157-158, 157, 158 services for portals and, 155-167 Struts and, 173 error handling, 32 JSP Standard Tag Library (JSTL) and, 45 Register User portlet using Struts and, 206, 206 Struts and, 190-191, 206, 206 events, ActionListener interface, 57-62 F Ferraz, Fabio, 17 FormBeans, Struts, 175, 179, 179 ForwardAction, in Register User portlet using Struts, 208 NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 283

forwarding data, in Struts, 183, 192-193, 193, 197, 197 G Gadepalli, Venkata, 17 Geary, david M., 41 get and set attributes, 39, 41 getconnection method, in credientialing and security, 248, 248-249 getofficedata, 143 getofficelist, 143 H HelloWorld portlet, 11-17 class file creation in, 24, 24, 25 common errors in, 14 compiling code for, 13-14, 13, 14 controller class in, 25, 28, 31 deployment descriptor files in, 15-16, 15-16, 26, 26,28, 28 directory structure for, 12, 12, 22 error handling in, 32 HTTP processing and, 32 J2EE settings in, 20-21, 21 JAR files for, 12, 14, 14 Java Package creation in, 23, 23 Java source file for, 12-13, 12-13 JSR 168 and, 255-258, 255 naming the portlet, 21 PATH setting in, 13 Portal Toolkit build, 11-29, 17 Portlet class in, 32 portlet.xml deployment descriptor file in, 15-16, 15-16, 22 PortletAdapter class in, 32 PortletException in, 32 PortletRequest and PortletResponse in, 32 server selection for, 30, 30 servlets and JSPs in, 26, 26, 27-29, 27, 29 URL mapping for, 27 WAR files for, 12, 16-17, 17, 33 web.xml deployment descriptor file in, 15-16, 15 Helman, Dean, 172 HELP mode, 78, 89-92, 89, 90, 91 dohelp() method in, 89 Struts and, 194-196, 194-195 HTTP, 6, 32 HttpBasicAuth active credential, 245-249 Struts and, 173 HttpBasicAuth active credential, 245-249 HttpFormBasedAuth active credential, 245 HttpRequest/HttpResponse, 176-177 HttpSession. See PortletSession, 70 Husted, Ted, 181 I IBM WebSphere Portal Primer, 17 ibm-web-bnd.xml file, services for portals, 164-165, 164 if tag, window states, Portlet API tag library for, 77-78, 77 index.jsp file, Register User portlet using Struts, 221, 221-222 init() method, 160 initconcrete method, 102, 103 initportletinstancedata method, 161, 161-162 interfaces, 101-102 internationalization. See language support and internationalization IViewCommand, in Struts, 188-191 Iyengar, Ashok, 17 J J2EE application development, services for portals, 155-156 J2EE settings Register User portlet using Struts and, 209, 210 WebSphere Studio and, 20-21, 21 Jakarta Struts, 181 JAR files, 12, 14, 14 development and development environment setup for, 273 JSP files and, 37 Office Lookup portal service example and, 148-149, 148, 149 284

Register User portlet using Struts and, 211, 211 Java files, 6, 12-13, 12-13 JSR 168 and, 256, 256 Java Naming and Directory Interface (JNDI), 157 Java Standard Tag Library (JSTL), 41-46. See also JSP files core library in, 41, 43, 44, 44 EL library in, 43-44 error handling in, 45 formatting library in, 41 language support, internationalization and, 124, 124 libraries of, 41 resource bundles in, 124-127, 125 SQL library in, 41 twin libraries in, RT version in, 43 XML library in, 41 JavaMail active credential, 245 jsp directory, 36-37 JSP files, 11, 26, 26, 35-47 conditional rendering in, 40, 40 directory structures and, 42 get and set attributes in, 39, 41 JAR file for, 37 jsp directory for, 36-37, 36 Java Standard Tag Library (JSTL), 41-46 core library in, 43 core library in, 44, 44 deployment descriptor files and, 42, 42-43 EL library in, 43-44 error handling in, 45 twin libraries in, RT version in, 43 web.xml deployment descriptor files and, 42 JSR 168 and, 260-261, 260, 261 language support, internationalization and, 121-123, 122 modifying the portlet and, 35 Naircloware portlet example for, 37, 37 Portlet API JSP tag library in, 46-47, 46, 47 PortletContext object in, 36 PortletRequest and PortletResponse in, 38-39, 38-39 Register User portlet using Struts and, 219-220, 220, 221-223, 221-223 rendering portlets using, 36-47, 36, 38-39, 38-39 resource bundles in, 123, 123 Struts and, 173, 174-177, 185, 219, 221-223, 221-223 usebeans in, 39-40 view.jsp file for, 130-134, 131, 132 views and, 107-111 WebSphere Studio and, 26, 26 window states and, 78 JSR 168, 3-4, 255-261 ActionRequest in, 258 class definition in, 258, 258 deployment descriptor files in, 256-258 doview() method in, declaration in, 259, 259 Hello World portlet using, 255-258, 255 IBM API vs., 261 imports necessary for, 257-258, 257 Java file creation in, 256, 256 JSP files in, 260-261, 260, 261 portlet.properties file in, 257, 257 portlet.xml deployment descriptor file in, 256-258, 257-258 PortletException in, 258 RenderRequest, RenderResponse in, 259-260 URLs and, 259 Web Services for Remote Portlets (WSRP) and, 261 web.xml deployment descriptor file in, 256-258, 257 L Language portlet example, 128-134, 128. See also language support and internationalization c:choose tag for, 113, 113 view.jsp file for, 130-134, 131, 132 language support and internationalization, 117-136 bidirectional (right to left) languages and, 134-135, 134-135 controller and view bean for, 129-130 NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 285

Language portlet example, continued default process for displaying correct language in, 120-121, 121 dynamic language change in, 127-128 increasing need for, 117 internationalization defined for, 118 Java Standard Tag Library (JSTL) and, 124, 124 Language portlet example, 128-134, 128 c/choose tag for, 113, 113 components of, 128 controller and view bean for, 129-130 resource bundles for, 130 view.jsp file for, 130-134, 131, 132 languages available in WebSphere Portal support, 119, 119 locale settings and, 118 localization defined for, 118 localized JSPs in, 121-123, 122 micro-architectures for, 121-123, 122 multiple device support and, 135-136 portlet.xml deployment descriptor file to define, 119, 119-120 resource bundles in, 123, 123, 124-127, 125, 130 sharing property files across multiple portlets for, 127 WebSphere Portal support for, 118-120 listeners, ActionListener interface, 57-62 Livshin, Igor, 17 locale settings, language support, internationalization, 118 localization, in language support, internationalization, 118 JSP files for, 121-123, 122 logging action, 1 M MAXIMIZED window state, 75 memory resident caching, 169 MenuProvider interface, 102 menus for portlets, 94-97, 94 ActionListener interface in, 102 caching information and, 99 configuration parameters for, 100, 100 controller in, 101-107, 101 dynamic form of, 95 EDIT mode in, 104, 104 initconcrete method in, 102, 103 interfaces and, 101-102 MenuProvider interface in, 102 MenuTreePortlet classes in, 101 modes and, 99, 99-100 navigation tree creation for, 94, 95, 96, 96-97 nesting items in, 96 node1.jsp and, 110 node1_1.jsp and, 110 node1_2.jsp and, 110 node2.jsp and, 110 node2_1.jsp and, 110-111 node2_2.jsp and, 111 nodes and node IDs in, 96-97, 96-97, 110 parameters in, 97 PortletTitleListener interface in, 102 root menu item/root node in, 94, 95 static form of, 95 StaticMenuEdit.jsp and, 108-109, 108, 109 StaticMenuView.jsp and, 108, 108 VIEW mode in, 103, 104 views in, 107-111 XMIFilePath in, 102 XMIMenuTreePortlet, 100, 101 XML file for, 96 XSLT portlets and, 111-115, 112 MenuTreePortlet classes, 101 MessageEvents in, 58 MessageListener interface, 64-65 messaging, 62-70, 60 DefaultPortletMessage and, 64, 70 deployment descriptor files for, 66, 67, 68-69 drop-down list in, 62, 62-63 event loop and, 70 inter-portlet messaging in, 70 MessageListener interface for, 64-65 portlet.xml deployment descriptor file for, 68-69 PortletContext and, 64 PortletMessage interface in, 66 receiving messages to portlet in, 64, 65 286

restrictions to, 70 send messages portlet in, 63, 63-64 sending message to all portlets in, 66, 66 Struts and, 184 web.xml deployment descriptor file for, 67 MINIMIZED window state, 74-75 Model2 architecture, 173-174, 174. See also Struts model-view-controller design pattern, 171-174, 172, 173, 174, 182 modes, 78-79, 99, 99-100 CONFIGURE, 78, 80-85, 81-85, 99, 99-100 doconfigure() method in, 84 doedit() method and, 87-88, 87-88 dohelp() method in, 89 domode() method for, 79-80, 79-80 doview() method in, 89, 90, 91 EDIT, 78, 85-89, 86-89, 99, 99-100, 104, 104 HELP, 78, 89-92, 89, 90, 91 PortletData object and, 86-89, 86-89 Struts and, 194-196, 194-195 VIEW, 78, 88, 99, 99-100, 103 multiple device support, 135-136 MyPortlet class, credientialing and security, 230, 230-231 N Naircloware portlet example, 37, 37 naming conventions, 14 Naming Service/Naming Servers, services for portals, 165-167, 166 node1.jsp, 110 node1_1.jsp, 110 node1_2.jsp, 110 node2.jsp, 110 node2_1.jsp, 110-111, 110 node2_2.jsp, 111 nodes, 110 NORMAL window state, 74-75 O Office Lookup portal service example, 139-141, 140 BeenTherePortlet in, 159-163, 159 creating the service in, 141-147 getofficedata in, 143 getofficelist in, 143 installation and configuration of, 147-149 JAR files in, 148-149, 148, 149 Office class in, 140, 141 office data values displayed in, 154, 154 OfficeLookup interface in, 140 OfficeLookupImpl class in, 140 OfficeLookupPortlet class in, 151-152, 151, 152, 153 PortletService interface and, 142 registering service in, 143-147, 143 testing, 144-147, 145, 146 URLs in, 154 writing service implementation for, 143-147, 143 OfficeLookupPortlet class, 151-152, 151, 152, 153 P packaging, in application development, 265, 274-275 PagingData class, 52, 52-53, 56, 56 parameter setting, 98-99 password. See username and passwords PATH setting, 13 patterns and templates for application development, 268-269, 269 persistent storage, 84 of slots, 240 Portal Toolkit, 4, 11-29 Hello World portlet build using, 11-29 installation of, 5-6 portals applications and uses for, 2-3 Struts vs., 183-184 Portlet API (IBM), 3-4 Struts and, 183 window states and, if tag and, 77-78, 77 Portlet API JSP tag library, 46-47, 46, 47 portlet basics, 9-11 anatomy and components of, 9-11, 10 NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 287

portlet basics, continued common errors in, 14 compiling code for, 13-14, 13, 14 controller class in, 11, 31 creating new project for, 208-211, 209 deployment descriptor files in, 11, 15-16, 15-16 directory structure for, 12, 12 error handling in, 32 graphics and other files used by, 11 Hello World sample, 11-17 HTTP processing and, 32 JAR files for, 12, 14, 14 Java source file for, 12-13, 12-13 JSP files for, 11, 35-47 naming conventions for, 14 PATH setting in, 13 Portal Toolkit build, 11-29 portlet.xml deployment descriptor file for, 11, 15-16, 15-16 view beans for, 11 WAR files for, 10, 10, 12, 16-17, 17, 33 web.xml deployment descriptor file in, 11, 15-16, 15 Portlet class, 32 portlet.properties file, JSR 168, 257, 257 portlet.xml deployment descriptor file, 11, 15-16, 15-16 JSR 168 and, 256-258, 257-258 language support, internationalization and, 119, 119-120 messaging and, 68-69 WebSphere Studio and, 22 PortletAdapter class, 32 PortletApplicationSettingsAttributeEvents in, 58 PortletContext, 36 messaging and, 64 services for portals and, 152, 153 PortletData object, 86-89, 86-89 PortletException, 32 JSR 168 and, 258 PortletLog, 105 PortletMessage interface, 66 PortletRequest and PortletResponse, 32, 38-39, 38-39, 243-144 PortletURI and, 50, 50-51 PortletService interface, 138, 142 PortletServiceCacheFactory, 139, 147 PortletServiceConfig parameter setting, 143 PortletServiceDefaultFactory, 139 PortletServiceProvider interface, 143 PortletServiceRegistry, 143, 147 PortletSession, 70-71, 70 PortletSettings, CONFIGURE mode, 80-85, 81-85 PortletSettingsAttributeEvents in, 58 PortletTitleListener interface, 102 PortletURI, 48-90, 48, 49 actions, events, listeners in, 57-62 messaging and, 62-70, 60 no results found event and, 61, 61 PagingData class in, 52, 52-53, 56, 56 parameters added to, 49-57, 49-50 PortletRequest and PortletResponse in, 50, 50-51 search action in, 58-60, 58-60, 61 Start parameter for, 52, 57 STRIDE parameter for, 50, 51, 52, 57 URIParameter tags in, 56 URL creation using, 48-49, 52, 55-56, 55 user clicks/input and, 48-49, 48, 49 private slots, 234 PVCS, 270 R Rational Clear Case, 264, 270 receiving messages to portlet, 64, 65 redirecting data, in Struts, 183, 192-193, 193, 197, 197 references within MVC architecture, strong vs. weak, 172 Register User portlet using Struts actions that will be handled by, 198 ApplicationResource.properties file in, 214, 215 com.ibm.wps.samples.action package for, 218-219, 218 Constants.java file in, 214, 215, 216 creating portlet project for, 208-211, 209 288

CredentialsBean.java file in, 214, 216, 216-218 directory structure for, 211-212, 211, 212 EAR project and J2EE settings for, 209, 210 EDIT mode for configuration in, 204-208, 204-205, 219 221-223, 221-223, 225-226 EditConfigurationAction in, 201-202, 201 ForwardAction in, 208 index.jsp file in, 221, 221-222 JAR files in, 211, 211 Java files for, 214-219 JSP files for, 219-220, 220, 221-223, 221-223 key components of, 198-199 portlet settings for, 210, 211 SaveConfigurationAction in, 202-208, 203-204 state map for, 198, 198 StaticJavaScript.jsp file in, 222-223 StaticJavaScript.jsp file, 222-223 Struts tag libraries descriptors in, 214 struts-config.xml file for, 223-226, 223-224, 225-226 success case in, 206, 206-207 username and password constants in, 215 views and VIEW mode in, 207-208, 207-208, 219-220, 220, 223-226, 223-224 web.xml deployment descriptor file in, 212-214 WelcomeAction in, 199-201, 200-201 Register.html file, Struts, 177 RegisterAction, Struts, 179-180, 180 registering service, 143-147 release environment, in development environment setup, 267 remote interface, services for portals, 158-159 RenderRequest, RenderResponse, JSR 168, 259-260 repository, in development environment, 264, 271-272 RequestProcessor, 186-187 Struts and, 175, 183 resource bundles, in language support, internationalization, 123, 123, 124-127, 125, 130 resource names, 237 Response object, Struts, 187 S SaveConfigurationAction, 202-208, 203-204 Schumacher, Maik, 17 scripting, Ant, 275-276, 276 search action, 58-60, 58-60, 61 no results found event and, 61, 61 security and Credential Vault, 227-253, 229 active vs. passive credentials in, 235 administration rules for segments in, 233 administrator managed segments in, 233 authorization and, 230 Credential Valut service in, 229-230 Credential Vault portlet in, 250 credentials in, 241-249 actionperformed method in, 247,247-248 active, 244-245 flow of active in, 246-249, 246 getconnection method in, 248, 248-249 HttpBasicAuth active, 245-249 HttpFormBasedAuth active, 245 JavaMail active, 245 passive, 241-243 PortletRequest for, 243-244 SiteMinderToken active, 245 username and passwords as, 241-249 WebSealToken active, 245 flow of active credentials in, 246-249, 246 locating and interfacing with, 230-231 MyPortlet class and, 230, 230-231, 230 resource names in, 237 segments in, 233 single sign on dilemma and, 227-229, 229 slots, 234-240 administrative, 234, 249-252, 250 binding and, 240 configuring, values for, 251 creating, 237-238, 237, 239, 251-252, 251 CredentialSlotConfig object and, 238-239 defining and configuring, 234-235, 235 LotusNotes example of, 252, 252 persistent storage of, 240 NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 289

security and Credential Vault, slots, continued private, 234 resource names in, 237 retrieving, 235, 236 shared, 234 slotid in, 236-240, 236 storing username and password in, 240 system, 234, 249-252, 250 type identifiers for, 238, 238 user managed, 237 structure of Credential Vault in, 231-232, 232 Tivoli Access Manager for ebusiness (TAM) and, 232 user-managed segments in, 233 segments, in credientialing and security, 233 send messages portlet, 63, 63-64 server-side Java programming, 6 servers, 30, 30 development and development environment setup for, 266 services for portals and, 165-167 Struts and, 182, 182 service factories, 138-139 service interface, 141, 142 services for portals, 137-170 BeenThere EJB in, 156, 157-158, 157, 158 createdate() method in, 146, 146 data caching in, 167-170 debugging in, 167 definition of, 137-138 design of, 139-141 Enterprise Java Beans (EJBs) and, 137, 155-167 installation and configuration of, 147-149 J2EE application development in, 155-156 Java Naming and Directory Interface (JNDI) and, 157 Naming Service/Naming Servers in, 165-167, 166 Office Lookup portal service example, 139-141, 140 BeenTherePortlet in, 159-163, 159 createdate() method in, 146, 146 creating the service in, 141-147 destroy() method in, 163 doview() method in, 162, 162-163 getofficedata in, 143 getofficelist in, 143 ibm-web-bnd.xml file in, 164-165, 164 init() method in, 160 initportletinstancedata method in, 161, 161-162 installation and configuration of, 147-149 JAR files in, 148-149, 148, 149 Office class in, 140, 141 office data values displayed in, 154, 154 OfficeLookup interface in, 140 OfficeLookupImpl class in, 140 OfficeLookupPortlet class in, 151-152, 151, 152, 153 PortletContext in, 152, 153 PortletService interface and, 142 PortletServiceCacheFactory in, 147 PortletServiceConfig parameter setting in, 143 PortletServiceProvider interface in, 143 PortletServiceRegistry in, 143, 147 registering service in, 143-147 remote interface and, 158-159 service interface for, 141, 142 testing, 144-147, 145, 146 unified modeling language (UML) diagrams for, 140-141, 141 URLs in, 154 view beans, 150, 150, 151 web.xml deployment descriptor file in, 163-164, 164 writing service implementation for, 143-147, 143 PortletContext in, 152, 153 PortletService interface for, 138, 142 PortletServiceCacheFactory in, 139, 147 PortletServiceConfig parameter setting in, 143 PortletServiceDefaultFactory in, 139 PortletServiceProvider interface in, 143 PortletServiceRegistry in, 143, 147 registering service in, 143-147 remote interface and, 158-159 server selection for, 165-167 290

service factories as, 138-139 service interface for, 141, 142 types of services available in, 138 unified modeling language (UML) diagrams for, 140-141, 141 URLs in, 154 view beans, 150, 150, 151 View-Controller structure and, 138 writing service implementation for, 143-147, 143 servlets, 26, 26, 27-29, 27, 29 Struts and, 174-175 Struts and, mapping, 178, 178 WebSphere Studio and, 26, 26, 27-29, 27, 29 session. See PortletSession shared slots, 234 single sign-on dilemma, 227-229, 229. See also security and Credential Vault SiteMinderToken active credential, 245 Sjostrand, Henrik, 17 skills required for building portlets, 6-7 skins for portlets, 73-74, 74 slots. See credientialing and security software configuration management (SCM), 270 SOLO window state, 75 source code management, in development environment, 269-271 source code repository, in development environment, 264, 271-272 SQL, JSP Standard Tag Library (JSTL), 41 standards, in development environment, 267-269 state map, 98, 98 Register User portlet using Struts and, 198, 198 states and modes, 73-92 modes in, 78-79 CONFIGURE, 80-85, 81-85 doconfigure() method in, 84 doedit() method and, 87-88, 87-88 dohelp() method in, 89 DoMode() method for, 79-80, 79-80 doview() method in, 89, 90, 91 EDIT mode in, 85-89, 86-89 HELP mode in, 89-92, 89, 90, 91 PortletData object and, 86-89, 86-89 VIEW mode in, 88 skins for portlets and, 73-74, 74 themes for portlets and, 73-74, 74 window states in, 74-75 allowing, 75 conditional rendering and, 77 detecting, 76-79, 76-77 if tag and Portlet API tag library for, 77-78, 77 JSP files for, 78 static menus, 95. See also menus for portlets StaticMenuEdit.jsp, 108-109, 108, 109 StaticMenuView.jsp, 108, 108 storage of portlets, 84 STRIDE parameter, 50, 51, 52, 57 Struts, 171-226 Action Forwards in, 175 action processing in, second phase of rendering and, 196 ActionEvent in, 182 ActionForm in, 175-176, 179, 179 ActionForwards in, 176-177, 180 ActionMapping in, 175, 176-177, 178-179, 179, 181, 178 Actions in, 175 ActionServlet in, 175, 176-177, 178 C2A/Property Broker and, 184 components of, 175 controller and, 184 Core Portal Servlet in, 182, 183, 184 EDIT mode in, 219, 221-223, 221-223, 225-226 Enterprise Java Beans (EJBs) and, 173 error handling in, 206, 206 FormBeans in, 175, 179, 179 forwards and redirects using, 183, 192-193, 193, 197, 197 HTTP and, 173 HttpRequest/HttpResponse in, 176-177 information and resources for, 181 JSP files and, 173, 174-177, 185, 219, 221-223, 221-223 messaging and, 184 Model2 architecture and, 173-174, 174 NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 291

Struts, continued model-view-controller design pattern and, 171-174, 172, 173, 174, 182 modes in, 194-196, 194-195 portals vs., 183-184 portlet aggregation using, 182, 182 Portlet API and, 183 references within, strong vs. weak, 172 Register User portlet example using, 197-226 actions that will be handled by, 198 ApplicationResource.properties file in, 214, 215 com.ibm.wps.samples.action package for, 218-219, 218 Constants.java file in, 214, 215, 216 creating portlet project for, 208-211, 209 CredentialsBean.java file in, 214, 216, 216-218 directory structure for, 211-212, 211, 212 EAR project and J2EE settings for, 209, 210 EDIT mode for configuration in, 204-208, 204-205, 219, 221-223, 221-223, 225-226 EditConfigurationAction in, 201-202, 201 error handling in, 206, 206 ForwardAction in, 208 index.jsp file in, 221, 221-222 JAR files in, 211, 211 Java files for, 214-219 JSP files for, 219-220, 220, 221-223, 221-223 key components of, 198-199 portlet settings for, 210, 211 SaveConfigurationAction in, 202-208, 203-204 state map for, 198, 198 StaticJavaScript.jsp file in, 222-223 Struts tag libraries descriptors in, 214 struts-config.xml file for, 223-226, 223-224, 225-226 success case in, 206, 206-207 username and password constants in, 215 validator rules in, 226 views and VIEW mode in, 207-208, 207-208, 219-220, 220, 223-226, 223-224 web.xml deployment descriptor file in, 212-214 WelcomeAction in, 199-201, 200-201 Register.html file in, 177 RegisterAction in, 179-180, 180 request/response syntax in, 184 RequestProcessor in, 175, 183 re-rendering in, 184 server selection and, 182, 182 servlet mapping in, 178, 178 servlets and, 174-175 Struts Portal Framework (SPF) and, 175, 181, 187 struts-config.xml file in, 175, 177-181, 181 Success action in, 180, 180 URIs in, 175, 183, 185 URL registered using, 177-178, 178 validator rules in, 226 views in, 188-191, 193-194, 194 web.xml deployment descriptor file and, 195-196, 195, 196 WebSphere Portal Server integration, SPF and, 181 WpsStrutsPortlet in, 184-197 action handling in, step by step, 191-194, 192 Command factory in, 191 error handling in, 190-191 IViewCommand in, 188-191 JSP files and, 185 RequestProcessor in, 186-187 response object in, 187 views in, 188-191 WpsActionServlet in, 185-186 Struts in Action, 181 Struts Portal Framework (SPF). See also Struts, 175, 181, 187 struts-config.xml, Struts, 175, 177-181, 181 Register User portlet using Struts and, 223-226, 223-224, 225-226 Success action, in Struts, 180, 180 292

success case, in Register User portlet using Struts, 206, 206-207 synchronization of cached data, 169-170 system slots, 234, 249-252, 250 T tags, Portlet API, 46-47, 46, 47t templates for application development, 268-269, 269 testing portlet services, 144-147, 145, 146 development environment setup for, 264-265 themes for portlets, 73-74, 74 titles, dotitle() method, 103 Tivoli Access Manager for ebusiness (TAM), credientialing and security, 232 Tivoli Directory Server, 3 tolerance of cache, stale data and updates to, 168-169 tools for building portlets, 3-5 TransformerFactory object and transformation, XSLT portlets, 113, 113 U unified modeling language (UML) diagrams, services for portals, 140-141, 141 URIParameter tags, 56 URLs, URIs, IP addresses, 48, 98-99, 99. See also Portlet URI ContentAccess portlet service in, 114-115 JSR 168 and, 259 mapping of, 27 PortletURI for, 48-49, 48, 49 registering, using Struts, 177-178, 178 services for portals and, 154 Struts and, 175, 177, 183, 185 XSLT portlets and, 114-115, 114, 115 usebeans, 39-40 user clicks/input to portal. See Portlet URI, 48 username and passwords. See also security and Credential Vault credientialing and security, 241-249 Register User portlet using Struts and, 215 slot storage of, 240 V validator rules, Register User portlet using Struts, 226 versioning, in application development, 265, 270, 274-275 view beans, 11 Language portlet example, language support and, 129-130 services for portals and, 150, 150, 151 VIEW mode, 78, 88, 99, 99-100 doview() and, 89, 90, 91, 103, 104 Register User portlet using Struts and, 207-208, 207-208, 219-220, 220 StaticMenuView.jsp and, 108, 108 Struts and, 194-196, 194-195 view.jsp file, language support, internationalization, 130-134, 131, 132 View-Controller structure, services for portals, 138 views, 107-111. See also VIEW mode language support, internationalization and, view.jsp file for, 130-134, 131, 132 model-view-controller design pattern and, 171-174, 172, 173, 174 Register User portlet using Struts and, and VIEW mode in,219-220, 220, Register User portlet using Struts, VIEW mode, 207-208, 207-208, 219-220, 220, 223-226, 223-224 StaticMenuEdit.jsp and, 108-109, 108, 109 StaticMenuView.jsp and, 108, 108 Struts and, 188-191, 193-194, 194 W WAR files, 10, 10, 12, 16-17, 17, 33 Web Services for Remote Portlets (WSRP), 261 web.xml deployment descriptor file, 11, 15-16, 15 JSP files and, 42 JSR 168 and, 256-258, 257 messaging and, 67 Register User portlet using Struts and, 212-214 services for portals and, 163-164, 164 Struts and, 195-196, 195, 196 NOTE: Boldface numbers indicate illustrations or code listing; t indicates a table. 293

WebSealToken active credential, 245 WebSphere Application Server, 3 WebSphere Portal, 1, 2-3, 3 language support, internationalization and, 118-120 online InfoCenter for, 17 Portal Toolkit installation and, 5-6 WebSphere Portal Server, 3 WebSphere Studio. See also development environment for WebSphere, 263 class file creation in, 24, 24, 25 controller class in, 25, 28 create new project in, 18, 18 create portlet options in, 19-20, 20 deployment descriptor files in, 26, 26,28, 28 directory structure for portlet in, 22 J2EE settings in, 20-21, 21 Java Package creation in, 23, 23 naming the portlet in, 21 naming your project in, 19 portlet settings in, 21, 22 portlet.xml file in, 22 project options in, 19 resources for, 17 running the portlet in, 29-31, 30, 31 server selection for, 30, 30 servlets and JSPs in, 26, 26, 27-29, 27, 29 URL mapping for, 27 WebSphere Studio Application Developer (WSAD), 159 WebSphere Stduio Application Developer 5.0, 17 WebSphere Studio Application Developer Version 5 Programming, 17 WebSphere Studio Site Developer, 5, 5 Welcome portlet, 94 WelcomeAction, in Register User portlet using Struts, 199-201, 200-201 window states, 74-75 allowingquote, 75 conditional rendering and, 77 detecting, 76-79, 76-77 JSP files for, 78 MAXIMIZED, 75 MINIMIZED, 74-75 NORMAL, 74-75 SOLO, 75 WindowEvents in, 58 wireless devices, portlet support for, 135-136 Work Load Manage (WLM), 156 workstations for development team members, 266 WpsActionServlet, in Struts, 185-186 WpsStrutsPortlet, 184-197. See also Struts X XMIFilePath, 102 XMIMenuTreePortlet, 100, 101 XML, 7, 93 JSP Standard Tag Library (JSTL) and, 41 menus for portlets and, 96 XSLT portlets and, 111-115, 112 XPath, JSP Standard Tag Library (JSTL), 41 XSL, 93 XSLT, 7 JSP Standard Tag Library (JSTL) and, 41 XSLT portlets, 111-115, 112 ContentAccess portlet service in, 114-115 doview() method in, 112-113, 113 TransformerFactory object and transformation in, 113, 113 URL data and, 114-115, 114-115 XML-to-HTML transformations and, 112 294