|
|
tag libraries, Struts
see JSP tag libraries, Struts
tag library, SQL, 534
problems with, 534
tag library, XML, 554
team building, 60-63
roles in horizontal approach, 62
technology
over-excitement about new technology, 55
when to use alternative technology, 56
template languages
compared 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, Velocity
Velocimacros, 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 inclusion
description, 575
JSP views, 576
static attributes, 575
view composition, 575
template selection servlet
compared to Multiplexed Resource Mapping Strategy, 454
Front Controller pattern, 453
WebMacro, 453
Template tag library, Struts, 460
TemplateModel interface, freemarker.template package, 551
TemplateModeRoot interface, freemarker.template package, 551
Templates interface, javax.xml.transform package, 697
test cases
see 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 coverage
maximizing, 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
testability
enterprise architecture goals, 17
using EJBs, 20
TestCase class
see under test cases.
testing, 73-111
see also test cases.
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 class
JUnit framework, 84
TestSuite class
see under test cases.
thin web tier, 447
importance of, 447
integrating web application into overall architecture, 465
separating business logic from web tier, 447
third party libraries
risk management, 70
this keyword
coding standards, 143, 144
Thread class, java.util package
currentThread() method, 590
getContextClassLoader() method, 590
thread context class loading, 590
threading
see also multi-threading.
EJBs, 214
disadvantages, 216
thread creation, 234
using EJBs, 23
when to use messaging, 233
ThrowawayBean2 class, org.infohazard.maverick.ctl
package, 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
timeliness
enterprise architecture goals, 17
Timestamp class
compared to Date class, 359
TimeStamped interface, com.interface21.core
package, 647
getTimeStamp() method, 647
timing
choosing application server, 46
Together modeling tool, 306
Tomcat servers
scalability, 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() methods
implementing, 155
logging and performance, 164
summarized, 175
transaction attributes
see attributes, CMT.
transaction isolation
data access, 268
transaction management
BMTs, 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
transformations
see XSLT.
Transformer class, javax.xml.transform package, 697
TransformerFactory class, javax.xml.transform
package, 697
transient data
optimizing 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 commit
transaction management, 211
type attribute
<jsp:useBean> element, 531
|
|