In real-life programming, accessing of EJB components directly from JSP is known to be a bad practice. Nevertheless, in our code example we are following this practice exactly because it allows us to pursue the goal of keeping our code as understandable as possible. We recognize that not everyone is a proficient EJB developer, so it's better to keep code understandable for a general approach. The purpose here is to explain how to create and use CMP/CMR beans and not how to design and architect scalable, flexible, and reliable applications. It goes without saying that we can easily add more classes and a Struts framework for better presentation and DAO layers, which will give us more flexibility, eventually, if we want to switch between CMP and BMP. However, all of these features will be only bells and whistles in the project. They will not foster better understanding about the development of CMP/CMR beans in BEA WebLogic.