JNDI w tym scenariuszu jest używany jako centrum miasta, przez które są „nazwy” (rodzaj URL) kierowane do komponentu bean EJB. Pomyśl o tym, jak Servlet jest mapowany na adres URL.
Jeśli komponenty bean EJB są lokalne dla aplikacji (np. Znajdują się w module internetowym lub w module EJB tego samego pliku EAR), to niekoniecznie trzeba się skontaktować z JNDI. Mianowicie, prawdopodobnie użyłbyś iniekcji, aby uzyskać instancje twojego komponentu bean i wtedy nie jest potrzebny JNDI.
Jeśli jednak chcesz adresować komponenty EJB na serwerze zdalnym lub programowo programowo wyszukiwać komponent bean, użyjesz jego nazwy JNDI i JNDI, aby ją pobrać.
Zobacz więcej informacji, w tym ENC: Declaring @Resource and @EJB at the class level in Java EE6