New York
University
Computer
Science Department
Courant
Institute of Mathematical Sciences
POA and CORVAL
Course Title: Application Servers
Course Number:
g22.3033-011
Instructor: Jean-Claude Franchitti Session: 5
Two programs within the Object Management Group
(OMG) were initiated to improve the portability of software developed using the
Common Object Request Broker Architecture (CORBA). The goal of the first of
these programs, the Portable Object Adapter (POA), was to address the weaknesses
in version 2.0 of the CORBA standard that negatively affected the portability
of CORBA server object source code between vendor implementations. Also, the
OMG in cooperation with the Open Group launched the CORBA Validation (CORVAL)
initiative. The focus of this effort was the production of a standard
compliance test suite for CORBA Object Request Broker (ORB) implementations.
This handout summarizes these ventures and their impact on source code
portability.
The POA concept was developed as a replacement for
the Basic Object Adapter (BOA). An object
adapter is the interface software that resides between a server object and
the ORB. Object adapters are responsible for managing the mapping of object
references to a corresponding implementation object (especially important in
systems with multiple active server objects), activation and deactivation of
server objects, and the invocation of methods on server objects in response to
remote requests. Although the OMG envisions the availability of different object
adapters for different environments, the Basic Object Adapter (BOA) was defined
in the 2.0 revision of the standard to provide a baseline level of
functionality for any ORB implementation. However, the standard for the BOA is
ambiguous, containing little or no guidance for object activation and
deactivation mechanisms, event dispatching and method upcalls, and the
interface between the BOA and object implementation skeleton. These ambiguities
have resulted in incompatible variations in implementation of the BOA between
vendors.
The POA provides a facility for the flexible
management of server objects. Instead of providing only one object adapter, the
POA has a root object adapter from which a set of additional POA objects can be
created. Each of these POA objects can be tailored with a set of policies constructed to match the
particular execution characteristics of an individual server object. By
splitting up the job of the object adapter into many discrete objects, the POA
creates a portable mechanism for supporting a wide range of object adapter
behaviors. This architecture creates additional flexibility in the CORBA
architecture.
The CORVAL effort, moreover, was developed to help
both ORB makers and ORB users determine if their products fully adhere to the
CORBA 2.0 standard. The main product of this effort is the VSOrb Test Suite
deployed in a formal branding program in which ORB implementations are
evaluated for conformance and by individual vendors during product development
and testing. The testing ensures that the standard interfaces and functionality
are available from all branded products, enhancing the portability of
applications.
VSOrb conformance testing can be divided into four
groups:
·
OMG
Interface Definition Language (IDL) and language mappings, compiler testing,
·
CORBA
standard Application Programming Interfaces (APIs), and interoperability.
Vendor products and IDL compilers should be tested
for adherence to standard IDL syntax and semantics and for correct mapping of
IDL data structures to corresponding structures in C and C++ according to the
standard mappings. The CORBA APIs, available in C and C++ to the application
programmer as provided by the vendor in libraries, should also be tested. These
interfaces include the ORB, the invocation interfaces, and some of the BOA
interfaces. Finally, the messages generated by the vendor product using the
Internet Inter-ORB Protocol (IIOP) must be examined for adherence to the
standard. IIOP testing ensures that an ORB product will interoperate with
products from other vendors.
These initiatives further enhanced the capabilities
of CORBA as a cross-platform middleware architecture. Furthermore, the POA and
the product testing will assist users in both selecting ORB products which
conform to the CORBA standard and to develop applications portable across
vendor tools. This capabilities increase the degree of reuse of software
components and maximize initial software development investment.
More information regarding the POA and the ORB
portability enhancements can be found at the OMG web site: http://www.omg.org.
Information about the CORVAL effort, VSOrb, is available from the Open Group
web page: http://www.rdg.opengroup.org/public/vsorb/