JaVa
   
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 app 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 app 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 app, 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
JaVa
   
Comments