Index
O
O/R mapping technologiesaccessing relational databases, 315
CocoBase, 316
JDO (Java Data Objects), 315, 317
TopLink, 315
object comparisonsavoiding NullPointerExceptions, 156
object compositionconcrete inheritance, 115
OO design principles summarized, 172
object driven modeling, 253-55
Object/Relational (O/R) mapping, 256
object modificationfinal classes, 155
Object/Relational (O/R) mapping, 255-57
data access design implications, 24
data access technologies, 25
EJB 2.0 entities, 299
entity beans, 274
impedance mismatch, 255
Observer design pattern, 122
OO design principles summarized, 173
without JMS, 234
observers, 123
see also listeners.onlnit() methodhook method, 154
online seat reservation systemsee sample application.onMessage() method, 230
onSetContext() method, AbstractXmlcView class, 704
OO design principlesdistributed architecture, 18
enterprise architecture goals, 16
implications of using EJB, 21
J2EE design, 678
JavaBeans, 138
recommendations for J2EE applications, 114-42
refactoring, 142
summarized, 171
Open Closed Principle, 154
optimistic lockingdata access, 269
database locking, 302
OptimisticLockingViolationException classJDBC abstraction framework, 329
614, 638
design-level optimization, 614
optimizing serialization to move data efficiently, 659
optimizing web tier session management, 489
avoiding unnecessary session state, 489
minimizing state data, 490
optimizing serialization, 490
using fine-grained session objects, 490
Oracle connection pool, creating, 602
Oracle databasesample application and, 200
Oracle-specific database callscalling stored procedures using JDBC, 357
custom types, 359
OracleSQLException Translater classconverting JDBC exceptions to generic exceptions, 332
implements SQLException Translater interface, 332
vendor code, 332
org.apache.struts.action package, 458
Action class, 458
ActionForm class, 458
ActionSevlet class, 458
DispatchAction class, 461
Plugin interface, 465
B>org.apache.struts.util packageRequestUtils class, 459
org.infohazard.maverick package, 461
Dispatcher class, 461
org.infohazard.maverick.ctl packageThrowawayBean2 class, 461
org.infohazard.maverick.flow packageCommandBase class, 462
Controller interface, 461
ControllerContext interface, 462
View inteface, 462
ViewContext inteface, 462
Orionchoosing application server, 53
overridingfinal keyword, 153
making superclass methods final, 154