Abstract
The program violates the Enterprise JavaBeans
specification by using sockets.
Description
The Enterprise JavaBeans specification requires that
every bean provider follow a set of programming guidelines
designed to ensure that the bean will be portable and behave
consistently in any EJB container [1].
In this case, the program violates the following EJB
guideline:
"An enterprise bean must not attempt to listen on a socket, accept connections on a socket, or use a socket for multicast."
A requirement that the specification justifies in the
following way:
"The EJB architecture allows an enterprise bean instance to be a network socket client, but it does not allow it to be
a network server. Allowing the instance to become a network server would conflict with the basic function of the
enterprise bean – to serve the EJB clients."