EAServer components contain the methods that execute business logic and access data sources. The EAServer server-side component support and client-side stub or proxy support are independent. Any EAServer client can execute any type of component. A component of any model can execute components of another model using intercomponent calls without the use of additional gateway software.
EAServer provides support for several major component models, including:
Enterprise JavaBeans EAServer supports Java components that follow the Java Software EJB specification, versions 1.1, 2.0, and 2.1. An Enterprise JavaBean is a nonvisual, transactional component that is implemented in Java. For more information, see Chapter 1, “Enterprise JavaBeans Overview,” in the EAServer EJB User’s Guide.
A message-driven bean (MDB) is a type of EJB specifically designed as a Java Message Service consumer. Chapter 2, “Setting up the Message Service,” in the EAServer Java Message Service User’s Guide describes how to create MDBs.
CORBA-Java CORBA-Java components follow the CORBA component model and use standard CORBA interfaces for transaction management. Almost any Java class with nonvisual behavior can be adapted to run as an EAServer component. The EAServer CORBA Components Guide describes the EAServer Java component support in detail.
PowerBuilder NVO components Using PowerBuilder, you can create nonvisual objects (NVOs) that run natively in EAServer as EAServer components. You can also create NVO proxies for EAServer components, then use the proxies in PowerBuilder client applications. See Application Techniques.
CORBA-C++ components EAServer C++ components are C++ classes that contain methods with prototypes similar to the EAServer component interface; the exact interface mapping complies with the CORBA specification for IDL/C++ language bindings.
Chapter 8, “Developing CORBA/C++ Components,” in the EAServer CORBA Components Guide describes C++ component support in detail.
C++ classes can be run
as C++ components
If you adapted C++ classes to run as EAServer
C components in version 1.1, you can run these classes directly
as C++ components in version 2.0 and later.
Applications invoke an EAServer component using a stub or proxy object. The stub or proxy acts as a local surrogate for the remote component; it provides the same method signatures as the component and hides the details of remote server communication. Stubs and proxies are available for:
Java (CORBA and EJB) Any component can be invoked via a Java stub class. EAServer generates source code for Java stubs. At runtime, your client program instantiates the stub. When you call methods on the stub class, the stub transparently invokes the component method on EAServer. You can also create Java servlets or JavaServer pages that run in EAServer and call components. Using this model, you can create “zero-install” applications. With EAServer built-in HTTP support, these applications have no client-machine installation requirements other than the presence of a Web browser. You can add additional interactive functionality to browser-based clients using Java applets that run in the browser.
EAServer supports these Java client models:
EJB Your program uses the EJB (javax.ejb) classes and EAServer EJB stubs to call EAServer component methods. This client model follows the EJB 2.1 specification and is backwardly compatible with the EJB 2.0, 1.1, and 1.0 specifications. Chapter 3, “Developing EJB Clients,” in the EAServer EJB User’s Guide describes how to implement EJB clients.
CORBA-Java Your program uses the EAServer CORBA-compliant Java ORB or any other CORBA-compliant Java ORB to instantiate stubs. Stub method signatures are mapped from the component’s interface definition, based on the CORBA specification of IDL-Java language bindings. Chapter 13, “Developing CORBA/Java Clients,” in the EAServer CORBA Components Guide describes how to implement CORBA-Java clients.
PowerBuilder PowerBuilder allows you to generate NVOs that act as proxies for EAServer components. Using a proxy, you can call component methods as if they were implemented as local NVO methods. See Application Techniques in the PowerBuilder documentation.
C++ (CORBA) Your program uses the EAServer CORBA-compliant C++ ORB or any other CORBA-compliant C++ ORB to instantiate stubs. Stub method signatures are mapped from the component’s interface definition, based on the CORBA specification of IDL-C++ language bindings. Chapter 9, “Developing CORBA/C++ Clients,” in the EAServer CORBA Components Guide describes how to implement C++ clients.
CORBA is a distributed component architecture defined by the Object Management Group (OMG). EAServer supports the CORBA IIOP.
For information on the CORBA architecture, see the specifications available at the OMG Web site.