Programmer's Guide > Using the AOM > Using COM to Access the AOM
  
Using COM to Access the AOM
COM Interface Overview
Arbortext Editor includes a Component Object Model (COM) binding to the AOM. Using this binding, developers on Windows platforms can write programs that use COM to access the AOM or DOM functions supported in Arbortext Editor.
COM should be installed on all Windows systems that are running Arbortext Editor. It is unlikely that your Windows systems will not have COM already installed on them.
When acting as a COM server, Arbortext Editor registers an Epic.Application COM class which implements the _ApplicationN interface (for example, _Application6 — consult the type library for the correct interface version), an Epic.Acl COM class which implements the IAcl3 interface, a number of DOMxxx classes which implement their respective IDOMxxx interfaces, and many other xxx classes that implement their respective Ixxx AOM interfaces.
If you are trying to use COM among different machines, you will need to install DCOM (Distributed Component Object Model). Extensive information on both COM and DCOM is available from the Microsoft Developers Network (MSDN) web site at msdn.microsoft.com.
The Arbortext Editor COM interface to the DOM portion of AOM uses the COM binding defined by Microsoft with changes for DOM Level 2 and Arbortext extensions. However, Microsoft has made several significant extensions to the DOM that are not supported by Arbortext. The definition of the COM classes and methods that Arbortext Editor exports is contained in the type library that is part of the Arbortext-path\bin\editor.exe binary. Developers can use a variety of tools to inspect this type library.
The type library defines multiple versions of many interfaces. When an interface is extended for a given Arbortext Editor or Arbortext Publishing Engine release, a new version of the interface is defined with the version number incremented. For example, the _Application3 interface was introduced with Epic Editor and E3 4.3.
Arbortext Editor or an Arbortext PE sub-process does not need to be running for it to be available to COM. If Arbortext Editor or an Arbortext PE sub-process is not running when a call is made to the Arbortext Editor COM server, it will automatically load and run in the background while servicing the COM call. If a user then uses the Windows user interface to start a Arbortext Editor session, the invisible instance that was running exclusively as a COM server automatically becomes visible and available to the user.