We used JBoss 4.0.2 because of its full support for Hibernate 3.x.
Since the EJB 2.1-style Entity Bean model is gone as of EJB 3.0, we didn't cover Entity Beans. We felt that covering Hibernate was sufficient for this because EJB 3.0-style Entity Beans will look very similar to Hibernate Persistent classes.
We did cover EJB 2.1 Stateless Session Beans (SLSBs) and Message-Driven Beans (MDBs). We show the bean code and interfaces along with the J2EE and JBoss deployment descriptors. We also talk about when to use EJBs and when not to use them. We cover CMT-style transactions, too. Since there are so many programming artifacts, we use XDoclet to the generate the SLSB's Home and Component Interfaces along with the deployment descriptors. For JMS, we show how to write a client, an MDB, and an MBean descriptor for the JMS Queue.
In the Web Services chapter, we show how to expose one of the Stateless Session Bean's methods as a Web Service. We show all the artifacts (Service Endpoint Interface, webservices.xml, WSDL, and so on), and then we show how to automate/streamline the deployment process with
Ant, XDoclet, and wscompile (from JWSDP).
Tom