| Documentation Contents

# JavaTM IDL

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

## Overview

- CORBA and the Java Programming Language
- Java Developer Connection: Introduction to CORBA
- Distributed Application Concepts
- Glossary
- POA - Portable Object Adapter
- Portable Interceptors **Advanced Topic**
- INS - Interoperable Naming Service

## API Specification

- 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

## Tutorials and Programmer's Guides

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

> - Portable Interceptors
> - Using Servant Activators
> - Using Servant Locators
> - Using Adapter Activators

> ### Programming Guides

> - Exceptions
> - Initialization
> - Naming Service
> - Dynamic Skeleton Interface
> - Mapping IDL to the Java Programming Language

> ### Additional Sample Applications

> - Sample Code for Hello World provides the code for all created and generated files used in the POA server-side model tutorial
> - Example: Interoperable Naming Service
> - Example: Callback Objects

## API Enhancements

- Changes in CORBA (JavaTM IDL, Java RMI-IIOP) Features Between J2SE 1.4.x and 5.0

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

## More Information

> The CORBA Home Page

> 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.pdf. 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://forums.java.sun.com.

Copyright © 1995-2010 Sun Microsystems, Inc. All Rights Reserved. Please send comments using this Feedback page. | Java Technology