mappedName attribute is used with Remote EJBs (not local ones).
It is used to give your
EJB a "global" name, this name is added to the JNDI and it allows components that are outside your application to access it and use it.
name attribute on the other hand, is used to give EJB a local name, components the belong to the same application that declare the EJB will use this name, they can also use the mappedName if you provided one.
I hope that helped.