yes, you're right.
In read-only operations, choose DAO as pattern.
See:
http://java.sun.com/blueprints/patterns/FastLaneReader.html It's important to understand that EJB is not the correct solution to all the systems. EJB is recommended in cases where:
- Transactions is very important ( in R.O. operations, use DAO )
- Good Security
- High Concurrency
- Good Resource management
Of course, you can get those stuffs writing a lot of code by your hands using CORBA or RMI, but EJB specification came up to help you to development quickly and make your solution portable.
In my point of view, expose entity bean as remote object is a dodgy design :-) Use Session Facade:
http://java.sun.com/blueprints/corej2eepatterns/Patterns/SessionFacade.html And prefer to use local entity beans to avoid network overkill.