Каждый СОМ-объект существует внутри конкретного сервера. Этот сервер содержит программный код реализации операций, а также данные активного СОМ-объекта. Один сервер может обеспечивать несколько объектов и даже несколько СОМ-классов. Используются три типа серверов:
· Сервер «в процессе» (in-process) — объекты находятся в динамически подключаемой библиотеке и, следовательно, выполняются в том же процессе, что и клиент;
· Локальный сервер (out-process) — объекты находятся в отдельном процессе, выполняющемся на том же компьютере, что и клиент;
· Удаленный сервер — объекты находятся в DLL или в отдельном процессе, которые расположены на удаленном от клиента компьютере.
Преимущества COM
В качестве кратких выводов отметим основные преимущества СОМ.
1. СОМ обеспечивает удобный способ фиксации услуг, предоставляемых разными фрагментами ПО.
2. Общий подход к созданию всех типов программных услуг в СОМ упрощает проблемы разработки.
3. СОМ безразличен язык программирования, на котором пишутся СОМ-объекты и клиенты.
4. СОМ обеспечивает эффективное управление изменением программ — замену текущей версии компонента на новую версию с дополнительными возможностями.
Работа с СОМ-объектами