Within each interface are the specifications for the methods that clients can use to invoke operations from the object or objects that will implement these interfaces. The service module is a grouping of coclasses. A coclass is a design specification of a class and becomes a class after the service module IDL file is compiled. In the service module, coclasses typically implement one or more of the interfaces defined in the access module. When implementing those interfaces, you can add decorations to the interfaces, methods and parameters.
Decorations describe a portion of the implementation details for how a coclass becomes a class.
For example, a decoration can provide information to the KIDL Compiler that a certain interface is going to have a Java access layer that supports calls from Java application components. Implementation details are not specified in the access module to simplify extension building and to support multiple interface implementation. Multiple interface implementation allows for different implementations of the same interface. It is easier to assign decorations on a coclass basis, rather than define two interfaces, which would appear identical to the application component layer. For example, you could define two coclasses that implement the same interface, but implement that interface in different ways.