# JavaTM IDL
Technology
Documentation

J2SETM v.1.4.1 Documentation Contents Changes in CORBA (JavaTM IDL, Java RMI-IIOP) Features Between J2SE 1.3 and 1.4.1

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

- Java IDL FAQ

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

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

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

- Example: Interoperable Naming Service
- Example: Callback Objects *not updated

## 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 org.omg.CORBA - provides the mapping of the OMG CORBA APIs to the Java[tm] programming language
- package org.omg.CosNaming - provides the naming service for Java IDL
- package org.omg.PortableServer - provides classes and interfaces for making the server side of your applications portable across multivendor ORBs
- package org.omg.PortableInterceptor - provides a mechanism to register ORB hooks through which ORB services can intercept the normal flow of execution of the ORB
- package org.omg.DynamicAny - provides classes and interfaces to enable `Any` values to be dynamically interpreted (traversed) and constructed through `DynAny` objects
- 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.

Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved. Send questions or comments to: rmi-iiop@sun.com. |