CORBA Glossary

What does an advanced fighter jet have in common with the ATM at your local bank?

The answer is simple: both systems rely on ORBexpress.

As a leader in the development of embedded and real-time communications software, OIS’s ORBexpress middleware solution plays a critical role in many of the world’s most important systems. As ORBexpress is built around the CORBA standard, OIS continues to contribute to the forward development of CORBA to this day.

If you are interested in learning more about CORBA, use our glossary to guide your research.

Below, you’ll find a curated list, covering the most important terms and definitions relating to the CORBA standard.

[ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ]

A

API (Application Programming Interface) An API is a set of functions that can be called to perform actions.
ATM (Asynchronous Transfer Mode) A packet switched network protocol using a pre-established connection route.
Attributes Data that is stored in the object.

B

BOA (Basic Object Adapter) The ORB component that launches servers and accepts notifications about when objects came into existence and when servers are ready to accept incoming requests.
Bus A physical connection between components of a single computer system. Examples include VME, PCI, etc.

C

Callbacks Programming functions that are executed when a specific type of event occurs.
CCM CORBA Component Model
Client An object, component, or application that makes requests for services from other objects, components, or applications – implementation objects or servers. An object, component, or application can be a client for some requests and a server for other requests.
Client/Server model A distributed application architecture where clients are the users of services provided by the servers.
COM Common Object Model
Compiler Software used to translate the text that a programmer writes into a format the CPU can use.
CORBA Common Object Request Broker Architecture is a standard for interoperability in heterogeneous computing environments. It enables applications to cross boundaries of different computing machines, operating systems, and programming languages. It specifies how client applications can invoke operations on server objects.
CORBA Object A “virtual” entity capable of being located by an ORB and having client requests delivered to it. A CORBA object is identified, located, and addressed by its object reference. Within the context of a request invocation, the CORBA object to which the request is sent is called the “target object”.
CORBA Services CORBA Services are the specifications of the objects that provide basic assistance to developers – they augment the ORB. Some services include Naming, Event Notification, Lightweight Logging, Life Cycle, Transaction, and Properties to name a few.
Cross-compiler A compiler that generates code for a different environment than which it is run.
Cross-development Development of a program in one environment (host) which is designed to run in a different environment (target).

D

Data types The description of the kinds of data stored, passed and used.
DCOM Distributed Component Object Model; Networked OLE, a system of software objects designed to support sets of related functions, like sorting, random-number generation, and database searches.
Debugger A tool used by a programmer to identify and fix bugs in a program.
Demarshalling The reverse of marshalling (see marshalling).
Deterministic When the time it takes to do something is finite and predictable, it is deterministic.
Development cycle A typical development cycle involves writing source code, compiling source code into object modules, linking object modules into a binary executable and finally testing and debugging.
Driver Software that is communicated between hardware peripherals and the rest of the system.
DII (Dynamic Invocation Interface) DII defines the client’s side of the interface that allows dynamic creation and invocation of requests to objects. The DII is another way to invoke a server’s operations without using the stub. (See definition for stub.)

E

Embedded system Specialized computing devices that are not deployed as general-purpose computers. An embedded system is preprogrammed to perform a narrow range of functions with minimal end user or operator intervention.
Endpoint Endpoints are arguments that define some of the communication connections used by the components. Each argument is a comma-separated list of endpoints.
End-to-end predictability In a fixed priority CORBA system, end-to-end predictability is defined as respecting thread priorities between client and server for resolving resource contention during the processing of CORBA invocations, bounding the duration of thread priority inversion during end-to-end processing and bounding the latencies of operation invocations.
Exceptions An unexpected event. The event can contain data, may be defined by the language, developer or the CORBA standard. An exception can be returned by the operation as an alternative. It is normally used to indicate an error condition.

F

Fault tolerance The ability of a middleware solution to operate (or continue functioning) in an environment where elements have failed so that service is not interrupted.
Forward declaration Forward declarations in IDL allow an interface to be referenced before it is declared.

G

GIOP (General Inter-ORB Protocol) GIOP specifies a set of message formats and common data representations for communications between ORBs.

H

Hard Real-Time Where the schedulable entity must meet a hard deadline, and if not, the entity fails.
High availability A measure of reliability which is the percentage of time the system is able to produce the required results.
Host The computer system that the developer works directly on.

I

IIOP (Internet Inter-ORB Protocol) IIOP specifies how GIOP messages are exchanged over a TCP/IP network.
.impl .impl on the end of a class name means that it is an implementation of the IDL interface.
Incarnating Incarnating occurs when a C++ class provides a programming language body for a virtual CORBA object.
Inheritance The components that another object inherits. Objects inherit only operations and attributes. Multiple inheritance occurs when an interface inherits from more than one interface.
Instance An instance is the representation of an object implementation being executed.
Interface The interface is a collection of operations that provide services common to object implementations and clients. This includes initializing the ORB and obtaining object references.
IDL (Interface Definition Language) Language that specifies the interfaces of objects independent of any programming language specified by the OMG.
Isochronal A form of data transmission that guarantees to provide a certain minimum data rate, as required for time-dependent data such as video or audio. Isochronous transmission transmits asynchronous data over a synchronous data link so that individual characters are only separated by a whole number of bit-length interval. This is in contrast transmission, in which the characters may be separated by arbitrary intervals, and with synchronous transmission.
IOR (Interoperable Object Reference) An Interoperable Object Reference is the equivalent of a distributed, network smart, location transparent pointer.

L

Library A collection of subroutines.
Load Balancing The ability of distributed applications to disseminate workloads as needed.
Location transparency The client does not know whether the target object is local to its own address space, is implemented in a different process on the same machine or is implemented in a process on a different machine.

