I am learning about EJB 3.0 from the book EJB 3 in Action. In the section under The anatomy of a session bean it is mentioned that :
An interface through which a client invokes the bean is called a business interface. This interface essentially defines the bean methods appropriate for access through a specific access mechanism. The interesting thing to note right now is the fact that a single EJB can have multiple interfaces. In other words, EJB implementation classes can be polymorphic, meaning that different clients using different interfaces could use them in completely different ways.
I want to understand the reasoning for the design decision why a single EJB is allowed to have multiple interfaces? An example to help understand the concept here would be very helpful.