Java IDL can be used by EJB. Your EJB can act as a (CORBA) client to a (c++) CORBA server. The CORBA server provides an IDL for its remote objects. You have to create Java CORBA stubs according to this IDL (with Java IDL: "idlj" of the JDK). The generated stubs can be used in your EJB to call the remote C++ Corba objects. BTW: All J2EE (1.3) containers are required to support RMI-IIOP. So all ejbs can also be accessed by CORBA clients. BTW2: You can also create an IDL from your EJBs with vendor specific compilers (Java2IDL). The answer is yes, you can use Java IDL in your EJBs.