Web Services

Orbix 3: CORBA Development - Java Edition

Target Population: Designed for Java programmers with an interest in learning how to write distributed applications more productively, or those wishing to use Orbix 3.3 - Java Edition as a means of integrating existing applications.
Pre-requisites: Basic knowledge of the Java programming language is essential, as is some Object-Oriented software development experience. Some exposure to distributed system development is preferred.
Duration/Format: 4 days. An intensive course involving lectures, and hands-on exercises, delivered by an experienced OrbixWeb and Java 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, and implement clients and servers that 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 Java programming language and how to approach implementing clients and servers efficiently.
  • Install and manage servers in Orbix.
  • Exploit inheritance in IDL definitions and implement these definitions in Java.
  • Use the CORBA Naming Service to publish and locate CORBA Objects.
  • 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.

Detailed Course Content

Introduction to CORBA

  • Review of the recent history of distributed systems
  • Current trends and challenges in distributed system design and development
  • Explanation of CORBA's strengths and applicability in solving these problems
  • Introduction to the overall vision of the Object Management Group and the CORBA standard
  • Benefit of object-orientation to distributed systems
  • Central role of interface definitions in a distributed system
  • Overview of how distributed object references work in CORBA

OrbixWeb Architecture

  • Introduction to Orbix concepts
  • Structure of Orbix clients and servers
  • Overview of a remote method invocation lifecycle
  • Introduction to the orbixdj daemon
  • Object location overview in an OrbixWeb system

Getting started

  • Explanation of a simple client-server example with Orbix
  • Discussion of which elements are automatically generated by Orbix, and which the application developer must write
  • Overview of basic client usage of the ORB
  • Discussion of the steps involved in implementing a basic Orbix server - implementing servants, writing a server mainline, and registering the server with the daemon

The Interface Definition Language

  • Introduction to the syntax of the OMG Interface Definition Language (IDL), and its Java mapping

Implementing an interface

  • Detailed discussion of how an IDL interface may be implemented in Java, comparing the inheritance (TIE) and delegation (ImplBase) approaches

Factory Objects

  • Introduces the powerful Factory design pattern, and how it's best applied in IDL
  • A discussion of which CORBA objects should be published, and which shouldn't

Implementing a Server

  • Detailed explanation of how objects are created and managed by servers
  • Discussion of how servers themselves can be registered and run

Exceptions

  • Explanation of the mechanics and recommended approaches to defining, raising, and handling exceptions in a CORBA system
  • CORBA system exceptions and application-defined exceptions are discussed

Naming Service

  • The CORBA Naming Service provides a CORBA-compliant method of getting references to remote CORBA Objects
  • Explanation of how the naming service maps human readable names to object references, and how clients look up objects based on their names

Filters

  • Explanation of the motivation behind and the mechanics of filters in Orbix
  • Filters are Java objects installed in a process' address space which hook in to the ORB's processing, permitting application code to be run when specific events (such as a remote method invocation) occur

Smart Proxies

  • Discussion of Orbix smart proxies, which allow a programmer to customize the behavior of Orbix client proxy classes to optimize client performance

Loaders

  • Detailed discussion of Orbix loaders, which support persistent object activation and deactivation

Orbix Code Generation Toolkit

  • An explanation of the powerful code-generation toolkit (CGT), which is included with Orbix
  • The CGT provides the automatic generation of working clients and servers, based on application-specific IDL; and, permits the development of additional scripts for custom code generation solutions

IIOP and ORB Interoperability

  • Discussion of the Internet Inter-ORB Protocol (IIOP), which is used by ORB's to communicate
  • Explanation of the contents of interoperable object references (IORs)

Configuring OrbixWeb

  • Discussion of the Orbix configuration files and APIs

Callbacks

  • Discussion of the callback pattern, where servers make invocations on clients' advantages and disadvantages of this approach

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