We often get questions related to EJB and CDI, to the convergence (or divergence!) between those 2 important Java EE technologies. That particular topic was discussed a few months ago by Linda De Michiel (Java EE Specification Lead and former JPA Specification Lead) during JavaDay Tokyo 2015.
In her session, Linda first set the stage by discussing the history of both EJB and CDI, and how those 2 technologies have evolved over time. She then discussed the advantages and disadvantages, some of the gaps between those 2 technologies. Linda finally concluded by discussing some strategies to improve things going forward. For example, the @Transactional interceptors was introduced in Java EE 7. In Java EE 8, the idea is to continue on the path of extracting additional container services to make those more widely and more easily available in the platform. Java EE 8's CDI Security Interceptors and the new 'flexible MDB' comes to mind.
This is an interesting talk as it discusses the past, the present and the future of fundamental Java EE technologies. It should be mentioned that David Blevins and Jean-Louis Monteiro (TomEE) gave a similar talk during JavaOne : "EJB/CDI Alignment (What does it Mean?)"
Reza is a recovering independent consultant and now Java EE evangelist at Oracle. He is the author of the popular book EJB 3 in Action. Reza is a frequent speaker at developer gatherings worldwide including JavaOne and NFJS. He is an avid contributor to community sites like JavaLobby and TSS. Reza has been a member of the Java EE, EJB and JMS expert groups. He implemented the EJB container for the Resin open source Java EE application server.
All views voiced are squarely mine alone, not Oracle's.