OMG IDL is an ISO International Standard, number 14750. Check it out here . Or, you can download it from OMG's website, here where it's Chapter 3.
Encapsulation is the principle of object-orientation that enables seamless distribution.
By encapsulating the internal structure and mechanism of our objects inside a boundary that the client is not allowed to penetrate, we gain not only flexibility but also a simplicity of architecture that could not be achieved any other way. We use OMG IDL to define the interface that sits on the outside of the boundary, allowing the only communication that the object conducts with the outside world. For distribution to work in this architecture, we need to define interfaces that both client and server object understand and can use easily, regardless of their platform, operating system, programming language, network connection, or other characteristics. An interface definition must specify the operation to be performed, and all of the input and output parameters with their types, allowing client and server to encode and decode values for their travel over the network. And finally, since it's always possible for something to go wrong when we make an invocation, the language should support robust exception handling.