@Stateless(name="manager")
is a friendly name. Imagine you have the following:
you can just refer to the bean with "manager" instead of the full class name.
mappedName as you stated is vendor specific. So its behaviour depends on the container you will be using.
in Glassfish is used to assign a global name in JNDI
for beanName you can check this
thread (i've never used it myself):
Thread Link
You use the Lookup when you need to locate a bean looking in the context.
For instance, check the section related to the RMI (Calling an EJB remotely). In which case you will need
to ask the remote server to look into the context and find your bean.
Normally, when working on the local server with local beans, I don't ask the context to find beans ,
i just inject them and let EJB taking care of finding them.
Regards
Dave