Java IDL Technology Documentation
Overview
Java IDL technology ("Java IDL") adds CORBA (Common Object Request Broker Architecture) capability to the Java platform, providing standards-based interoperability and connectivity. Java IDL enables distributed Web-enabled Java applications to transparently invoke operations on remote network services using the industry standard IDL (Object Management Group Interface Definition Language) and IIOP (Internet Inter-ORB Protocol) defined by the Object Management Group. Runtime components include a Java ORB for distributed computing using IIOP communication.With which CORBA specifications does J2SE 1.4.1 comply?
Follow the link to this document for more information on Official Specifications for CORBA support in J2SE 1.4.1.Should I use Java IDL or Java RMI-IIOP technology?
This is a fundamental question and it's important to understand the distinction between these two ways of integrating the Java programming language with CORBA.
Java IDL technology is for CORBA programmers who want to program in the Java programming language based on interfaces defined in CORBA Interface Definition Language (IDL). This is "business as usual" CORBA programming, supporting Java in exactly the same way as other languages like C++ or COBOL.
Java Remote Method Invocation over Internet Inter-ORB Protocol ("RMI-IIOP") technology is for Java programmers who want to program to the Java Remote Method Invocation ("Java RMI") interfaces, but use IIOP as the underlying transport. RMI-IIOP provides interoperability with other CORBA objects implemented in various languages - but only if all the remote interfaces are originally defined as Java RMI interfaces. It is of particular interest to programmers using Enterprise JavaBeansTM (EJBTM) technology, since the EJB remote object model is based on Java RMI technology.
Java IDL FAQ
This is a great reference! We've compiled loads of commonly asked questions into one place, so it's easy to search for answers to your questions!
Featured Technology
- POA - Portable Object Adapter
- Portable Interceptors **Advanced Topic**
- INS - Interoperable Naming Service
Tutorials
Most of the tutorials are variations on the basic distributed "Hello World" application.
Introductory-Level Tutorials
The following documents provide introductory-level information on creating applications that use Java IDL. All use the POA-server side model. The differences are in the server implementations.In order to best understand the material, progress through the examples in the order presented here.
Other server-side models may be created using J2SE. If you'd like to use other server- side models, refer to these tutorials. Both of these tutorials use a transient server implementation.
- Introductory "Hello World" example using Java IDL technology
- "Hello World" example with a transient server (same code as above example, less descriptive material)
- "Hello World" example with a persistent server
- "Hello World" example with a POA-Tie (Delegation) server-side model
- "Hello World" example with an ImplBase (Inheritance) server-side model
Intermediate-Level Tutorials
The tutorials listed in this section are for developers who understand the material in the introductory-level tutorials, and are looking for more complex material.
- Using the Interoperable Naming Service
- CORBA Programming with J2SE 1.4: Programming Transient and Persistent Servers
Advanced-Level Tutorials
These tutorials are for experienced developers. The descriptive material is reduced, the sample code is commented for better understanding of the material.
- Enterprise JavaBeans Components and CORBA Clients (click here for pdf version)
- Portable Interceptors
- Using Servant Activators
- Using Servant Locators
- Using Adapter Activators
Sample Code
- Sample Code for Hello World provides the code for all created and generated files used in the POA server-side model tutorial
Other Sample Applications
Concepts
- CORBA and the Java Programming Language
- Java Developer Connection: Introduction to CORBA
- Distributed Application Concepts
- Using CORBA and Java IDL
- Glossary
Programming Guide
- Exceptions
- Initialization
- Naming Service
- Dynamic Skeleton Interface
- Mapping IDL to the Java Programming Language
Essential Java IDL API
- package package package package - provides a mechanism to register ORB hooks through which ORB services can intercept the normal flow of execution of the ORB
- package org.omg.CORBA.ORB - provides APIs for the CORBA Object Request Broker features
Java IDL Tools
- idlj, the IDL-to-Java compiler (command-line documentation)
- orbd - a daemon process containing a Bootstrap Service, a Transient Naming Service, a Persistent Naming Service, and a Server Manager
- servertool - the ease-of-use interface for application programmers to register, unregister, startup, and shutdown a server.
- tnameserv - the Transient Java IDL Naming Service (provided for backward compatibility)
For more information
The OMG is the official source of information for all CORBA and IIOP related information. The CORBA 2.3.1 Specification is available electronically from formal/99-10-07. The URLs for the CORBA specifications may change. If this link is broken, link to http://www.omg.org and search the specifications.
For more information on which OMG specifications are implemented in this release of the Java platform, see the compliance document.
For information on product limitations in this release of the Java IDL/RMI-IIOP technologies, see Java IDL Product Limitations.
For questions, please check the Java IDL FAQ and the user supported forum for Java IDL technology, which is available at http://forum.java.sun.com. For comments please send us email at javaidl@sun.com.