この製品は、ソケットを使用することで、Enterprise JavaBeans(EJB)仕様に違反している。
EnterpriseJavaBeans仕様は,すべてのBean提供者が,どのEJBコンテナでもBeanが移植可能で一貫した振る舞いをすることを確実にするために設計されたプログラミング指針の集合に従うことを要求する。この場合,この製品は,次のEJB指針に違反する:"エンタプライズBeanは,ソケットでリッスンを試みたり,ソケットで接続を受け付けたり,マルチキャストのためにソケットを使用してはならない。"仕様は,この要件を次のように正当化する:"EJBアーキテクチャは,エンタプライズBeanインスタンスがネットワークソケットクライアントになることを許可するが,ネットワークサーバになることは許可しない。インスタンスがネットワークサーバになることを許すことは,EJBクライアントにサービスを提供するというエンタプライズBeanの基本機能と衝突する。"
The product violates the Enterprise JavaBeans (EJB) specification by using sockets.
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. In this case, the product 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." The specification justifies this requirement 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."