EAServer complies with the interoperability requirements in the EJB 2.0 specification, allowing you to interoperate with EJB 2.0 compliant servers from other vendors. There are two approaches to inter-vendor interoperability:
Using CORBA 2.2 client interfaces This option allows interoperability between EAServer and other vendors that support CORBA 2.2.
Using the EAServer Java or C++ CORBA client model, you can call another vendor’s CORBA 2.2 compliant application server (the server must support IIOP 1.0 or 1.1). Similarly, you can use another vendor’s CORBA 2.2 compliant client ORB to call any component hosted by EAServer (the client ORB must support IIOP 1.0 or 1.1).
This option is simpler than the EJB 2.0 RMI/IIOP option, but does not support some EJB 2.0 interoperability features such as transaction and security context propagation.
Using EJB 2.0 RMI/IIOP interoperability This option allows interoperability between EJB 2.0 compliant application servers, but can be more complex to program, particularly in languages other than Java.
RMI/IIOP interoperability depends on CORBA 2.3 IDL Valuetypes, which has the following implications:
Valuetypes and other IIOP 1.3 features cannot be used by pre-CORBA-2.3 client ORBs.
At the time of this writing, standard support for RMI/IIOP clients (specifically Valuetypes) in languages other than Java is lacking.
RMI/IIOP interoperability supports some features not supported by CORBA 2.2 interoperability, such as:
Interoperable naming, when using the interoperable name formats described in “Interoperable naming URLs”.
Transaction propagation, when using the OTS transaction model as described in “Transaction interoperability”
Security context propagation in accordance with the CSIv2 requirements outlined in the EJB 2.0 specification. For more information on this feature, see “Intercomponent authentication for EJB 2.0 components” in the EAServer Security Administration and Programming Guide.
Parameter and exception type inheritance and null value propagation in method invocations.
EAServer supports RMI/IIOP interoperability for EJB clients and components, without using CORBA 2.3 Valuetypes in the IDL interface definitions. The generated stub and skeleton code can marshall parameters in accord with the RMI/IIOP requirements, even though the IDL does not use Valuetypes. Since the IDL does not use Valuetypes, EAServer EJB components remain compatible with components of other types and with CORBA 2.2 clients.
EAServer can simultaneously support RMI/IIOP and CORBA 2.2 clients. The client’s interoperability requirements are automatically detected at run time. To use RMI/IIOP from another vendor’s EJB 2.0 container, you must use the EAServer classes described in “Classes for RMI/IIOP connections from third-party containers”.
Copyright © 2005. Sybase Inc. All rights reserved. |