The CORBA programming model describes the artifacts that you develop and
implement to enable client applications to interact with server applications
in a CORBA environment. In this context, the word client refers to any program
running in a process on a client or server computer. The server, a server
process, hosts a servant object (in CORBA 2.3 terminology) through
which the client accesses business functions. In a C++ CORBA server, the servant
object implements the business functions; in an EJB server, the business logic
is implemented by an Enterprise JavaBean.
The CORBA programming model, as a distributed-object programming model,
is characterized as follows:
- Objects
- CORBA objects are defined with the OMG Interface Definition Language (IDL).
IDL is compiled to generate client stubs and server skeletons, which map an
object's services from the server environment to the client.
- Communications protocol
- The specification is the General Inter-ORB Protocol (GIOP), of which the
Interoperable Inter-ORB Protocol (IIOP) is one implementation.
- Object references
- CORBA Interoperable Object References (IOR) provide a platform and vendor
independent object reference.
- Naming service
- The CORBA CosNaming service is bootstrapped with resolve_initial_references().
CosNaming binds a CORBA object to a public name.
The CORBA programming model shows
the artifacts that you develop and implement for the CORBA programming model.
The CORBA programming model
The CORBA programming model comprises the following two interrelated parts:
- The server programming model describes the interfaces and
processes used to develop CORBA server objects that make up the business logic
and business data inherent in a server application. Application programmers
use the server programming model if they are developing CORBA server objects
that perform business functions that are used in the implementation of client
objects. For more information about the server programming model, see The server programming model.
- The client programming model describes what client applications
do to make use of objects provided by server applications. Application programmers
developing tier-1 (client) or tier-2 (server) CORBA applications use the client
programming model if they are developing CORBA clients whose implementation
uses either CORBA server objects or Enterprise JavaBeans. For more information
about the client programming model, see The client programming model.
In WebSphere Application Server enterprise services, the CORBA client and
server programming models are used as follows:
- The CORBA client programming model is used for WebSphere C++ clients,
WebSphere Java clients (including WebSphere EJB servers acting as CORBA clients)
that want to access a WebSphere C++ Server or 3rd-party CORBA ORB acting as
a CORBA server.
- The CORBA client programming model is also used for WebSphere C++ clients
that want to access a WebSphere Enterprise JavaBean1
- The CORBA server programming model is used for WebSphere C++ servers and
3rd-party CORBA ORBs