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 |
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