EJB's strength is component transactions. JDO's strength is data object encapsulation. JDO holds forth the potential to standardize OR mapping. The design decision tree is as follows:
1. Will EJB manage connections and transactions or will the app do it manually?
2.1 If the app manages connections and transactions, will it use JDBC or an OR mapping toolkit?
2.2 If the app uses EJB, will the EBs be BMP or CMP?
2.2.1 If the app uses BMP, will it use JDBC or an OR mapping toolkit?
3. If the app uses an OR mapping toolkit, will it use JDO?
Session Bean encapsulates business logic and and can be used for that purpose even if JDO is used rather than EBs.