1 Introduction
1.1 Introduction
In Windows, many applications and libraries call each other using COM. COM, short for Component Object Model, is Microsoft's technique for component software and distributed computing. COM enables code to be called across language boundaries. For instance, a Visual Basic program can call modules and classes written in C++, and vice versa.
Comet is a module for Erlang, that enables Erlang programs to call COM objects.
This document describes Comet and its possible applications. However, some knowledge of COM is assumed. Please check the list of recommended reading below for tips on books on COM.
1.2 Architecture
Comet is a module that consists of two parts: a genserver, called erl_com, that implements the Erlang part of Comet, and a port driver erl_com_drv, that implements the C glue. The port driver is also available as a port program with the same API from Erlang.
Since COM is a Windows-specific technology, Comet is only available on Windows.
Erlang can only call other COM-servers, Comet does not currently provide for creating COM-objects written in Erlang. This might be included in later versions. Thus Comet is a COM-client only.
1.3 Prerequisites
Basic knowledge of COM and Windows programming is assumed.
1.4 Where to Find More Information
More information on COM can be found in:
- Microsoft documentation http://www.microsoft.com/com/
- Inside COM, by Dale Rogerson (ISBN: 1572313498)
- Essential COM, by Don Box (ISBN: 0201634465)
- Mastering COM and COM+, by Rofail and Shohoud (ISBN: 0782123848)