Can anybody tell me where are Entity Beans in Cade's sequence diagrams? His SessionBean talk to DAO to create VO. Transaction can be handled by SessionBeans and domain objects are represented by VO, why do we need the EntityBeans???
I don't think we need entity beans in Cade's example. GES system is using existing back-office systems to store/retrieve data so DAO component should be enough. Using entity beans would be obvious if GES would need to create a new database for persisting data. Would creating entity beans make sense just to talk to these Java, C++/Corba interfaces?
Nowadays everybody's talking about JDO or Hibernate. I don't know if we can leave the entity beans out of assignment solution just by arguing the technology sucks? :roll:
I am not sure about that. Our assignment is not much different than Cade's eg. Introducing EntityEJB means adding one more layer in between SessionEJB and DAO layer. Do we show EnityEJBs in Seq Diagram or Component diagram? Can those who passed SCEA comment on this? Did you explicitly show EntityBeans in component or Seq Diagrams???
My assignment says that the IMS database will be replaced with a relational database like Oracle. I'm thinking to use entity beans to communicate with that database. Since CMP should be mature enough nowadays, there's probably no need to use DAO in that communication? DAO could be more suitable for for connecting legacy systems (Frequent Flyer).
I think we could show entity beans in all diagrams. Cade is modeling session beans already the class diagram. Modeling also entity beans there could be useful for designers.
These are just my (possibly wrong) opinions... (I hope I'm not talking too directly about the solution.)
I'm showing entity beand in both component and sequence diagrams. I have choosed to use BMP + DAO. I don't think CMP will be able to offer the desired performance. The specification is very clear abaout performance. The response times are so short. Using BMP + DAO you may write your own SQL code and use a capability of Oracle, like stored procedures to improve performance. Sometimes the SQL code generated for CMP by containers are not good.
<i>SCJP 1.2, SCWCD, IBM 141, IBM 483, SCJP 1.4, IBM 484, IBM 287, SCBCD, SCEA, SCJP 5.0, SCJP 6.0, SCWCD 5</i>
Yep, performance is a possible problem with CMP. In real life we've been able to solve those problems with that 600 concurrent users, but I'm not sure about those response times... Maybe I should play safe and go for DAO. I guess Sun doesn't believe in its own technology enough to let us choose CMP?
I don't think there will be any performance problem using CMP. To quote Ed Roman in Mastering EJB 2, "CMP entity beans, if tuned properly, are much higher performing than BMP entity beans."
IMHO there are 2 reasons that alternative approaches such as Hibernate and JDO are becoming more popular: - A growing realization that the services provided by EJBs (sophisticated transactional support, security etc) are not always needed. See for example Bruce Tate's recent book "Better, Faster Lighter Java". - The programming model for EJBs generally and entity beans in particular is complicated, and difficult for less experienced developers. This is being addressed in EJB 3.0.