Chair for Computer Aided Medical Procedures & Augmented Reality
Lehrstuhl für Informatikanwendungen in der Medizin & Augmented Reality

DWARF Corba Tutorial

This is a collection of links and informations that give an overview of CORBA for DWARF programmer. You should be familiar with basic programming concepts.

Getting started

  • Dive into this tutorial: Design and Practical Guideline to a Corba-based Communication Framework
    • The scope of this tutorial are the presentation of important CORBA principles, mechanisms underlying the DWARF middleware and a basic command of both of them. This tutorial is a starting point into the world of CORBA and DWARF meant for beginners and not for skilled software engineers looking for into the depth coverage.
    • To try it out, check out a copy of the DWARF CVS and prepare it as in the DwarfBuildTutorial.
    • The source code for the CORBA lessons are in src/tutorials/corba .

What are Distributed Systems ?

"A distributed application is an application that consists of a set of cooperating, interacting functional units. Reasons to distribute these functional units are potential parallelism during the execution, fault tolerance, and inherent distribution of the application domain"

An overview can be found in the Lecture Notes to "Distributed Systems" (Prof. Schlichter), (pdf version). This introduction to distributed systems is easy to understand and surprisingly high-level, with extremely low information density .

A distributed system is "One on which I cannot get any work done because some machine I have never heard of has crashed.'' (L. Lamport)

What is CORBA ?

The Object Management Group (OMG) has developed an architecture and specification for object technology use, management, interworking (the exchange of data between object models), and interoperability (the means of message exchange between object request brokers). Products which are developed in compliance with this architecture and specification include an Object Request Broker (ORB) which enables objects to transparently make and receive requests and responses in a distributed environment. In addition to the ORB, products may also supply object services that applications may share. These object services are a collection of services (interfaces and objects) that support basic functions for using and implementing objects, as well as common facilities. Products that conform to this Product Standard include an implementation of the OMG abstract object model. They also supply an implementation of the ORB interoperability architecture that supplies the framework for ORB interoperability.

For Details about the standard, see http://www.opengroup.org/regproducts/orm0.htm . You can find helpful links at http://www.cetus-links.org/oo_corba.html .

Reference Books

External Tutorials

Miscellaneous material

Programming CORBA


Different ORB Implementations

There are lots of free and commercial ORB implementations out there. This is what we use and recommend:


OmniORB is a robust, high-performance CORBA 2 ORB, developed by AT&T Laboratories, Cambridge.


  • JavaORB; OpenORB is the successor of JavaORB. It is designed to provide a new generation of ORB. OpenORB is compliant with the CORBA 2.4 specification and is ready for CORBA 3.0. It has revolutionary features and incredible performances. OpenORB is now being tested and will be available as a part of the Exolab.org OpenSource initiative very soon.


What is a "Notification Service"?

A program that is responsible for sending events back and forth.

-- AsaMacWilliams - 29 Sep 2003

Edit | Attach | Refresh | Diffs | More | Revision r1.9 - 17 Mar 2005 - 20:59 - NikolasDoerfler

Lehrstuhl für Computer Aided Medical Procedures & Augmented Reality    rss.gif