Index
P-Q
package methodsvisibility, 149
packagel filedocumentation, 160
packagesparallel package structure, 90
packaging J2EE applications, 583
see also deploying applications.class loading in J2EE, 585
basic concepts, 585
description, 586
guidelines, 591
server and, 590
deployment units, 584
EJB JAR files, 584
extended deployment units, 585
WARs, 584
sample application, 592
Ant build tool, 594
EAR deployment, 593
pair programming, 110
ParameterActionFactoryProxy class, webwork.action.factory package, 464
ParameterMethodNameResolver class, com.interface21.web.servlet.mvc.multiaction package, 485
parametersstateful functionality, SLSB achieving, 372
parent context, application contextnull/NOT ~, consequences, 408
passivation & reactivation, 366
SFSB (stateful session beans), 366
ejbPassivate/~Activate() methods, 366
example, 367
SFSB subset surviving, rules for, 366
patternssee design patterns.payment details screensample application user interface,, 194
PDF generationgenerating binary content in view, 571
generating PDF with iText, 571, 705
view definitions, 707
perform() method, ThrowawayBean2 class, 462
performance, 611
addressing problems, 630
avoiding use of container services, 631
sample application, 643
server choice and configuration, 630
tuning server, 630
caching, 245, 632
code-level optimization, 614, 638
reflection, 641
synchronization, 641
compared to scalability, 613
converting to XML from JavaBeans, 241
converting to XML from RDBMS, 240
database driven modeling, 254
design-level optimization, 614
distributed architecture, 18, 612, 653
application partitioning, 612
collocating components in JVM, 663
minimizing remote calls, 655
moving data efficiently, 658
RMI (Remote Method invocation), 653
EJBs through local interfaces, 224
enterprise architecture goals, 16, 614
entity bean cache, 305
entity beans, 19, 305
introduction, 611
J2EE design, 675, 678
JMS, 233
local interfaces, 19
locating problems, 623
layered testing, 623
profiling tools, 623
logging, 164
major issues, 672
portability trade off, 263, 612
RDBMS performance tuning, 262
read-only entity beans, 303
reflection, 133, 642
risk management, 69
sample application, 198
Session Fa$cade, implementing using SLSB, 374
RMI no. reduction, advantages, 374
366, 373
passivation/reactivation overcoming, 366
stored procedures, RDBMS, 260
testing, 105, 612, 616
benchmarking, 616
com. interface 21.load package, 619
non-web test tools, 619
web test tools, 617
web tier, 663
edge site caching, 671
view performance, 664
web caching using HTTP, 666
XSLT impact, 239
persistencesee also BMP.see also CMP.see also EJB QL.CMP/BMP hybrids, 299
managing persistence using JDBC, 313
session beans, 308
persistence logic, 252
decoupling from business logic, 258
stored procedures, RDBMS, 260
persistence manager, JDO, 317
PersistenceCapable interface, 317
PersistenceCapable interface, 317
PersistenceManager interface, 317
PersistenceManagerFactory interface, 317
persistent dataBMP or CMP, 292
testing database interaction, 99
pessimistic lockingdata access, 269
exclusive locking, 302
Pet Storesee Java Pet Store.
Physical Resource Mapping Strategydescription, 444
ease of implementation, 444
Java web development, 444
problems with, 445
PL-SQL stored procedurescalling stored procedures using JDBC, 357
Plugln interface, org.apache.struts.action package,465polymorphismabstract inheritance, 116
pooling, 365
SLSB (stateless session beans), 365
EJB container managing SLSB pool, 364, 365
monitoring pooled instances no.at runtime, 365
ejbCreate(), using, 365
usage patterns,example considering, 365
portability, 56-58
choosing application server, 46
data access design implications, 24
database locking, 302
description, 57
design portability, 39
designing applications for, 38
EJB QL and CMP, 298
EJB QL proprietary extensions, 299
enterprise architecture goals, 17
entity beans, concerns, 286
implementation portability, 39
2EE design, 677
performance trade off, 263, 612
read-only entity beans, 303
stored procedures, RDBMS, 260
testing strategy effect, 91
PowerTier modeling tool, 304, 306
PreparedStatement interface, 323
caching, 324
compared to Statement interface, 323
JDBC(Java DataBase Connectivity),PreparedStatementCreator interfaceJDBC abstraction framework, 335
performing queries, 341
performing updates, 341
PreparedStatementCreatorFactory classJDBC abstraction framework, 335
primary keysdatabase ID generation, 271
generation strategies, 269-73
surrogate or intelligent keys, 270
primitive fieldsoptimizing serialization to move data efficiently, 659
private instance variables, 150
summarized, 175
private methodsoverriding, 154
protected methods, 151
public methods, 144
visibility, 149
production environment, 59
productivityJ2EE design, 676
profiling tools, 623
JProbe probe, profiler 625
JVM profiling options, 624
problems with, 624
PropertiesMethodNameResolver class,com.interface21.web.servlet.mvc.multiactionpackage, 485
PropertiesTestSulteLoader class, com.interface21.loadpackage, 621
PropertyEditorManager class, Java.beans, 400
registering property editors, 400
PropertyEditorSupport class, Java.beans, 400
implementing property editors, 400
example, 400
proprietary deployment descriptorsJBoss deployment descriptors, 605
structure, 599
EJB-Specific configuration, 599
web tier configuration, 599
writing for application, 598
protected inner classes, 150
protected instance variablesexceptional usage, 151
summarized, 175
protected methods, 118
exception handling, 131
final variables, 149
private methods, 151
visibility, 149
protected modifierabstract methods, 151
Prototype design pattern, 141
proxy approachimplementing business interface, 30
666
PTP (Point to Point) messaging, 228
public Instance variablescoding standards, 149
final keyword, 149
public Interface, classsummarized, 175
public internet userssample application, 180
user interface, 183
error handling, 185
screens, 185
workflow, 184
public methodsprivate methods, 144
visibility, 149
Publish and subscribe messaging, 228
JMS, accessing EJBs using, 426
pull modelcompared to push model, 449
MVC (Model View Controller) pattern, 449
push modelcompared to pull model, 449
MVC (Model View Controller) pattern, 449
queries, JDOQL, 318
Query interface, 318
execute()method, 318
query() method, JdbcTemplate class, 337, 338