I think I can answer my own question. In GlassFish, if I don't specify the interface as @Local, by default , that interface is the bean's local interface.
But in the specification, on p.124- 125, it says differently.
1. If the bean only implements one interface and does not expose any other interfaces, that interface is a local interface unless it is annotated as @Remote.
2. If the bean class has multiple interfaces, the interfaces must explicitly be annotated by @Local/@Remote
Please do not shoot the fish in this barrel. But you can shoot at this tiny ad: