The Aras.IOM namespace contains classes that allow connecting to a specified Innovator server and interact with it sending to it AML requests and getting back AML responses. Main classes of the namespace are Innovator and Item. An instance of the class Innovator can be thought of as a channel to an Innovator server and contains method for logging\logout with the server, creating instances of class Item, sending raw AMLs to the server plus some convenience methods. Class Item implements a generic Innovator's item that can represent either a request or a response to\from Innovator server.
The namespace is implemented in IOM.dll. There are two versions of the library: for usage from .NET and for usage from COM. Most of namespace's classes provides identical interface for .NET and COM applications except few methods in which cases the differences are explicitly mentioned in comments of the corresponding class method. The major difference between .NET and COM versions of the IOM.dll is dictated by difference in Microsoft implementation of core xml classes for .NET and COM (e.g. XmlDocument in .NET and MSXML2.FreeThreadedDOMDocument40Class for COM). As the result, a .NET application that uses the namespace and linked with the .NET version of IOM.dll should expect that, let's say, property Item.dom has type XmlDocument; similar COM application must reference the COM version of IOM.dll and should expect that property Item.dom has type MSXML2.FreeThreadedDOMDocument40Class.