M

Marshalling Marshalling is the way the ORB converts a request or a reply into a platform independent data form that can be transferred across the network.
Message A user-definable structure containing data being passed between processes.
Message Queue An ordered list of data or messages.
Middleware Middleware creates the illusion of multiple servers behaving as one computer system. Alternatively, software that allows more than one application to share information seamlessly.
MIDI Musical Instrument Digital Interface; a way of communicating instructions for playing music from one electronic device to another (ex. – computer to synthesizer to musical instrument)
Module A module is a group of interfaces and provides a name space for a group of objects. You can collectively refer to objects enclosed in a module.
MOM Message Oriented Middleware is a client/server infrastructure that increases the interoperability, portability, and flexibility of an application by allowing the application to be distributed over multiple heterogeneous platforms.
Multithread A thread is an activity that is executed sequentially. When more than one thread is executed, the activities are collectively referred to as multithreaded.

N

Naming Service The ORBexpress Naming Service is simply a CORBA server with a standard defined interface. The CORBA specification provides a Resolve_Initial_References as a short cut for obtaining a reference to the naming service. It also allows a way to map easily recognizable names to IORs.

O

Object In object-oriented design or programming, a data item with instructions for the operations to be performed on it.
Object Adapter The Object Adapter is the part of CORBA that defines how to activate a server so it can be used. It provides the server with access to the ORB and generates object references and invokes methods.
Object ID A user or system specified identifier used to “name” an object within the scope of its Object Adapter. Object IDs are not guaranteed to be globally unique, nor are they necessarily unique within a single server process. The only constraint is that each is unique within the Object Adapter where it is created and registered.
Object Implementation An object implementation, also called a server, provides a response to requests for services for other objects, components, or applications. A given object, component, or application can be a server for some requests and a client for other requests.
Object Management Group (OMG) The OMG is a non-profit consortium created in 1989 to promote the theory and practice of object technology for the development for distributed operating systems. The goal is to provide a common architectural framework for object-oriented applications based on widely available interface specifications.
Object Map A table maintained by an object adapter that maps its active CORBA objects to their associated servants. Active CORBA objects are named in the map via Object IDs.
Object Oriented Having to do with or making use of objects; an object in this sense is a component containing both data and instructions for the operations to be performed on that data. In object-oriented programming, these reusable components are linked together in various ways to create applications.
Object Reference An object reference contains all the information about where an object is located and what is needed to communicate with it.
OS (Operating System) Software that controls the computer’s hardware and determines what actions are possible from programs.
Operation An operation is an action that an object performs – the services that clients can invoke. Operations in IDL define a (possibly remote) call that can be made on an object and have zero or more arguments and return values. The definition of the arguments and return values in IDL is called the operation’s signature. Operations can only be specified in IDL.
ORB (Object Request Broker) The ORB communicates requests. It is responsible for identifying and locating objects, handling connections, and delivering data. (see CORBA)

P

Platform A specific implementation of a hardware or software architecture.
POA (Portable Object Adapter) The POA provides fundamental services such as object creation, servant registration, and request dispatching. It allows developers to write fully scalable, high performance server applications.
Process An operating system provided facility for executing a program in a separate address space. Usually executed in parallel with other processes via time slicing or interrupt driven priorities.

Q

QoS Quality of Service

R

RMI RIFF MIDI File (file name extension); RIFF or Resource Interchange File Format is a multimedia file format, the Microsoft equivalent of Amiga IFF format.
RTOS (Real-Time Operating System) An operating system designed for real-time systems.
Real-time system The ability to respond to events predictably and on-time.
Reference A reference is a pointer in C++.
Referencing Domain The Referencing Domain is simply a developer-defined string and represents the developer’s partitioning area. This referencing domain is set by an environment variable and is also passed to the daemons through a command line argument.

S

SAP (Service Access Point) The OSI term for the component of a network address which identifies the individual application on a host that is sending or receiving a packet.
Servant A servant is a programming language entity that implements one or more CORBA objects. Servants exist within the contexts of a server application. In C++, servants are object instances of a particular class.
Server A server (also known as an object implementation) provides a response to requests for services from other objects, components, or applications. An object, component, or application can be a client for some requests and a server for other requests.
Skeleton The server skeleton is generated by the IDL compiler. The server code is how the server operations are accessed.
Soft Real-Time Schedulable entities don’t meet time constraints and may miss a deadline. Upper bounds are soft, and the predictability of non-schedulable entity timeliness is sub-optimal.
Stub The client stub is generated by the IDL compiler. This piece of code allows the client to invoke an implementation object’s services.
Synchronous A means of sending data in which a clocking signal is used and the characters are separated by time intervals, rather than by start and stop bits as in asynchronous transmission.

T

Target A computer system the developer is writing code for. This may or may not be the same platform as the host.
Task In a multi-tasking environment, an independently running program or subprogram. Each task is assigned a task number. Another term is thread.
TCP/IP Transmission Control Protocol/Internet Protocol
Thread A thread is an activity that is executed sequentially. More that one thread can be run concurrently. Another term for thread is task.
Transport Communications mechanism transporting data between client and server.
Typedef In IDL, the typedef statement provides the ability to define a new name for an existing IDL type (basic or composite). This new name is merely a renaming and does not constitute a different type.

U

UML (Unified Modeling Language) A non-proprietary, third generation modeling language. The Unified Modeling Language is an open method used to specify, visualize, construct and document the artifacts of an object-oriented software-intensive system under development. The UML represents a compilation of “best engineering practices” which have proven successful in modeling large, complex systems.

X

XML (Extensible Markup Language) An initiative from the W3C defining an “extremely simple” dialect of SGML suitable for use on the World-Wide Web.