By the moment (until that Java EE 7 arrives) you could mix a CDI (No more @ManagedBean) with a EJB (transactional features) just like Adam Bien shows in his post:
@Stateless
@Named("helloService")
public class HelloService {
@EJB ClockService clockService;
public String getHello(){
return "Hello from EJB / CDI: " + clockService.currentTime();
}
}
Something good about this is that your EJB is exposed directly to the View Tier, no need of @Interceptor, but, don't abuse of this approach you could high coupling between View and Control tiers
From the JavaEE7 Spec: " Although CDI, JSF and EJB already all build on a common but very abstract concept called the managed bean, it seems that JSF Managed Beans might be dropped in favor of CDI and EJB might be retrofitted as a set of CDI services."
References:
http://www.adam-bien.com/roller/abien/entry/ejb_3_1_killed_the
http://jdevelopment.nl/open-source/java-ee-7-progress-page/