Preface 1. Getting Started with JBoss Why "JBoss at Work"? Why JBoss? The Example: JAW Motors The Tools Installing JBoss Deploying Applications to JBoss Looking Ahead- 2. Web Applications The Servlet Container Three-Tier Applications Exploring the Presentation Tier Building the View Cars Page Adding a Model and Controller Looking Ahead- 3. Building and Deploying an EAR WARs Versus EARs Application.xml Common JAR Deploying the EAR Adding a DAO Using XDoclet Looking Ahead- 4. Databases and JBoss Persistence Options JDBC JNDI JNDI References in web.xml JBoss DataSource Descriptors JDBC Driver JARs Database Checklist Accessing the Database Using Ant Creating JDBCCarDAO Looking Ahead- 5. Hibernate and JBoss The Pros and Cons of ORMs Hibernate Mapping Files Hibernate MBean Service Descriptor Creating a HAR Adding the HAR to the EAR Creating a JNDI lookup Hibernate Checklist HibernateCarDAO Adding a Car Editing a Car Deleting a Car Looking Ahead- 6. Stateless Session Beans Issues with EJBs Should I Use EJB or Not? Business Tier Enterprise JavaBeans Our Example Iteration 1-Introduce a Session Bean Calling the Session Bean from the Controller Servlet EJB-Based JNDI References in Web-Based Deployment Descriptors Session Bean Types Session Beans Remote Versus Local EJB Calls Local and Remote Interfaces Home Interfaces Reviewing Iteration 1 Testing Iteration 1 Iteration 2-Move Business Logic Out of the Controller Reviewing Iteration 2 Testing Iteration 2 Iteration 3-Buy a Car The AccountingDTO Developing the HibernateAccountingDAO Adding buyCar( ) to the InventoryFacadeBean Reviewing Iteration 3 Testing Iteration 3 Final Thoughts on Session Beans Looking Ahead ... 7. Java Message Service (JMS) and Message-Driven Beans Sending Messages with JMS Upgrade the Site: Running a Credit Check JMS Architecture Overview JMS Messaging Models Creating a Message Sending the Message Core JMS API Sending a JMS Message JMS-Based JNDI References in Web-Based Deployment Descriptors Deploying JMS Destinations on JBoss JMS Checklist Message-Driven Beans (MDBs) MDB Checklist Testing the Credit Check Looking Ahead ...8. JavaMail Running a Credit Check Sending Email Messages with JavaMail Upgrading the MDB to Send an Email Message Sending an Email Message JavaMail-Based JNDI References in EJB Deployment Descriptors Automating JavaMail-Based JNDI References with XDoclet Deploying JavaMail on JBoss JavaMail Checklist Testing the Credit Check Notification Email Looking Ahead ...9. Security J2EE Security Web-Based Security Restricting Access with web.xml JAAS Deploying a JAAS-Based Security Realm on JBoss Testing Secure JSPs Protecting the Administrative Actions Web Security Checklist Integrating Web Tier and EJB Tier Security EJB Security EJB Security Checklist Looking Ahead ... 10. Web Services Web Services Architecture JBoss 4.x and Web Services J2EE 1.4 and Web Services Implementing J2EE 1.4 Web Services Service Endpoint Interface (SEI) Modifying ejb-jar.xml webservices.xml JAX-RPC Mapping File WSDL File Set the Web Service URL Modifying the InventoryFacadeBean EJB Web Services Deployment Automating Web Services Deployment J2EE Web Services Checklist Testing Web Services Deployment Web Services Client Implementing a Web Service Client Web Service Client Checklist Testing the Web Service Client Final Thoughts on J2EE 1.4 Web Services Conclusion Congratulations! A. ClassLoaders and JBoss B. Logging and JBoss C. JAAS Tutorial Index
Tom Marrs, a 20 year veteran in the software industry, is the Principal and Senior Software Architect at Vertical Slice, a consulting firm that designs and implements mission-critical business applications using the latest J2EE and Open Source technologies, along with providing architecture evaluation and developer training and mentoring services. Tom is the lead author of JBoss At Work: A Practical Guide (O'Reilly, 2005), has been published in Java Developers' Journal, and authored and/or co-authored several technical training courses. Tom teaches Java/J2EE/JBoss training classes, speaks regularly at software conferences such as No Fluff Just Stuff, and reviews best-selling technical books for major publishers. An active participant in the local technical community, Tom has served as President of the Denver Java Users Group . Scott Davis is a senior software engineer with DigitalGlobe, a satellite imaging company. His role in the company is technical evangelist: educating developers in geographic technologies and making complex topics accessible to non-technical end users. Scott is a frequent presenter at national conferences and local user groups. He was the president of the Denver Java Users Group in 2003 when it was voted one of the top-ten JUGs in North America.