OOPortal OOPortal


Core Architecture  «Prev  Next»
Lesson 5 The CORBA server
Objective Learn more about how CORBA servers are constructed and used.

CORBA Server Construction

At the most basic level, a CORBA server provides services to CORBA clients, often many simultaneously. The CORBA server development process is similar to CORBA client development.
server development process
Server development process: 1) IDL file, 2) IDL pre-processor, 3) Skeleton, 4) CORBA Server/Implementation
As a result of running the interface definition through an IDL precompiler, Skeleton and other support files are produced. The server or Implementation developer then writes the interface implementation code.
The server-side Skeleton plays a role that is similar to a client-side Stub.
server skeleton
server skeleton

The Skeleton accepts CORBA requests, performs any tasks related to data marshalling, and forwards the request to the associated CORBA server. The Skeleton performs in reverse order to handle any CORBA replies from the server.
You may have noticed in the above image an Object Adapter. The Object Adapter (which most vendors have implemented as the Basic Object Adapter, or BOA) is an ambassador between the ORB and the server. The CORBA specification has also added a section describing a new Portable Object Adapter (POA).

The Object Adapter helps CORBA servers by:
  1. Assisting servers as they register their services to the ORB
  2. Generating a unique ID called CORBA Object Reference for the server
  3. Enabling client requests to correctly find their way to the server
  4. Activating or deactivating the server, as required
At this point, you should have a good foundation of understanding regarding CORBA clients and CORBA servers. In the following lesson, we will take a different point of view on these topics and look at things as they relate to the ORB.

Corba Server - Exercise

This exercise will let you evaluate your understanding of the CORBA server development process.
Corba Server - Exercise