First off, I'd recommend taking a look at EJB Design Patterns by Floyd Marinescu, who works for the Middleware Company, the premiere training firm for J2EE.
<snip>.. For your app, you'd probably make a helper class that your Struts action form would call. This helper class, will call on your J2EE container using RMI (assuming your jsp/servlet and app server are on different machines). This helper class would talk to you J2EE app server using RMI.
Now for EJB's, DAOs are commonly used with BMP (Bean Managed Persistance). This is where you are writing all of your JDBC code. The class that you've made it the same thing you'd do in a BMP Entity bean. A DAO is another layer of abstraction. The idea is that your application code should not know that its talking to an oracle database. It should just know that the class its talking to will give it the imformation it needs. A DAO is usually an interface that concreate classes inherit from. These concrete classes will know how to specifically talk to a certain db. One db and that's it. It would allow us to quickly change from an SQL Server database to and Oracle database, depending on how we instantiate the DAO object.
Just looking at the description of the book on the site above, it looks like this book might be too advanced for me. You don't think it will?
Haven't done anything with RMI. Everything except the database is on the one server though.
This above is exactly what I want to see some concrete examples of. Does the book you mentioned go into some concrete examples of this.