Index
T
tag libraries, Strutssee JSP tag libraries, Struts
tag library, SQL, 534
problems with, 534
tag library, XML, 554
team building, 60-63
roles in horizontal approach, 62
technologyover-excitement about new technology, 55
when to use alternative technology, 56
template languagescompared to JSP pages, 544
description, 544
FreeMarker, 551
problems with, 545
reasons for using, 544
using for views, 544
Velocity, 546, 691
WebMacro, 545
template libraries, VelocityVelocimacros, 547
Template Method design pattern, 116-20
AbstractController class, 482
AbstractPdfView class, 706
AbstractView class, 687
AbstractXmlcView class, 704
framework approach, 167
ManualExtractionSqlQuery class, 345
OO design principles summarized, 172
overriding methods, 153
protected instance variables, 150
SqlQuery class, 344
Strategy pattern compared, 120
template page inclusiondescription, 575
JSP views, 576
static attributes, 575
view composition, 575
template selection servletcompared to Multiplexed Resource Mapping Strategy, 454
Front Controller pattern, 453
WebMacro, 453
Template tag library, Struts, 460
551
TemplateModeRoot interface, freemarker.template package, 551
Templates interface, javax.xml.transform package, 697
test casessee also testing.abstract test cases, 87
assertion methods, 80
assertions compared, 108
avoiding code duplication, 87
concrete test cases, 87
error handling, 80
failing test, 77
hierarchy, 88
individual tests, 79
inheritance, 87
Junit test case, 102
locating, 90
parallel package structure, 90
synchronizing with code, 90
test case authoring, 78
test fixtures, 79
TestCase class, JUnit framework, 79, 80
testing database interaction, 99
TestSuite class, JUnit framework, 80, 84
writing effective tests, 86
verifying code, 77
when to write, 76
writing effective tests, 78, 86
test coveragemaximizing, 86
test first development, 76
verification, 77
writing effective tests, 86
test environment, 59
test first development, XP, 74, 76
XP approach to testing, 77
test runners, 80
test suite, 80
testabilityenterprise architecture goals, 17
using EJBs, 20
TestCase classsee under 73-111
see also unit testing.as part of software life cycle, 110
assertions, 80, 108
automating testing, 107
business objects, 92-100
Cactus testing tool, 95-99
complementary approaches, 108
concepts, 75
design implications, 105
effect on writing code, 90-92
J2EE project guidelines, 679
JDBC helper classes, 99
JUnit framework, 79-85
JUnitEE testing tool, 97
objectives, 74
performance, 105, 612, 616
benchmarking, 616
com.interface21.load package, 619
non-web test tools, 619
web test tools, 617
scalability, 105
test coverage, 75
test definitions, 75
web interfaces, 100-105
web specific issues, 100
writing effective tests, 85-90
XP methodology, 76
TestRunner classJUnit framework, 84
TestSuite classsee under 447
importance of, 447
integrating web application into overall architecture, 465
separating business logic from web tier, 447
third party librariesrisk management, 70
this keywordcoding standards, 143, 144
Thread class, java.util packagecurrentThread() method, 590
getContextClassLoader() method, 590
thread context class loading, 590
threadingsee also multi-threading.EJBs, 214
disadvantages, 216
thread creation, 234
using EJBs, 23
when to use messaging, 233
ThrowawayBean2 class, org.infohazard.maverick.ctlpackage, 461
perform() method, 462
throwExceptionOnWarninglfNotlgnoringWarnings()method, JdbcTemplate class, 338
tiers, 27
middle tier, 27
non-distributed architectures, 29
user interface tier, 28
web tier connectivity, 38
timelinessenterprise architecture goals, 17
Timestamp classcompared to Date class, 359
TimeStamped interface, com.interface21.corepackage, 647
getTimeStamp() method, 647
timingchoosing application server, 46
Together modeling tool, 306
Tomcat serversscalability, 208
TopLink, 304
compared to EJB, 315
description, 315
example of using, 316
Expression class, 316
JDO and, 316
O/R mapping technologies, 315
toString() methodsimplementing, 155
logging and performance, 164
summarized, 175
transaction attributessee attributes, CMT.268
transaction managementBMTs, 232
Container Managed Transactions, 210
J2EE server provision for, 210
MDBs, 231
sample application, 213
transparent transaction management, 228
using EJB, 210-13.transactional entity caching, 304
transformationssee XSLT.Transformer class, javax.xml.transform package, 697
TransformerFactory class, javax.xml.transformpackage, 697
transient dataoptimizing serialization to move data efficiently, 659
transparent dynamic proxy, 422
accessing EJB using, 422
advantages, 423
custom bean definition, 422
triggers, RDBMS, 259
tuning server, 630
references to web sites, 631
two phase committransaction management, 211
type attribute<jsp:useBean> element, 531