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 |
training-emea@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.
Need More Info?
Feel free to reach us by phone or email anytime of the day.
> View Phone Numbers
> Contact Us Form