CORBA 2.6.1 Programmer's Guide for C++

Chapter 1. Introduction to NonStop CORBA Programming
Chapter 1. Introduction to NonStop CORBA Programming
Before You Begin
Design Activities
Sample Programs
Introduction to NonStop CORBA Components
NonStop CORBA 2.6.1 is an implementation of the Common Object Request Broker Architecture (CORBA) defined and promoted by the Object
Management Group (OMG). Because NonStop CORBA 2.6.1 is based on CORBA 2.6.1 as defined by the OMG, application clients and
components you develop using NonStop CORBA can interoperate with other CORBA servers running on different platforms. For information
about CORBA standards or general CORBA programming information, you should consult the OMG standards themselves or one of the many
books available in the open market.
A distributed object application using NonStop CORBA consists of three types of components:
Object classes
Servers, each of which hosts one or more object classes
Clients, which make use of objects in the servers
The terms client and server refer to roles played by processes, but the same process can be both a client and a server. When a process is
invoking methods on an object, it is acting in the role of a client; when a process receives method requests, it is acting in the role of a server.
The components of a hypothetical application could use NonStop CORBA and other CORBA implementations. Programming language objects
can be any kind of object class supported by the system; for example, a proprietary C++ object class. CORBA objects are objects that
comply with the CORBA standards and are accessible to distributed clients. CORBA objects are conceptual objects that are mapped to
instances of programming language objects. CORBA objects use interoperable object references (IORs) and the Internet Inter-ORB
Protocol (IIOP) to provide location, platform, and language independence.
Before You Begin
To design an application or component, you must understand the following topics:
General principles of object-oriented design
Object features such as inheritance and predefined classes and frameworks
CORBA and related services
You must also understand the following characteristics of NonStop CORBA and related products, which are described in later sections of this
guide:
Advantages and implications of using NonStop TS/MP (Pathway programming environment) server classes and stateless or stateful
request processing. TS/MP server classes are referred to as server pools in NonStop CORBA.
Interfaces and functionality of the vthread or pthread package if your application requires explicit multithreading
If your application has components on multiple platforms or if you are modifying an existing application to use NonStop CORBA, interface
differences between some other CORBA environment and NonStop CORBA
Advantages of database products on NonStop systems
Features of the NonStop CORBA components listed later in this section
For a more specific discussion of design issues, refer to Writing Scalable Applications and Designing Advanced Applications in this guide.
Design Activities
To design a new application or component, you:
Define system requirements. This definition includes not only required services, but also factors such as performance, interoperation with
other systems, and concurrent access to data.
Evaluate available class libraries and frameworks to see what existing software you can use.
Identify new classes required by the application and define the inheritance and usage relationships among the classes.