Web Services

Orbix 3: CORBA Development - C++ Edition

Target Population: Designed for C++ programmers with an interest in learning how to write distributed applications more productively, or those wishing to use Orbix as a means of integrating existing applications.
Pre-requisites: Basic knowledge of the C++ programming language is essential. Good programming skills will allow a participant to benefit most from the course. Specifically, knowledge of classes, member functions, virtual member functions, static member functions and inheritance are necessary. Knowledge of exceptions is also very useful.
Duration/Format: 4 days. An intensive course involving lectures, exercises, and extensive practical work delivered by an experienced Orbix and C++ programmer.

Course Objectives

On the completion of the course, the participants will be able to:

  • Understand the goals and components of the CORBA standard, and the Orbix implementation in particular.
  • Write simple applications in Orbix, and understand how Orbix combines with the use of object-oriented techniques to ease the writing and maintenance of distributed applications.
  • Write interface definitions in CORBA IDL (Interface Definition Language), and implement clients and servers that, respectively, use and implement these interfaces.
  • Handle errors when invoking operations on remote objects, and define, raise and handle application-specific exceptions.
  • Understand the mapping from IDL to the C++ programming language, and how this affects the management of memory within both clients and servers.
  • Install and manage servers in Orbix.
  • Exploit inheritance in IDL definitions and implement these definitions in C++.
  • Write smart proxies to improve efficiency or increase the richness of client-server interactions.
  • Write loaders to automatically load and store object data to and from persistent storage.
  • Write filters to monitor or control servers and/or objects.
  • Understand the concepts involved in automated code generation, using the code generation tool kit supplied with Orbix.
  • Gain an insight into the uses of firewall security and desktop integration when building your applications, using the Wonderwall and COMet tools.

Detailed Course Content

Introduction to CORBA

  • Overall vision of the Object Management Group and the CORBA standard
  • Benefits of object-orientation to distributed systems
  • Central role of interface definitions in a distributed system
  • Introduction to the Interface Definition Language (IDL) defined in CORBA
  • Introduction to Orbix, a full faithful implementation of CORBA.

Getting started

  • Explanation of a simple client-server example using Orbix
  • How a system similar to the sample can be implemented
  • Laboratory work will allow the course participants to implement a similar system within the first day of the course

Interface Definition Language - IDL

  • An introduction to all features of IDL

Naming and Initialization Services

  • Use of the CORBA Naming Service to locate objects in a distributed application
  • How client objects use the Naming Service to acquire references to remote objects and to translate these into C++ pointers that allow the objects to be used
  • How servers publish available objects to the Naming Service

Implementing an interface

  • Details on how an IDL interface can be implemented in C++, and the options available to a programmer

Implementing a server

  • Details on how objects are created and managed by servers
  • How servers themselves can be registered and run

Exceptions

  • Discussion of system exceptions (such as a communications error) that can be thrown by every remote invocation
  • Development of application specific exceptions (such as 'insufficient_funds' in a banking example)

Interoperability and IIOP

  • Motivation and use of the Internet Inter-ORB Protocol

IDL to C++ Mapping

  • Basic Mapping
  • Object References
  • Complex Types
  • Parameters

Memory Management

  • Implications of data values copied over the network between clients and servers

Type any

  • Role of type any, which can be used in IDL to specify that an operation can take a parameter of any type

Loaders

  • Using Orbix Loaders to implement object persistence

Filters

  • Using Orbix Filters, C++ objects installed in a process' address space so that application code, to get control when particular events (such as a remote operation call being made) occur

Smart Proxies

  • Using Orbix Smart proxies to replace some remote calls with more efficient local calls

Callback objects

  • Detailed examination of implementing a CORBA object in a client, then passing its reference to a server
  • Issues regarding deadlock avoidance and bi-directional IIOP are addressed

Configuring Orbix

  • Installation and programmer level configuration of Orbix

Automated Code Generation

  • Overview of the 'Code Generation Toolkit' supplied with Orbix

Wonderwall™

  • Reflecting the inclusion of firewall security technology WonderwallTM in Orbix

COMet

  • Brief introduction to Windows - CORBA integration technology as specifically realized in IONA's OrbixCOMet product

Product Family

  • IONA's range of products is introduced including a number of CORBA Services and third party integrations

For registration information please contact your local representative:

America

Europe, Middle East & Africa

Asia - Pacific

training-amer@iona.com
800-672-4948

training-emea@iona.com
+353-1-637-2000

training-apac@iona.com

IN TRAINING...

Artix Certification

Artix Developer Certification
Is Now Available!

Our Artix Developer Certification program enables developers to test their Artix knowledge and leverage the full capabilities of Artix.

+ Learn More

Need More Info?

Feel free to reach us by phone or email anytime of the day.

Contact Sales

For pricing and license information please contact a sales representative in your region:
AMER, EMEA or APAC