Acknowledgments |
|
ix | |
Introduction |
|
xix | |
Part Open Source Portals |
|
1 | (172) |
|
Chapter 1: The Java Portlet API (JSR 168) |
|
|
3 | (38) |
|
|
3 | (5) |
|
|
5 | (1) |
|
|
6 | (2) |
|
The Portlet Interface and the GenericPortlet |
|
|
8 | (6) |
|
|
8 | (1) |
|
|
8 | (1) |
|
|
9 | (2) |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (3) |
|
Other Elements of the Java Portlet API |
|
|
14 | (14) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (2) |
|
|
18 | (1) |
|
Calling JSPs and Servlets |
|
|
19 | (2) |
|
Portlet Application Structure |
|
|
21 | (1) |
|
|
22 | (1) |
|
|
22 | (2) |
|
User Information Attributes |
|
|
24 | (4) |
|
|
28 | (1) |
|
|
28 | (11) |
|
Portlet Application Deployment Descriptor |
|
|
28 | (4) |
|
|
29 | (3) |
|
|
32 | (7) |
|
|
39 | (2) |
|
Chapter 2: Searching with Lucene |
|
|
41 | (18) |
|
Understanding Search Engine Concepts |
|
|
41 | (13) |
|
The Anatomy of a Search Engine |
|
|
43 | (5) |
|
|
48 | (6) |
|
|
51 | (2) |
|
|
53 | (1) |
|
|
54 | (1) |
|
Understanding the Lucene Query Syntax |
|
|
54 | (3) |
|
|
54 | (1) |
|
|
54 | (1) |
|
|
54 | (1) |
|
Boolean Operators, Grouping, and Escaping |
|
|
55 | (2) |
|
Optimizing Lucene's Performance |
|
|
57 | (1) |
|
|
57 | (2) |
|
Chapter 3: Messaging with Apache James |
|
|
59 | (28) |
|
|
59 | (5) |
|
Working with Mailets and Matchers |
|
|
60 | (3) |
|
|
61 | (1) |
|
|
62 | (1) |
|
Understanding SpoolManager |
|
|
63 | (1) |
|
Understanding Repositories |
|
|
63 | (1) |
|
|
64 | (1) |
|
|
64 | (1) |
|
|
64 | (1) |
|
Working with RemoteManager |
|
|
64 | (1) |
|
|
64 | (6) |
|
|
64 | (1) |
|
|
65 | (1) |
|
|
65 | (5) |
|
|
66 | (1) |
|
POP3 Server Configuration |
|
|
66 | (1) |
|
SMTP Server Configuration |
|
|
66 | (1) |
|
NNTP Server Configuration |
|
|
67 | (1) |
|
|
67 | (1) |
|
RemoteManager Configuration |
|
|
68 | (1) |
|
|
68 | (1) |
|
SpoolManager Configuration |
|
|
68 | (1) |
|
Global Server Configuration |
|
|
68 | (1) |
|
|
69 | (1) |
|
|
70 | (4) |
|
|
71 | (1) |
|
|
71 | (1) |
|
|
72 | (1) |
|
|
72 | (1) |
|
|
73 | (1) |
|
|
73 | (1) |
|
|
74 | (12) |
|
|
74 | (5) |
|
|
79 | (7) |
|
|
86 | (1) |
|
Chapter 4: Object to Relational Mapping with Apache OJB |
|
|
87 | (30) |
|
Exploring Object-to-Relational |
|
|
|
|
87 | (1) |
|
Understanding OJB Technology Features |
|
|
88 | (1) |
|
|
89 | (21) |
|
Developing with the PersistenceBroker API |
|
|
90 | (17) |
|
|
93 | (6) |
|
|
99 | (1) |
|
|
100 | (4) |
|
|
104 | (2) |
|
|
106 | (1) |
|
Developing with the ODMG API |
|
|
107 | (3) |
|
|
107 | (1) |
|
|
107 | (1) |
|
|
108 | (1) |
|
|
109 | (1) |
|
|
109 | (1) |
|
Developing with the JDO API |
|
|
110 | (1) |
|
|
110 | (4) |
|
Verifying an OJB Installation |
|
|
111 | (1) |
|
Supported Database Platforms |
|
|
111 | (1) |
|
Supported JDBC Data Types |
|
|
112 | (1) |
|
Deploying OJB Applications |
|
|
113 | (1) |
|
|
113 | (1) |
|
|
114 | (1) |
|
|
114 | (1) |
|
|
114 | (1) |
|
|
114 | (1) |
|
|
114 | (3) |
|
Chapter 5: Content Management with Jakarta's Slide |
|
|
117 | (28) |
|
|
117 | (18) |
|
|
118 | (2) |
|
|
120 | (2) |
|
|
122 | (2) |
|
|
123 | (1) |
|
|
123 | (1) |
|
|
124 | (8) |
|
|
124 | (8) |
|
|
132 | (1) |
|
|
132 | (3) |
|
|
135 | (1) |
|
Setting Up and Configuring Slide |
|
|
135 | (3) |
|
Installing and Running Slide |
|
|
135 | (1) |
|
|
136 | (2) |
|
|
138 | (1) |
|
|
139 | (1) |
|
|
139 | (1) |
|
|
139 | (1) |
|
|
139 | (4) |
|
Windows XP WebDAV Example |
|
|
140 | (3) |
|
|
143 | (2) |
|
Chapter 6: Portal Security |
|
|
145 | (28) |
|
|
145 | (5) |
|
|
145 | (1) |
|
|
146 | (1) |
|
|
147 | (2) |
|
|
149 | (1) |
|
|
150 | (1) |
|
|
150 | (1) |
|
|
150 | (3) |
|
|
150 | (1) |
|
|
151 | (1) |
|
|
151 | (1) |
|
|
151 | (2) |
|
OASIS Web Services Security (WSS) |
|
|
153 | (1) |
|
Building Security Solutions for Your Portal |
|
|
153 | (19) |
|
Web Container Security-Apache Tomcat |
|
|
154 | (14) |
|
|
155 | (10) |
|
Application Configuration |
|
|
165 | (2) |
|
Programmatic Security Access with JSPs and Servlets |
|
|
167 | (1) |
|
Security of the Portlet Container |
|
|
168 | (3) |
|
|
169 | (1) |
|
Portlet Descriptor-Configured Security |
|
|
170 | (1) |
|
Beyond the Portal-Secure Back-End Communication |
|
|
171 | (1) |
|
|
172 | (1) |
Part II: How to Build a Portal |
|
173 | (200) |
|
Chapter 7: Planning for Portal Deployment |
|
|
175 | (46) |
|
|
177 | (5) |
|
|
177 | (1) |
|
|
177 | (1) |
|
|
178 | (1) |
|
|
178 | (1) |
|
Quality Assurance Requirements |
|
|
179 | (2) |
|
Software Configuration Management |
|
|
179 | (1) |
|
|
180 | (1) |
|
|
180 | (1) |
|
|
181 | (1) |
|
|
181 | (1) |
|
|
181 | (1) |
|
Software Design Methodologies |
|
|
182 | (13) |
|
|
182 | (11) |
|
|
184 | (2) |
|
Software Architecture Document (SAD) |
|
|
186 | (3) |
|
Shall Statements and User Stories |
|
|
189 | (1) |
|
Class-Responsibility-Collaborator Cards (CRCs) |
|
|
190 | (1) |
|
|
190 | (3) |
|
Design Models for Visualization That Are Not in UML |
|
|
193 | (2) |
|
|
195 | (5) |
|
|
196 | (1) |
|
|
197 | (1) |
|
|
197 | (3) |
|
|
200 | (1) |
|
|
200 | (1) |
|
Design Pattern Considerations In Your Portal |
|
|
201 | (5) |
|
|
202 | (5) |
|
Model-View-Controller (MVC) Pattern |
|
|
205 | (1) |
|
|
205 | (1) |
|
|
205 | (1) |
|
|
205 | (1) |
|
|
205 | (1) |
|
|
206 | (1) |
|
|
206 | (1) |
|
|
206 | (1) |
|
Intercepting Filter Pattern |
|
|
206 | (1) |
|
|
206 | (1) |
|
|
207 | (1) |
|
|
207 | (2) |
|
|
208 | (1) |
|
Web Services for Remote Portals (WSRP) |
|
|
209 | (1) |
|
|
210 | (8) |
|
Portal Navigation Using Taxonomies |
|
|
212 | (6) |
|
|
218 | (2) |
|
|
220 | (1) |
|
Chapter 8: Effective Client-Side Development Using JavaScript |
|
|
221 | (34) |
|
|
222 | (1) |
|
|
223 | (4) |
|
|
227 | (4) |
|
|
228 | (1) |
|
|
229 | (2) |
|
|
231 | (9) |
|
|
231 | (3) |
|
|
234 | (6) |
|
|
240 | (4) |
|
|
244 | (9) |
|
|
244 | (6) |
|
|
250 | (3) |
|
|
253 | (2) |
|
Chapter 9: Developing Applications and Workflow for Your Portal |
|
|
255 | (30) |
|
|
255 | (4) |
|
|
256 | (2) |
|
|
258 | (1) |
|
|
258 | (1) |
|
|
258 | (1) |
|
|
259 | (3) |
|
|
259 | (1) |
|
|
259 | (1) |
|
|
259 | (1) |
|
Setup and Installation of eXo |
|
|
260 | (1) |
|
Understanding the eXo Directory Structure |
|
|
260 | (2) |
|
|
262 | (15) |
|
Developing the Directory Portlet |
|
|
265 | (11) |
|
|
266 | (1) |
|
The DirectoryPortlet Class |
|
|
267 | (4) |
|
The DirectoryValidator Class |
|
|
271 | (1) |
|
The DirectoryView JSP File |
|
|
272 | (2) |
|
The DirectoryEdit JSP File |
|
|
274 | (1) |
|
|
275 | (1) |
|
|
275 | (1) |
|
Deploying the Directory Portlet in eXo |
|
|
276 | (1) |
|
Portlet Creation the Model-View-Controller (MVC) Way |
|
|
277 | (2) |
|
The MVC Loan Calculator Portlet |
|
|
279 | (4) |
|
Web Applications versus Portlet Applications |
|
|
283 | (1) |
|
|
283 | (2) |
|
Chapter 10: Portlet Integration with Web Services |
|
|
285 | (26) |
|
|
285 | (2) |
|
Integrating with Traditional Web Services |
|
|
287 | (15) |
|
|
292 | (10) |
|
First Approach: SOAP and WSDL Messaging |
|
|
292 | (6) |
|
Second Approach: Working with Generated Objects |
|
|
298 | (4) |
|
Web Services for Remote Portlets (WSRP) |
|
|
302 | (8) |
|
|
304 | (1) |
|
Discovery, Registration, and Deregistration Services |
|
|
304 | (1) |
|
Simple WSRP Services-Stateless "View Only" Modes |
|
|
304 | (1) |
|
More Complex Services-Interactive WSRP Services |
|
|
304 | (1) |
|
Portlet Management Services |
|
|
305 | (1) |
|
WSRP Markup Guidelines for Portlet Developers |
|
|
305 | (7) |
|
Disallowed XHTML and HTML Tags |
|
|
305 | (1) |
|
Cascading Style Sheets (CSS) Style Definitions |
|
|
305 | (5) |
|
|
310 | (1) |
|
|
310 | (1) |
|
Chapter 11: Performance Testing, Administering, and Monitoring Your Portal |
|
|
311 | (36) |
|
|
312 | (14) |
|
|
312 | (3) |
|
|
315 | (1) |
|
|
316 | (8) |
|
|
324 | (2) |
|
|
326 | (4) |
|
|
327 | (3) |
|
Portal Requirements/Bug Management and Traceability with Scarab |
|
|
330 | (5) |
|
|
330 | (21) |
|
|
331 | (4) |
|
Portal Administration with JMX |
|
|
335 | (9) |
|
Portal Collaboration with JSPWiki |
|
|
344 | (2) |
|
|
346 | (1) |
|
Chapter 12: Unifying the Enterprise Application |
|
|
|
|
347 | (1) |
|
|
348 | (1) |
|
|
349 | (2) |
|
|
351 | (7) |
|
Downloading and Installing Java Web Start |
|
|
351 | (1) |
|
Configuring the Web Server |
|
|
351 | (1) |
|
|
352 | (2) |
|
|
|
[information] Subelement 353 |
|
|
|
[security] Subelement 353 |
|
|
|
[resources] Subelement 353 |
|
|
|
[application-desc] Subelement 354 |
|
|
|
|
354 | (1) |
|
|
354 | (2) |
|
|
356 | (2) |
|
|
358 | (5) |
|
Using JWS in Portal Implementations |
|
|
363 | (9) |
|
Use in a Web-based Portal |
|
|
364 | (3) |
|
|
367 | (5) |
|
|
367 | (1) |
|
Java-based Portal Examples |
|
|
368 | (4) |
|
|
372 | (1) |
References |
|
373 | (2) |
Index |
|
375 | |