IDL is an interface-definition language invented by the OMG. It's purpose is to let you describe a remote object's interface in a programming-language-neutral fashion. IDL syntax is similar to Java or C, however, it's not the same! We will not attempt to cover the entire IDL grammar in this course, but just focus in on the basics.
This page shows a simple interface definition in IDL. We use the keyword "interface" to start the definition, followed by an open brace. We must also supply a matching closing brace along with the terminating semicolon.
Inside of the interface, we typically define two sorts of things. The first thing shown here is a method named "scheduleIt" - this method accepts no arguments and returns nothing.
The second line in this interface defines a string attribute named "date". String is a CORBA data type - the IDL compiler must map each CORBA data type to an equivalent language type. In the case of Java, the IDL compiler maps CORBA strings to the Java language strings.
The keyword attribute seems to be a data definition, but it's not: instead, each attribute really corresponds to two methods: a method to retrieve an item of the given type, and a method to modify the item. These two methods are sometimes referred to as "getters" and "setters" or accessors and mutators. The actual implementation must provide the code for both of these methods for each attribute.
While we could spend much more time on IDL, we really can't in a short course like this one. You can find more information about IDL on the OMG web page, which is at www.omg.org.