Does EJB 1.1 support mandate the support for RMI-IIOP ? What is the meaning of "the client API must support the Java RMI-IIOP programming model for portability, but the underlying protocol can be anything" ?

Nick Minutello

EJB1.1 does mandate the support of RMI-IIOP.

OK, to answer the second question:

There are 2 types of implementations that an EJB Server might provide: CORBA-based EJB Servers and Proprietry EJB Servers. Both support the RMI-IIOP API but how that API is implemented is a different story. (NB: By API we mean the interface provided to the client by the stub or proxy).

A CORBA-based EJB Server actually implements its EJB Objects as CORBA Objects (it therefore encorporates an ORB and this means that EJB's can be contacted by CORBA clients (as well as RMI-IIOP clients)

A proprietry EJB still implements the RMI-IIOP API (in the client's stub) but the underlying protocol can be anything. Therefore your EJB's CANNOT be contacted by CORBA clients.

The difference is that in both cases, your clients see the same API (hence, your client portability) BUT how the stubs communicate with the server is different.