applications continuedportlet compared to Web, extensibility, 6 Web compared to portlet applications, 283 applications portlet, structure, 21–22 APPLICATION_SCOPE, PortletSession interfa
Trang 1applications (continued)
portlet compared to Web, extensibility, 6
Web compared to portlet applications, 283
applications (portlet), structure, 21–22
APPLICATION_SCOPE, PortletSession interface, 18
architecture
design decisions, overview, 195–196
eXo portal platform, directory structure, 260–262
Slide API layer, 135
Architecture Goals section, SADs, 187
arguments
JavaScript functions, calling, 225
recipient addresses (JavaMail), 72
arrays, JavaScript, creating, 232
articleIDDomainSuffixtag, James, 67
articleIDPathtag, James, 67
asset management, 201
association checklists, domain models, 185
atomicity, Slide transaction management, 123
attachments (mail), creating, 77
attributes
className(security realms), 157
connectionName(security realms), 157
connectionPassword(security realms), 157
connectionURL(security realms), 157
CSS portlet style definitions, 22–23
digest(security realms), 157
driverName(security realms), 157
fetchtag (James), 67
fetchpoptag (James), 67
jnlptag, 353
keystoreFile,164
keystorePass,164
mailettag (James), 68
portlet scope naming conventions, 18–19
protected int m_nID(OJB), 91
roleNamesCol(security realms), 157
user profiles (portlets), 24–28
userCredCol(security realms), 157
userNameCol(security realms), 157userRoleTable(security realms), 158userTable(security realms), 158version(portlet deployment descriptors), 28authentication
deep authentication, 148JavaMail, 72–73logon screen (JavaMail), 79portals, 145–146
security realms and, 155–163Tomcat configuration, 165–167Authenticatorclass, JavaMail, 72–73authoritativetag, James, 66authorization
portals, 146–147portals, single sign-on (SSO), 147–148security realms and, 155–163Tomcat configuration, 165–167auto-deleteelement, Message class (OJB), 97auto-populating fields, JavaScript, 228–229auto-retrieveelement, Message class (OJB), 97auto-updateelement, Message class (OJB), 97auto-validating fields, JavaScript, 229–231AvalonListservmailet, 62
AvalonListservManagermailet, 62Axis, Llama example portlet/Web service, 298–302Axis-wsdl2java(Ant task), 299
Bback-end security considerations, 171banding style, attribute setting for portals, 22BASIC authentication, 165
batch-modeelement, descriptortag, 100
jdbc-connection-bayesian nets, search engine algorithms, 45bindirectory, eXo portal platform, 261bindtag, James, 66
bindingssection, Llama example portlet/Web service, 293–294
body (SOAP messages), 286bodytag, WSRP and, 305Boolean operatorsLucene query syntax, 55–56search engines, 200boosting search terms (Lucene queries), 55BranchNotFoundExceptionclass, Slide contenthelper, 130
applications (continued)
Trang 2browsersclient-side processing, 206Java Plug-ins, portlet planning considerations, 208JavaScript considerations, 207
bug trackingdeployment planning and, 181Scarab, 330–335
build applications, ANT (Jakarta), 180button text, attribute for portals, 23
Ccache, portlet expiration-cache tag, 29cached content (portlets), render method and, 9caching
defined, 88objects (OJB), 89calling
JavaScript functions, 224–225servlets and JSPs, portlets and, 19–21catching errors, sending mail (JavaMail), 79cells (tables), attribute settings for portals, 23Certificate Signing Request (CSR), 164certificates, signing authorities, 164characters (special), Lucene query syntax, 56check box label, attribute for portals, 23check boxes, defined, 231
CheckStyle, deployment planning and, 180child nodes, permissions (Slide security helper), 125classattribute, mailet tag (James), 68
classelement, Message class (OJB), 96class-descriptortag, Message class (OJB), 96classes
Address(JavaMail), 72Analyzer,51–53Authenticator(JavaMail), 72–73CRC (Class-Responsibility-Collaborator) cards, 190developing, domain models and, 184–186DirectoryPortlet(Directory example portlet),267–271
DirectoryValidator(Directory example portlet),271–272
Folder(JavaMail), 73–74GenericMailet,60–61GenericMatcher,61GenericPortlet,11–13GenericPortlet(source code), 32–33GenericPortlet,defined, 8
IndexSearcher,50–51
IndexWriter,49InternetAddress(JavaMail), 72Message(JavaMail), 71–72Message(JavaMail), overview, 93Message(JavaMail), source code, 94–97Message(OJB), 91
OJB, creation guidelines, 93PreferenceValidator,258search engine functionality, 48Session(JavaMail), 71Slide content helper, 130–131Slide lock helper, 129–130Slide macro helper, 131–132Slide security helper, 125, 128SMTPMessage(JavaMail), 71StandardAnalyzer,48Store(JavaMail), 73–74Transport(JavaMail), 73Viewer(JavaMail), overview, 97Viewer(JavaMail), source code, 97–98Viewer(OJB), 91
WSDL2Java,299classNameattribute, security realms, 157CLASSPATH settings, OJB deployment, 114Class-Responsibility-Collaborator (CRC) cards, 190client invocation (Java Web Start), 354–356client layer, Slide, 118
client view, Slide, 139clients
Slide API, accessing, 120WebDAV (Slide), 118client/server mode (OJB), 89client-side field validation, JavaScript, 223–227client-side processing
layering elements on page (JavaScript), 244–249overview, 206
clonePortletmethod, WSRP, 305closeNamespacemethod, Domain class, 134
code listings See source code
code signing (Java Web Start), 356–357collaboration, JSPWiki, 344–346collection-descriptortagMessageclass (OJB), 96OJB repository.xml file, 91columnelement, Message class (OJB), 96CommandForListservmatcher, 61concept searching (search engines), 200conditional statements, JavaScript, 237confdirectory, eXo portal platform, 261–262confidentiality considerations, portal security, 149confidentiality considerations, portal security
Trang 3connectionmanager(James), 69
fetchPOPservice (James), 67
global items (James), 68–69
Java Web Start and, 119
Java Web Start, Web server, 351–352
objectstorage(James), 69
portlet preferences, overview, 16–18
portlet security, descriptors and, 170–171
PortletConfigobject, 14
RemoteManager(James), 68
repositories (James), 68
security (portlet.xml file), 258
Slide, mapping services to nodes, 132
Tomcat server, overview, 155
Tomcat server, security realms, 155–163
configuration files
James, accessing, 65
Slide, 132
configuration management, 311
config.xml (James), location, 65
confirmation message text, attributes, setting for
portals, 22
ConflictExceptionclass, Slide macro helper, 131
connectiontag, James, 69
connectionLimittag, James, 66
connectionmanager,configuration (James), 69
connectionNameattribute, security realms, 157
connectionPasswordattribute, security realms, 157
connectionURLattribute, security realms, 157
consistency, Slide transaction management, 123
consumers (WSRP), defined, 302
Contentclass, Slide content helper, 130
content helper (Slide), 120, 130–131
content management (Slide)
remote, 118
Slide server, 138–139
standalone Java applications for, 118transaction management and, 122content management, portal design considerations,200–201
content publishing, 201content store, Slide, 132ContentExceptionclass, Slide content helper, 131ContentImplclass, Slide content helper, 130context diagrams, 190
Contexttag, Tomcat configuration, 156continuous integration
defined, 312software testing, 181controllers.xmlfile, Loan Calculator exampleportlet, 279
conventions (naming), portlet scope attributes, 18–19CopyMacroExceptionclass, Slide macro helper, 131core classes, JavaMail API, 71–74
CRC (Class-Responsibility-Collaborator) cards, 190createPortletInstanceoperation (WSRP), 209criteria, setting for searches, 272–274
CSR (Certificate Signing Request), 164CSS (Cascading Style Sheets)Portlet API definitions, 22–23WSRP (Web Services for Remote Portals), 305customization
portlet deployment descriptors, 31portlet preferences, overview, 16–18portlet window states, 16
Preferencesobject (portlets), 8–9customization tool, eXo portal platform, 259–260CVS (Concurrent Versioning System), 312–315
Ddatadirectory, eXo portal platform, 262Data Flow Diagram (DFD), 193–194Data Flow section, SADs, 187, 189
data integrity management, 150 See also transaction
management (Slide)data persistence design, UML alternatives, 193–194data requirements, deployment planning, 178Data Store layer, Slide architecture, 120Data Views section, SADs, 187, 189database platforms, OJB support, 111–112database repositories (James), overview, 64configuration
Trang 4databasescaching, 88deleting objects (ODMG API), 109–110MySQL (Directory example portlet), 266opening (ODMG API), 107
PersistenceBrokerAPI, iterating through, 100–101retrieving objects (ODMG API), 107–108
security realms, 155storing objects (ODMG API), 108updating objects (ODMG API), 109DataHandlerobject, JavaMail, 77DataSource security realms, information Web site, 163date validation, JavaScript, 226
DAV Explorer, WebDav client tool, 118dbaliaselement, jdbc-connection-descriptortag, 99
dbdirectorydatabase, Directory example portal, 266DBFile repositories (James), overview, 64
debugattribute, security realms, 157declarations
JavaScript, 222–223portlet deployment descriptors, 29–30stop words (search engines), 52–53declarationssection, Llama example portlet/
Web service, 293–294declared names, calling servlets, 19decodeAttributemethod, PortletSessionUtilinterface, 19
deep authentication, portal security, 148default actions, Slide security helper, 127default-connectionelement, jdbc-connection-descriptortag, 99defaultPersistenceBrokermethod, issuingqueries, 103
defineObjectstag (Portlet Tag Library), 28DeleteMacroExceptionclass, Slide macrohelper, 131
deleting database objects, ODMG API, 109–110deployment
bug tracking and, 181data requirements, 178Directory example portlet, 276–277Hot Deployment (eXo portal platform), 259interface requirements, 177
Java Web Start method, 358–363OJB applications, 113–114operational requirements, 177–178planning overview, 175–177portlet applications, 6quality assurance requirements, 179–181
security requirements, 178–179testing, 180–181
deployment descriptorsportlet applications, location, 22portlet applications, overview, 28portlet customization declarations, 31portlet declarations, 29–30
portlet security constraints, 31portlet user attributes, 31user profile attributes (portals), 27Deployment Flow section, SADs, 187, 189deregistermethod, WSRP, 304deregistration service, WSRP, 304descriptors, portlet security and, 170–171descriptors store, Slide, 132
design decisionsfield list layout, multiple value picklists, 231–234field list layout, variable number of, 234–240model 1 architecture, 196–197
model 2 architecture, 197model 2X architecture, 197–199navigation overview, 210–212overview, 195–197
design methodologies, overview, 182design patterns, overview, 201destroymethod
GenericPortletclass, 256portlets, 8
destroyInstanceoperation (WSRP), 209destroyPortletsmethod, WSRP, 305development
continuous integration, 312CVS (Concurrent Versioning System), 312–315JUnit testing, overview, 316–323
Subversion (revision control system), 315–316DFD (Data Flow Diagram), 193–194
digestattribute, security realms, 157DIGEST authentication, 165
digital certificates, signing authorities, 164digital signatures, nonrepudiation, 150Directory example portlet
component files, 265–266deploying, 276–277DirectoryEdit.jsp,274DirectoryPortletclass, 267–271DirectoryValidatorclass, 271–272DirectoryView.jsp,272–274MySQL database, 266
overview, 262–265portlet.xmlfile, 275–276
Directory example portlet
Trang 5Directory example portlet (continued)
posting user form information, 272–274
web.xmlfile, 275
Directoryobject, implementing, 54
Directory portlet example, overview, 262–265
directory structure, eXo portal platform, 260–262
DirectoryEdit.jsp,Directory example portlet,
divtag, layering in IE, 244
DNS (Domain Name Server), configuration (James), 66
dnsservertag, James, 66
document analysis, search engines, 43–44
Documentobject
creating, 53–54
Lucene, 48
source code example, 49–50
Document Object Model (DOM), client-side
scripting, 206
documentation, Tomcat server, 138
documents, indexing example (search engines), 46–48
JavaScript functions, calling, 225
Domainclass, methods, 134
domain models, class development and, 184–186
Domain Name Server See DNS
Domainobject, Slide, 133
Domain.accessDomainmethod, Slide, 134
Domain.accessNamespacemethod, Slide, 134
Domain.initmethod, Slide, 132
domains, Slide, 132–134
Domain.xmlfile, location, 139dom4j, portal navigation and, 212doViewmethod
DirectoryPortletclass, 267GenericPortletclass, 256portlet creation, 11–13downloading, James, 64–65driverelement, jdbc-connection-descriptortag, 99
driverNameattribute, security realms, 157durability, Slide transaction management, 123dynamic HTML pages, JavaScript, 240–244
EEDITmode, portlets, 15EDITmode (portlets), rendering handling, 12editor view, Slide, 139
element-class-refelement, Messageclass (OJB), 96
elementsauto-delete(OJB Message class), 97auto-retrieve(OJB Message class), 97auto-update(OJB Message class), 97batch-mode(OJB jdbc-connection-descriptortag), 99
class(OJB Message class), 96column(OJB Message class), 96dbalias(OJB jdbc-connection-descriptortag), 99
default-connection(OJB descriptortag), 99
jdbc-connection-driver(OJB jdbc-connection-descriptortag), 99
element-class-ref(OJB Message class), 96
ID(OJB Message class), 96ignoreAutoCommit Exceptions(OJB jdbc-connection-descriptortag), 99jcd-alias(OJB jdbc-connection-descriptortag), 99
jdbc-level(OJB jdbc-connection-descriptortag), 99
jdbc-type(OJB Message class), 96name(OJB Message class), 96orderby(OJB Message class), 96password(OJB jdbc-connection-descriptortag), 99
platform(OJB jdbc-connection-descriptortag), 99
protocol(OJB jdbc-connection-descriptortag), 99
Directory example portlet (continued)
Trang 6sort(OJB Message class), 97subprotocol(OJB jdbc-connection-descriptortag), 99
table(OJB Message class), 96useAutoCommit(OJB jdbc-connection-descriptortag), 99
username(OJB jdbc-connection-descriptortag), 99
encode methods, return values, 21encryption, portal security, 149Enginetag, Tomcat configuration, 156enterprise portals, design decisions, 197enumerateNamespacemethod, Domain class, 134envelopes (SOAP), 286
environment (runtime), portlets, 5errors
default ports (James), 65sending mail, catching (JavaMail), 79escaping characters, Lucene query syntax, 56ExamplePortletclass, source code, 11–13exceptions, portlet container initialization, 8eXo portal platform
customization tool, 259–260Directory example portlet, deploying, 276–277directory structure, 260–262
eXo portal, 259Hot Deployment, 259installation, 260overview, 259exo-expressdirectory, 261exo-jbossdirectory, 261exo-libdirectory, 262expiration-cache element, portlets, 9expiration-cachetag, portlet deployment descriptors, 29–30
extendingJSPPortlet(Sun sample portlet), 295–296PreferencesValidatorclass (portlets), 36rendermethod, 11–13
extensibility, portlet applications compared to Webapplications, 6
external architecture, Slide, 118–120Extreme Programming (XP), deployment planning, 175
FFacade Pattern, defined, 205Factory Method Pattern, 206fetchtag, James, 67FetchedFrommatcher, described, 61
fetchPOPservice, configuration (James), 67fetchpoptag, James, 67
field auto-population, JavaScript, 228–229field auto-validation, JavaScript, 229–231field elements, layout
multiple value picklists, 231–234variable number of, 234–240field references, JavaScript functions, 225field validation, client-side (JavaScript), 223–227field values, returning, JavaScript, 227
field-descriptortag, Message class (OJB), 96fields
Documentobject (search engines), 53Lucene query syntax, 54
referencing, JavaScript, 232referencing, JavaScript functions, 225file repositories (James), overview, 64files, Directory example portlet, 265–266flexibility features, OJB (Object Relational Bridge),88–89
Folderclass, JavaMail, 73–74font style classes, WSRP, 306font-sizestyle class (WSRP), 306footers (tables), attribute setting for portals, 23ForbiddenExceptionclass, Slide macro helper, 131FORM authentication, 165
form field, separation attribute for portals, 23form label, attribute for portals, 23
form style classes, WSRP (Web Services for RemotePortals), 308–309
form submission, JavaScript, 231forms
layering on page (JavaScript), 244–249movable layers (JavaScript), 250–253posting user form information (Directory example port-let), 272–274
processing, Directory example portlet, 263Forwardmailet, 62
forwardmethod, RequestDispatcher, dations, 21
recommen-fragments (portals)defined, 5portlet container management of, 6frametag, WSRP and, 305framesettag, WSRP and, 305Front Controller Pattern, defined, 206functional features, OJB (Object Relational Bridge), 89functions, creating (JavaScript), 224
fuzzy logic (Lucene query syntax), 55fuzzy logic (Lucene query syntax)
Trang 7generateParamsmethod, portlet navigation, 214
GenericMailetclass, mailet creation, 60–61
GenericMatcherclass, matcher creation, 61
Messageclass (OJB), 94
Viewerclass (OJB), 97
getAttributemethod, portlet namespace
applica-tion, 19
getAuthTypemethod, PortletRequest
interface, 169
getContentJSPmethod, 292
getContentLengthmethod, null values, 20
getDefaultNamespacemethod, Domain class, 134
getDomainFileNamemethod, Domain class, 134
getTopicsmethod, portlet navigation, 214getUserDNmethod, passwords, 159getUserPrincipalmethod, PortletRequest inter-face, 169
getUserPrinciplemethod, ServletRequestobject, 167
getValuemethod, PortletPreferencesinterface, 17
getValuesmethodPortletPreferenceclass, 258PortletPreferencesinterface, 17grouping search conditions (Lucene), 56
Hhandlertag, James, 66hardware specifications, 218HasAttachmentmatcher, 61HasHabeasWarrantMarkmatcher, 61HasHeadermatcher, 61
headtag, WSRP and, 305headers (HTTP), portlets and, 6headers (SOAP messages), 286help, Directory example portlet, 264HELPmode, portlets, 15
HELPmode (portlets), rendering handling, 13Helper layer, Slide architecture, 120helpers (Slide)
content, 130–131defined, 117index/search, 132lock, 128–130macro, 131–132namespace management, 124process, 132
security, 125–128structure, 124–125help.jsp, source code, 33Hitobject, processing (search engines), 50Home.jsp
message board Web example application, 93overview, 100
source code, 100–102Hosttag, Tomcat configuration, 156hosttag, James, 67
Hostlsmatcher, 61HostlsLocalmatcher, described, 61Hot Deployment, eXo portal platform, 259generateParams method, portlet navigation
Trang 8HTML pages, dynamic, JavaScript and, 240–244htmltag, WSRP and, 305
HTML tags, disallowed (WSRP), 305HTTP client, Slide, 118
HTTP headers, portlets and, 6HTTPS (secure HTTP protocol)portal security standards, 151setSecuremethod (PortletURL interface), 15HTTPServletRequestobject, methods, restrictions
on, 20–21
Iicon text, attribute for portals, 23
IDelement, Message class (OJB), 96idle-timeouttag, James, 69
IE (Internet Explorer)divtag, 244JavaScript and, 225spantag, 244ignoreAutoCommit Exceptionselement,jdbc-connection-descriptortag, 100implementation, PortletConfig interface, 8importing, packages, 267
inboxRepositorytag, James, 69includemethod, calling JSPs, 19Index helper, Slide, 120
indexes (search engines), 44indexing (search engines)example, 46–48source code example, 48–49index/search helper, Slide, 132IndexSearcherclass, source code example, 50–51IndexSearcher, search engines, 43–44
IndexWriterclass, creating, 49IndexWriter, search engines, 43–44informationtag, Java Web Start, 353initmethod
DirectoryPortletclass, 267exceptions (portlets), 8
GenericPortletclass, 256portlets, 8
initializationdomains (Slide), 132portlet container exceptions, 8PortletConfigobject, 14requirements (portlets), 8init-paramtag, Loan Calculator example portlet,279–283
input field text, attribute for portals, 23inputtag, JavaScript functions, calling, 224InSpammerBlacklistmatcher, 61installing
eXo portal platform, 260James, 65
Java Web Start, 351JavaMail, prerequisites, 70OJB, verifying, 111Slide, 135integrationLlama example, generated objects version, 298–302Llama example, overview, 292
portlets with traditional Web services, 287–292portlets with Web services, conceptual overview,285–287
interactive services, (WSRP), 304–305Intercepting Filter Pattern, 206interface
ava.io.Serializable, OJB classes and, 93Mailet, introduced, 60
org.apache.catalina.Realm,securityrealms, 155
org.odmg.Implementation, OJB applications, 107Portlet, overview, 8
PortletConfig, implementing, 8PortletPreferences, methods, 17PortletRequest,methods, 169PortletSession, description, 18PortletURL, portlets, 14–15RequestResponse, URL objects, 14role, Slide security helper, 125interface requirements, deployment planning, 177interfaces, WSRP, overview, 302–304
internal architecture, Slide, 120–121internationalization support, portlets, 29Internet Explorer (IE)
divtag, 244JavaScript and, 225spantag, 244InternetAddressclass, JavaMail, 72intervaltag, James, 67
Introduction section, SADs, 186–189invalidatemethod, HttpSession object, 168inverted index, search engines, 47
invoking Web services, portlet proxies, 303
IOtag library, 296isolation, Slide transaction management, 123isolation, Slide transaction management
Trang 9isReadOnlymethod, PortletPreferences
JAF (Javabeans Activation Framework), obtaining, 70
Jakarta Slide See Slide
mailets, bundled with, 62–63
matchers, bundled with, 61–62
Java Swing, 367–372Java Web Startapplication creation and deployment, 358–363application packaging, 354
client invocation, 354–356code signing, 356–357configuration, Web server, 351–352installing, 351
JNLP file, creating, 352–354overview, 347–348portal implementation, overview, 363–364portal implementation, Java portal, 367–372portal implementation, Web-based portal, 364–367principles of operation, 349–351
Slide content management, 119Javabeans Activation Framework (JAF), obtaining, 70java.io.Serializableinterface, OJB classesand, 93
JavaMail See also James
attachments, creating, 77installing, prerequisites, 70messages, receiving, 79–85messages, sending, 74–79JavaMail API
core classes, 71–74overview, 70–71JavaScriptarrays, creating, 232browser, determining identity of, 225–226client-side field validation, 223–227conditional statements, 237dynamic HTML pages, 240–244field auto-population, 228–229field auto-validation, 229–231field values, returning, 227form submission, 231functions, calling, 224–225functions, creating, 224functions, referencing fields, 225HTML pages, including in, 222–223layering elements on page, 244–249movable layers, 250–253
multiple value picklist layout, 231–234overview, 221–222
portal planning considerations, 207variable number of fields, layout techniques, 234–240JbossMX, Hot Deployment (eXo portal platform), 259isReadOnly method, PortletPreferences interface
Trang 10jcd-aliaselement, descriptortag, 99
jdbc-connection-JDBCconnection mapping (OJB), 99–100data types, OJB support, 112drivers, OJB deployment, 114security realms, information Web site, 163JDBCAliasmailet, 62
jdbc-connection-descriptortag, OJB, 99–100jdbc-levelelement, jdbc-connection-descriptortag, 99
jdbc-typeelement, Message class (OJB), 96JDBCVirtualUserTablemailet, 62
JDO API (OJB)defined, 88implementation issues, 110JetSpeed, portal navigation and, 211JMeter, 327–329
JMX (Java Management eXtensions), 335–344JNDI lookup (OJB), 89
JNLP file, creating (Java Web Start), 352–354jnlptag, attributes, 353
jsfile.js,including, 223JSP tag library, overview, 258JSPPortlet(Sun sample portlet), extending,295–296
JSPPortlet (Sun sample portlet), source code (partiallisting), 288–289
JSPs (Java Server Pages)access control, 167–168calling, portlets and, 19–21parameters, passing to, 296–297JSPWiki (collaboration software), 344–346JSR 168 Portlet Specification, server-side processing,207–208
JSSE (Java Secure Socket Extension), SSL tion, 163
configura-JUnit, overview, 316–323JVM (Java Virtual Machine), domains, 132
Kkeystore, self-signed certificate generation and storage, 163–164
keystoreFileattribute, 164keystorePassattribute, 164keytool utility, self-signed certificates, 163–164keyword searching (search engines), 200
Llabels (forms), attribute for portals, 23layertag, Netscape, 244
layersforms (JavaScript), 244–249movable (JavaScript), 250–253Slide architecture, external, 118Slide architecture, internal, 120layers (OJB), overview, 89–90layout design considerations, field elementsmultiple value picklists, 231–234
variable number of, 234–240libdirectory, eXo portal platform, 261–262libraries
IOtag library, 296JSP tag library, 258PORTLETtag library, 28, 296XTAGStag library, 296life cycle, portlets, 8load testing, overview, 326–327Loan Calculatorexample portlet, 279–283controllers.xmlfile, 279
init-paramtag, 279LocalDeliverymailet, 62Localeobject, portlets, 29localization (portlet applications), ResourceBundleobject, 14
Lockclass, Slide lock helper, 129lock helper (Slide), 120, 128–130Lock Manager (OJB), 89
LockExceptionclass, Slide lock helper, 129LockImplclass, Slide lock helper, 129locking, Slide transaction management, 123LockTokenNotFoundExceptionclass, Slide lockhelper, 129
logmethod, Domain class, 134Logical View section, SADs, 187, 189login-configtag, BASIC authentication, 165–166logon screen, JavaMail, 79
logout, source code, 168look-ups (database), caching, advantages for, 88Lucene
Advanced Search Page example, 56Analyzerclass, 51–53
overview, 41query syntax, 54–56required functionality, 48
Lucene
Trang 11Macroclass, Slide macro helper, 131
Macro helper, Slide, 120, 131–132
MacroExceptionclass, Slide macro helper, 131
MacroImplclass, Slide macro helper, 131
MacroParametersclass, Slide macro helper, 131
mail See JavaMail
mail protocols, James and, 60
mail repository (James), defined, 63
mail server See James
Mail User Agent (MUA) programs, 70
mailerpackagestag, James, 68
Mailetinterface introduced, 60
mailettag, James, 68
mailetpackagetag, James, 68
permissions to roles (portal access control), 146
relational, OJB capabilities, 89
repository entries (OJB), 95
services to nodes (Slide), 132
users to roles, security realms and, 155
XML, OJB capabilities, 89
markup guidelines, WSRP (Web Services for Remote
Portals), 305–310
markup languages, tags, illegal (portal fragments), 5
matchattribute, mailet tag (James), 68
matchmethod, overriding, 61
matcherpackagetag, James, 68
matcherpackagestag, James, 68
matchers
creating, 61
defined, 61
James, bundled with, 61–62
max-connectionstag, James, 69
MAXIMIZED window state, portlets, 16
maxMergeDocsmember variable (IndexWriter), 57
MD5 digest algorithm, passwords, 158
member variables
maxMergeDocs(IndexWriter), 57
mergeFactor(IndexWriter), 57
Memento Pattern, 205memory, database caching advantages, 88Memory Realm, Tomcat server, 155menu items, style attribute for portals, 23menu, style attribute for portals, 23mergeFactormember variable (IndexWriter), 57message board Web application
component relationships, 92deleting messages, 103Home.jsp,overview, 100Home.jsp,source code, 100–102issuing queries, 103
ODMG implementation, 107–110PersistenceBroker API example (OJB), 91–93Messageclass
JavaMail, 71–72message board Web example application, 93OJB, 91
overview, 93source code, 94–97message origin authentication, portal security, 146message style classes, WSRP (Web Services forRemote Portals), 306
message text, attributes, setting for portals, 22messages
receiving (JavaMail), 79–85retrieving (OJB message board example application), 101
sending (JavaMail), 74–79messaging (Web services), SOAP, 285META tags, search engine algorithms, 45metadata element, portlets, 29
metadata files, OJB deployment, 113–114methodologies (software design), overview, 182
methods See also objects
addElement(portal navigation), 213addMessage(OJB message board example application), 104
boolean isUserInRole(ServletRequestobject), 167
clonePortlet(WSRP), 305defaultPersistenceBroker,103deregister(WSRP), 304
destroy(GenericPortlet class), 256destroy(portlets), 8
destroyPortlets(WSRP), 305DirectoryPortletclass, 267DirectoryValidatorclass, 271Documentobject, 53
doEdit(GenericPortlet class), 256Macro class, Slide macro helper
Trang 12doHelp(GenericPortlet class), 256doHelpJSP,292
Domainclass, 134Domain.accessDomain(Slide), 134Domain.accessNamespace(Slide), 134Domain.init(Slide), 132
doView(GenericPortlet class), 256encode return values, 21
forward (RequestDispatcher), 21generateParams(portlet navigation), 214Get(OJB Message class), 94
Get(OJB Viewer class), 97getAttribute(portlet namespace application), 19getContentJSP,292
getEditJSP,292getHexValue(passwords), 159getJSPPath,291
getLlamas,293–294getLocalizedJSP,291getMarkup(WSRP), 304getMessage(OJB message board example application), 101
getNamedDispatcher(calling servlets), 20getOutputStream(portlet request handling), 11getPassword,159
getPasswordAuthentication(JavaMail), 72–73getPortletDescription(WSRP), 305
getPortletProperties(WSRP), 305getPortletPropertyDescription(WSRP), 305getServiceDescription(WSRP), 304
getTitle(portlets), 13getTopics(portlet navigation), 214getUserDN(passwords), 159getValues(PortletPreference class), 258HTTPServletRequestobject restrictions, 20–21init(GenericPortlet class), 256
init(portlets), 8invalidate(HttpSession object), 168java.security.Principle getUserPrinciple(ServletRequest object), 167
makeStopTable(search engines), 53match,overriding, 61
performBlockingInteraction(WSRP), 304portlet creation, 11–13
PortletPreferencesinterface, 17PortletRequestinterface, 169PortletURLinterface, 15processAction(GenericPortlet class), 256processAction(PortletPreference class), 258processAction(portlets), 9
processAction(portlets), ipping, 14QueryByCriteria(querying databases), 107–108register(WSRP), 304
registrationHandle(WSRP), 304releaseSessions(WSRP), 304render(GenericPortlet class), 256render(portlets), 9
RenderResponse(portlet request handling), 11search engine functionality, 48
send (JavaMail), 73sendRedirect(ServletResponse object), 168service(mailets), 60
Set(OJB Message class), 94Set(OJB Viewer class), 97setAttribute(portlet namespace application), 19setPortletProperties(WSRP), 305
setValues(PortletPreference class), 258store(OBJ message board example application),101–102
store(PortletPreference class), 258String getRemoteUser(ServletRequestobject), 167
mime types, portlet descriptors, 29MimeMessageclass, JavaMail, 71MIME-type, setting (JavaMail), 71MINIMIZED window state, portlets, 16model 1 architecture, 196–197model 2 architecture, 197model 2X architecture, 197–199models (use cases), software development, 182Model-View-Controller (MVC), 197
modesDirectory example portlet, 262stateless (WSRP), 304modes (OJB), 89modes (portlets)overview, 15setting, 15movable layers, JavaScript, 250–253MUA (Mail User Agent) programs, 70multipart mail messages, creating, 77Multipartobject, JavaMail, 77multiple value picklist fields, layout with JavaScript,231–234
multithreading, James, 60mutual authentication, portal security, 146MVC (Model-View-Controller), 197defined, 205
eXo portal, 259Loan Calculator example portlet, 279–283portlet creation, overview, 277–278MVC (Model-View-Controller)
Trang 13administrator user name (James), 70
declared, calling servlets, 19–20
namespacetag (Portlet Tag Library), 28
NamespaceAccessTokenobject, Slide, 134
naming conventions, portlet scope attributes, 18–19
news repository (James), 63
newsgroupstag, James, 67
NNTP server, configuration (James), 67
nntp-repositorytag, James, 67
nntpservertag, James, 67
NodeLockclass, Slide lock helper, 129
NodeNotVersionedExceptionclass, Slide content
helper, 131
NodePermissionclass, Slide security helper,
125, 128
NodePropertyclass, Slide content helper, 130
NodeRevisionContentclass, Slide content
null valuesencode methods and, 21HTTPServletRequestobject methods and, 20
OOASIS Web Services for Remote Portlets, CSS and, 22OASIS Web Services Security specification, portal secu-rity, 150
Object Relational Bridge See OJB
object state, tracking requirements (OJB)
Object Transaction Manager See OTM
ObjectIsAlreadyLockedExceptionclass, Slidelock helper, 129
ObjectLockedExceptionclass, Slide lock helper,
128, 129ObjectNodesobjects, Slide security helper, 127
objects See also methods
ActionRequest(portlet request handling), 10–11ActionURL,14
caching (OJB), 89DataHandler(JavaMail), 77deleting (ODMG API), 109–110Directory(search engines), 54Document(Lucene), 48Document(Lucene), creating, 53–54Domain(Slide), 133
Hit(search engines), 50HTTPServletRequest,20Locale(portlet internationalization), 29locking (Slide), 128–130
Multipart(JavaMail), 77NamespaceAccessToken(Slide), 134PortalContext,16
PortletConfig,14PortletContext,16PortletPreference(user state maintenance), 258Preferences(portlets), 8–9
Propertiesobject (JavaMail Session class), 71QueryParser(search engines), 50
RenderRequest(portlet request handling), 11RenderURL,14
MVCPortlet portlet
Trang 14ResourceBundle(portlets), 8, 14retrieving (ODMG API), 107–108ServletRequestmethods, 167StopFilter(search engines), 53storing (ODMG API), 108
objectstorage,configuration (James), 69ODMG API (OJB)
defined, 88opening databases, 107overview, 107
retrieving database objects, 107–108OJB (Object Relational Bridge)advantages, 88
class creation guidelines, 93database platform support, 111–112deployment
CLASSPATH settings, 114JAR files, 113
JDBC drivers, 114metadata files, 114functional features, 89installation, verifying, 111java.io.Serializableinterface and class cre-ation, 93
JDBC connection mapping, 99–100JDBC data type support, 112layers, overview, 89–90modes, 89
overview, 87performance considerations, 114scalability features, 89
onClickevent handler, JavaScript functions,calling, 224
OOP (object-oriented programming), advantages, 87OpenCMS (content management), 200–201open-source configuration management tools, 179–181operational requirements, deployment planning,177–178
optimization, Lucene performance, 57optiontag, field elements, 231OQL (Object Query Language), retrieving databaseobjects, 107–108
O/R (object-to-relational) mappingoverview, 87
tools, 88transparent persistence, 87–88
OR operator, Lucene query syntax, 55orderbyelement, Message class (OJB), 96org.apache.catalina.Realminterface, securityrealms, 155
org.apache.slide.common.Domainpackage, SlideDomainclass, 134
org.apache.slide.contentpackage, Slide contenthelper, 130–131
org.apache.slide.lockpackage, Slide lock helper, 129
org.apache.slide.macropackage, Slide macrohelper, 131
org.apache.slide.securitypackage, Slide security helper, 125
org.odmg.Implementationinterface, OJB tions, 107
applica-OTM (Object Transactional Manager) layer (OJB),defined, 88
OTM (Object Transaction Manager), state and, 90overriding, getTitle method (portlets), 13
Ppackages, importing, 267page linkages, search engine algorithms, 45page ranking, search engine algorithms, 45page-centric design decisions, 196–197paramtag (Portlet Tag Library), 28parameters
passing to JSPs, 296–297portlet initialization management, 8servlets, precedence when calling, 20parsing Soap messages, Axis-wsdl2java(Ant task), 299
parts of speech, search engine algorithms, 45passing parameters to JSPs, 296–297passwordelement, jdbc-connection-descriptortag, 99
passwordtag, James, 67passwords
authentication (JavaMail), 72–73DIGEST authentication, 167getHexValuemethod, 159getPasswordmethod, 159getUserDNmethod, 159MD5 digest algorithm, 158Tomcat Manager, 138user accounts, default (James), 70patterns (design), overview, 201
PBAPI See PersistenceBroker API (OJB)
performActionoperation (WSRP), 209performance
Lucene, optimizing, 57OJB applications, 114
performance
Trang 15quality assurance requirements, 179–181
search engine considerations, 200
Plug-ins (Java), portlet planning considerations, 208
POP3 server, configuration (James), 66
pop3servertag, James, 66
pop-up picklist window, source code, 232
porttag, James, 66
port type declarationssection, Llama example
Portal stack, defined, 3–4
Portal User actor, 182
portal-centric enterprise diagram, 153–154
PortalContextobject, functionality of, 16
portals
administration, JMX (Java Management eXtensions),
335–344
architecture design decisions, model 1, 196–197
architecture design decisions, overview, 195–196
interface requirements, 177portlet container, relationship to, 5program configuration management, 311search engines and, 200
securityconfidentiality considerations, 149data integrity, 150
deep authentication, 148non-repudiation, 150security concepts overview, 145Slide transaction management and, 122SSO (single sign-on) authorization, 147–148storyboarding planning technique, 190–191Portlet API
CSS definitions, 22–23Portal stack, 3–4portlet applicationscompared to Web applications, 283deployment descriptors, overview, 28deployment, WAR files and, 6localization and ResourceBundle object, 14structure, 21–22
portlet containerdefined, 5destroymethod, 8fragment management, 6function of, 3
initialization exceptions, 8methods, 256
portlet life cycle management, 8security overview, 168
servlet containers, relationship to, 5window components, 257
portlet declarations, 29–30portlet descriptors, security, configuration, 170–171Portlet Integration Plans, 218–219
Portletinterface, overview, 8portlet management services, WSRP, 304–305portlet modes, portlet declarations, 29portlet overview plans, 219
portlet, preferences, maintaining user state, 258portlet proxies, invoking Web services, 303portlet servers, function of, 3
PORTLETtag library, 28, 296portlet windows, 8
PortletConfiginterface, implementing, 8PortletConfigobject, portlets, 14performBlockingInteraction method, WSRP
Trang 16PortletContextobject, functionality of, 16portlet-deploydirectory, eXo portal platform, 262portlet-dlg-icon-labelstyle class (WSRP), 308portlet-fontstyle class (WSRP), 306
portlet-font-dimstyle class (WSRP), 306portlet-form-buttonstyle class (WSRP), 308portlet-form-fieldstyle class (WSRP), 308portlet-form-field-labelstyle class(WSRP), 308
portlet-form-input-fieldstyle class(WSRP), 308
portlet-form-labelstyle class (WSRP), 308portlet-icon-labelstyle class (WSRP), 308portlet-info tag, metadata element, 29
portlet-msg-alertstyle class (WSRP), 306portlet-msg-errorstyle class (WSRP), 306portlet-msg-infostyle class (WSRP), 306portlet-msg-statusstyle class (WSRP), 306portlet-msg-successstyle class (WSRP), 306PortletPreferenceobject, user state
maintenance, 258PortletPreferencesinterface, methods, 17PortletRequestinterface, methods, 169PortletRequestobject, user attributes,accessing, 28
PortletRequestDispatcherobjectdispatching to content page, 291GenericPortletclass method implementationmethod availability, 20
portletsarchitecture, overview, 255cached content and render method, 9capabilities compared to servlets, 6compared to servlets, 5–6, 207creating (MVC method), overview, 277–278creation (interfaces and classes for), 8creation example, 32–38
CSS style attributes, 22–23defined, 5
Directory example portlet, overview, 262–265fragment management, 6
GenericPortletclass, 11–13HTTP headers and, 6
initmethod, 8integration with traditional Web services, 287–292integration with Web services, conceptual overview,285–287
internationalization support, 29life cycle, 8
Llama example, generated objects version, 298–302
Llama example, overview, 292loading, 8
metadata element, 29modes, overview, 15modes, setting, 15PortletConfigobject, 14PortletURLinterface, 14–15Preferencesobject, 8–9preferences, overview, 16–18programmatic security, 169–170remote, defined, 302
request handling objects, 10–11request handling overview, 9–10request handling thread safety issues, 11runtime state, 8–9
samples from Sun Microsystems, 288sessions, overview, 18–19
UnavailableException,8user profile attributes, 24–28VIEWmode, 257
warfiles, 258window states, 16WSRP interfaces, overview, 302–304PORTLET_SCOPE, PortletSession interface, 18–19portlet-section-alternatestyle class
(WSRP), 307portlet-section-bodystyle class (WSRP), 307portlet-section-footerstyle class (WSRP), 307portlet-section-headerstyle class (WSRP), 307portlet-section-selectedstyle class
(WSRP), 307portlet-section-subheaderstyle class(WSRP), 307
portlet-section-textstyle class (WSRP), 307PortletSecurityException,170
PortletSessioninterface, description, 18portlet-table-alternatestyle class (WSRP), 307portlet-table-bodystyle class (WSRP), 307portlet-table-footerstyle class (WSRP), 307portlet-table-headerstyle class (WSRP), 307portlet-table-selectedstyle class (WSRP), 307portlet-table-subheaderstyle class (WSRP), 307portlet-table-textstyle class (WSRP), 307PortletURLinterface, portlets, 14–15
portlet.xml, example source code, 38portlet.xmlfile
Directory example portlet, 275–276portlet preferences, 258
posting user form information, Directory example let, 272–274
port-posting user form information, Directory example portlet
Trang 17postmastertag, James, 69
PostmasterAliasmailet, 62
precedence, query strings, calling servlets and, 20
precision, search engines, 42
Preferencesobject, portlets, 8–9
processActionmethod (portlets), skipping, 14
processes diagram, XP (Extreme Programming) portal
Propertiesobject, Session class (JavaMail), 71
proprietary systems, advantages and disadvantages
mail, James and, 60
proxies, portlet, invoking Web services, 303
proximity of terms (Lucene query syntax), 55
PSML (Portal Structure Markup Language), JetSpeed
retrieving database objects (ODMG API), 107–108
query strings, precedence when calling servlets, 20QueryByCriteriamethods, querying databases,107–108
QueryParserobject, creating, 50
RRBAC (Role-Based Access Control)information Web site, 147portal authorization, 146readOnlytag, James, 67Realmtag, Tomcat configuration, 155recipient addresses, setting (JavaMail), 71–72recipientmatcher, 61
Recipientsmatcher, 61Redirectmailet, 62referencing
fields from Javascript, 232fields from Javascript functions, 225namespaces, Slide, 124
PortletContextinterface, 8ResourceBundleobject, 14registermethod, WSRP, 304registration service, WSRP, 304registrationHandleobject, WSRP, 304relational mapping (OJB), capabilities, 89RelayLimitmatcher, 62
releaseSessionsmethod, WSRP, 305relevancy ratings, search engines, 200remote management, Slide, 118remote portlets, defined, 302RemoteAddrInNetworkmatcher, 62RemoteAddrNotInNetworkmatcher, 62RemoteDeliverymailet, 62
RemoteManagerconfiguration (James), 68user accounts, creating (James), 70RemoteManager(James), overview, 64remotemanagertag, James, 68rendermethod
extending, 11–13GenericPortletclass, 256portlets, 9
renderrequests (portlets), portlet modes and, 15render URLs (portlets), 9
rendering (portlets), doEdit method, 12RenderRequestobject, portlet request handling, 11RenderResponsemethod, portlet request
handling, 11postmaster tag, James
Trang 18RenderURLobject, portlets, 14renderURLtag (Portlet Tag Library), 28replication, Slide transaction management, 123repositories (James)
configuration, 68database, 64DBFile, 64file-based, 64overview, 63repositories (Slide), 132repository mapping entries, OJB, 95repository_database.xmlfile, message board Webexample application, 93
repository_internal.xmlfile, message board Webexample application, 93
repository_user.xmlfile, message board Webexample application, 93
repository.xmlfilemessage board Web example application, 93OBJ, 91
request handling (portlets)ActionRequestobject, 10–11overview, 9–10
RenderRequestobject, 11restrictions, 9–10
thread safety issues, 11RequestResponseinterface (portlets), URLobjects, 14
Requirements Matrix section, SADs, 187, 189resetmethod, PortletPreferences interface, 17ResourceBundleobject, portlets, 14
ResourceBundleobject (portlets), management, 8resources
abstraction, James and, 60cleaning up (portlets), 8portal authorization and access control, 146–147resourcestag, Java Web Start, 353
returning field values, JavaScript, 227revision control systems, 312–316RevisionAlreadyExistsExceptionclass, Slidecontent helper, 131
RevisionContentNotFoundExceptionclass, Slidecontent helper, 131
RevisionDescriptorNotFoundExceptionclass,Slide content helper, 131
RevisionNotFoundExceptionclass, Slide contenthelper, 131
rich clients, overview, 348–349roleinterface, Slide security helper, 125
Role-Based Access Control See RBAC
role-name element, portlets, 30roleNamesColattribute, security realms, 157roles
mapping users to, security realms and, 155role-definition considerations (portal access control),146–147
Slide security helper, 125rootPathtag, James, 67runtime environment, portlets, 5runtime state
portlet request handling, 9portlets, 8–9
SSAD (Software Architecture Document), software plan-ning, 186–189
SAML (Security Assertion Markup Language), portalsecurity, 151–153
scalability features, OJB (Object Relational Bridge), 89Scarab, bug tracking, 330–335
schemas, Llama example portlet/Web service,292–293
scope, PortletSession interface, 18–19scored terms, search engines, 44
scripttag, declaring JavaScript, 222
search engines See also Lucene
algorithm techniques, 44–45Analyzerclass, 51–53conceptual overview, 41–43document analysis functionality, 43–44Documentobjects, creating, 53–54indexing example, 46–48
portal planning, 200stop words, declaring, 52–53searchEdit.jsp, source code, 33searching
Directory example portlet, 263DirectoryView.jsp,272–274section headers, setting for portals, 22section style classes, WSRP (Web Services for RemotePortals), 306
Secure Sockets Layer See SSL
securityapplication authentication and authorization configura-tion, 165–167
architecture diagram, 171
security
Trang 19security (continued)
back-end communication considerations, 171
certificate signing authorities, 164
code signing (Java Web Start), 356–357
configuration (portlet.xml file), 258
constraints (portlet deployment descriptors), 31
default user account user names (James), 70
dependencies, 153–154
deployment planning, 178–179
encryption, 149
Java Web Start and, 119
JSP and servlet access control, 167–168
password authentication (JavaMail), 72–73
portlets, programmatic security, 169–170
self-signed certificates, keytool utility and, 163–164
services overview, 153–154
setSecuremethod (PortletURL interface), 15
Slide services and, 117–118
Slide transaction management, 123
Web container overview, 154–155
Securityclass, Slide security helper, 128
Security helper, Slide, 120, 125–128
security policies, namespaces and, 124
security realms, Tomcat server configuration, 155–163
securitytag, Java Web Start, 353
SecurityExceptionclass, Slide security helper, 128
SecurityImplclass, Slide security helper, 125, 128
security-role-reftag, portlet descriptors, 170
select lists, defined, 231
selecttag, field elements, 231
self-signed certificates, keytool utility, 163–164
semantic nets, search engine algorithms, 45
send method, JavaMail, 73
SenderInFakeDomainmatcher, 62
Senderlsmatcher, 62
sendRedirectmethod, ServletResponse
object, 168
Sequence Manager (OJB), 89
serializing classes, OJB and, 93
serverdirectory, eXo portal platform, 261
server layer, Slide, 118server (Slide), overview, 138–139servertag, James, 66
servernametag, James, 69servers (portlet), function of, 3servers, Tomcat configuration overview, 155server-side processing, 207–208
serverSocketFactorytag, James, 66ServerTimemailet, 62
server.xmlfile, Tomcat configuration, 155servicemethod (mailets), overriding, 60services
security, overview, 153–154WSRP, 304–305
services (Slide)architecture, 117–118mapping to nodes, 132services-deploydirectory, eXo portal platform, 262servlet containers, portlet containers and, 5
ServletRequestobjectcompared to ActionRequest object, 10methods, 167
servletsaccess control, 167–168calling, portlets and, 19–21compared to portlets, 5–6, 207security, compared to portlet security, 169Sessionclass, JavaMail, 71
sessions (portlets), overview, 18–19Setmethod
Messageclass (OJB), 94Viewerclass (OJB), 97setAttributemethod, portlet namespace application, 19
setPortletModemethodDirectory example portlet, 271PortletURLinterface, 15setPortletPropertiesmethod, WSRP, 305setSecuremethod, PortletURL interface, 15setValuemethod, PortletPreferencesinterface, 17
setValuesmethodPortletPreferenceclass, 258PortletPreferencesinterface, 17setWindowStatemethod, PortletURL interface, 15shallstatements, 189
ShowMVCPortletAction,279signatures (digital), nonrepudiation, 150signing authorities, digital certificates, 164
single sign-on See SSO authorization
Singleton Pattern, 206security (continued)
Trang 20SizeGreaterThanmatcher, 62skins, Portlet API CSS definitions and, 22–23Slide
architectureexternal, 118–120internal, 120–121overview, 117–118Slide API layer, 135content management decisions and, 200–201domains, 132–134
helperscontent, 130–131defined, 117index/search, 132lock, 128–130macro, 131–132installing, 135Java Web Start (content management), 119namespaces, overview, 124
overview, 117remote management, 118running, 135–136server, overview, 138–139stores, 132
Tomcat Manager and, 136–138transaction management, overview, 122–123transaction management, transactions, 123views, 139
WebDAV and, overview, 139–140Slide Administration tool, viewing, 138Slide API layer, Slide architecture, 120slide.propertiesfile, 132slide.xmlfile, location, 139SMTPMessageclass, JavaMail, 71smtpservertag, James, 66SOAP (Simple Object Access Protocol)getLlamasmethod, message generated by, 294–295Llama portlet/Web service example, 292–298messages, generating graphical content, 287parsing messages with Axis-wsdl2java (Anttask), 299
request and response examples, 286Web services messaging, 285socketmanager, configuration (James), 69Software Architecture Document (SAD), software planning, 186–189
software configuration management, deployment planning, 179–181
software design methodologiesoverview, 182
Unified Process (UP), 182–184
software specifications, 219software testing, continuous integration, 181sortelement, Message class (OJB), 97source code
Add.jsp(OJB message board example application),104–106
addMessagemethod, 104–105Analyzerclass, 52–53attachments, receiving (JavaMail), 84BASIC authentication, 165–166deleting database objects (ODMG API), 109–110DirectoryEdit.jsp,272–274
DirectoryPortletclass, 267–271DirectoryValidatorclass, 271–272DirectoryView.jsp,272–274Documentobject example, 49–50dynamically changing a picklist (JavaScript), 241expiration-cachetag, 29
extending JSPPortlet class, 295–296field auto-population (JavaScript), 228–229field auto-validation (JavaScript), 229–231field values, returning (JavaScript), 227fields, referencing with JavaScript, 232–233FORM authentication, 166–167
GenericPortalclass, 11–13getMessagemethod (OJB), 101Home.jsp(OJB message board example application),100–102
indexing documents (search engines), 48–49IndexSearcherexample, 50–51
JavaScript date validation, 226JavaScript declarations, 222–223JavaScript, determining browser identity, 225–226JavaScript functions, 224
JavaScript functions, calling, 224JDBC connection mapping example (OJB), 99–100JDBC-ODBC bridge, 158
JetSpeed PSML file, 211JNLP file, 352
JSPPortlet (Sun sample portlet), 288–289JSPs, access control, 167–168
JSPs, calling, 19layering example (JavaScript), 245–248Llama portlet/Web service example, 292–298logout functionality, 168
mail addresses, setting (JavaMail), 72MD5 password handling, 159–161Messageclass, 94–97
Messageobjects, creating (JavaMail), 71MIME-type, setting (JavaMail), 71
source code
Trang 21source code (continued)
moving layers (JavaScript, 250–253
multipart mail messages, 77
password authentication (JavaMail), 72–73
pop-up picklist window, 232
portlet customization declarations, 31
portlet declarations, 29–30
portlet descriptor-configured security, 170
portlet example, 32–38
portlet metadata element, 29–30
portlet preferences, setting, 17
PortletRequestinterface, accessing, 169
portlet.xmlfile, 275–276
queries, issuing (message board OJB example
applica-tion), 103
Realmtag (Tomcat configuration), 156
receiving messages (JavaMail), 80–85
repeating group mechanism (JavaScript), 235–239
resolving localized paths, 291
SOAP request and response examples, 286
storing database objects (ODMG API), 108
TopicGenerator.java, 212–213
Topic.xml, 216–217
updating database objects (ODMG API), 109
user profile attributes, accessing, 27
version attribute (portlet deployment descriptors), 28
Viewerclass (OJB), 97–98
web.xmlfile, 275
spantag, layering in IE, 244
special characters, Lucene query syntax, 56
spool repository (James), 63
SpoolManager, configuration (James), 68
SpoolManagermailet, overview, 63
spoolmanagertag, James, 68
SSL (Secure Sockets Layer)
TLS (Transport Layer Security), 150–151URI specification Web site, 124WebDAV, 117
WSS (Web Services Security), 153XML Encryption, 149, 151XML Signature, 150state
maintaining user, portlet preferences, 258OTM (Object Transaction Manager) and, 90portlet modes and, 15
portlet sessions, overview, 18–19portlet window state, 16portlets, determining (code for), 268state (runtime)
portlet request handling and, 9portlets, 8–9
stateless modes, WSRP, 304stemming, search engine algorithms, 45, 47stop words
declaring, 52–53search engine algorithms, 45–46StopFilterobject, search engines, 53Storeclass, JavaMail, 73–74
storemethodOBJ message board example application, 101–102,105–106
PortletPreferenceclass, 258PortletPreferencesinterface, 17stores, Slide, 132
storing database objects, ODMG API, 108storyboarding, portal planning, 190–191StringBufferclass, implementation, 213strings, portlet URLs, creating, 15
structure helper (Slide), 120, 124–125Struts, 197
source code (continued)
Trang 22struts-config.xmlfile, 197subheadings (tables), attribute for portals, 23Subjectlsmatcher, 61
SubjectNodeclassSlide lock helper, 128Slide security helper, 125subjects, security policies, 124SubjectStartsWithmatcher, 62subprotocolelement, jdbc-connection-descriptortag, 99
Subversion, overview, 315–316Sun Microsystems, sample portlets, 288Swing (Java), 367–372
syntaxqueries (Lucene), 54–56Slide lock helper, 128URIs, 124
system requirementsdeployment planningdata, 178interface, 177operational requirements, 177–178overview, 177
quality assurance requirements, 179–181security requirements, 178–179
Ttable style classes, WSRP (Web Services for RemotePortals), 307–308
tablescell highlighting attribute for portals, 23footer attribute for portals, 23
header attribute for portals, 22subheading attribute for portals, 23tag library
IO,296JSP, 258PORTLET,296XTAGS,296taglibentry, web.xml file, 258tags
Application-desc(Java Web Start), 354articleIDDomainSuffix(James), 67articleIDPath(James), 67
authortative(James), 66bind(James), 66
class-descriptor(OJB Message class), 96collection-descriptor(OJB Message class), 96
collection-descriptor(OJB repository.xmlfile), 91
connection(James), 69connectionLimit(James), 66Context,Tomcat configuration, 156div(layering in IE), 244
dnsserver(James), 66Engine,Tomcat configuration, 156fetch(James), 67
fetchpop(James), 67field-descriptor(OJB Message class), 96handler(James), 66
host(James), 67Host, Tomcat configuration, 156HTML, disallowed (WSRP), 305idle-timeout(James), 69inboxRepository(James), 69information(Java Web Start), 353init-param(Loan Calculator example portlet), 279
input(JavaScript functions, calling), 224interval(James), 67
James, 69jdbc-connection-descriptor(OJB), 99–100jnlp,attributes, 353
layer(Netscape), 244login-config(BASIC authentication), 165–166mailet(James), 68
mailetpackage(James), 68mailetpackages(James), 68matcherpackage(James), 68matcherpackages(James), 68max-connections(James), 69newsgroups(James), 67nntp-repository(James), 67nntpserver(James), 67option(field elements), 231password(James), 67port(James), 66Portlet Tag Library, 28postmaster(James), 69processor(James), 68readOnly(James), 67Realm,Tomcat configuration, 155remotemanager(James), 68resources(Java Web Start), 353rootPath(James), 67
security(Java Web Start), 353security-role-ref(portlet descriptors), 170select(field elements), 231
tags