Для всех примеров CORBA нужно иметь правильно установленный VisiBroker. Для запуска примеров необходимо запустить VisiBroker SmartAgent, а затем - сервер CORBA.
Для запуска клиентских приложений на компьютере должны быть соответствующие run-time библиотеки. Все CORBA-примеры написаны на С++ Builder, поэтому, если у вас установлен С++ Builder, все run-time библиотеки у вас уже есть. Об установке этих библиотек можно прочесть в документации к соответствующим продуктам.
Для работы примеров СОМ+ вам понадобится в качестве сервера Windows2000 или любая другая Windows с установленным MTS. Для упрощения установки можно воспользоваться входящими в состав примеров СОМ+-приложениями, которые позволяют автоматически проинсталлировать все необходимые серверные файлы. Инсталляторы выполнены как MSI-файлы, новый формат инсталляционных файлов, введенный в Windows2000, и для их работы под другими версиями ОС требуется Microsoft Windows Installer версии 1.1 или выше. Эту версию можно взять из январского SDK или здесь (Windows Installer 1.1 для Windosw 9x и NT), здесь (Windows Installer 1.1 для Windosw 9x) или здесь (Windows Installer 1.1 для Windosw NT). Если Windows Installer уже установлен, достаточно просто запустить на выполнение соответствующий .MSI-файл.
В каждом приложении имеются два файла. Один из них имеет суффикс Proxy. Этот файл устанавливается на клиентских машинах. Другая часть (сервер) может быть запущена только на W2K. Если вы используете МТС с другой версией Windows, регистрировать приложения придется вручную. Внимательно прочтите комментарии, которые находятся в исходных файлах этих проектов. После инсталляции proxy необходимо заменить имя компьютера в COM+-приложении. Для упрощения инсталляции на нескольких компьютерах и на не W2K-компьютерах можно установить серверную часть на W2K-компьютере и самостоятельно сгенерировать proxy, выбрав опцию Export из контекстного меню приложения в консоли COM+ Services. При этом имя компьютера будет помещено в proxy, и на клиенте ничего изменять не придется.
Пример, демонстрирующий использование Naming Service в CORBA и реализацию аналогичной функциональности базовыми средствами СОМ.
В обоих примерах создается три экземпляра одного класса, и клиенты получают указатели на них с помощью определенного идентификатора. В CORBA это строковое имя объекта, а в СОМ - числовой индекс. У каждого экземпляра объекта есть свой счетчик и метод, который увеличивает счетчик на единицу и возвращает его значение клиенту. Из клиентских приложений хорошо видно, что они имеют указатели на одни и те же экземпляры объектов.
Пример СОМ состоит из двух классов, находящихся в одной библиотеке, созданной на VC с использованием ATL, и клиентского приложения, написанного на VB. Один из классов создан как singleton, т.е. при попытке его создания всегда возвращается указатель на один и тот же экземпляр. Второй класс создается в трех экземплярах, указатели на которые помещаются в массив. Клиент вызывает метод первого объекта, передает ему номер объекта и получает указатель на нужную копию. Каждый экземпляр второго класса содержит счетчик, который (если классы правильно зарегистрированы) может быть увеличен любым клиентским приложением. Чтобы убедиться в работоспособности примера, запустите две копии клиентского приложения на разных машинах и понажимайте кнопки.
CORBA-приложение состоит из двух исполняемых модулей, клиентского и серверного. Сервер создает POA, три серванта и регистрирует три объекта.MyObject_1, MyObject_2 и MyObject_3. Клиентское приложение получат ссылку на эти объекты с помощью Naming Service.
Это тест на производительность, результаты которого приведены в статье Тестирование CORBA и COM. Подробнее о нем можно узнать из комментариев в статье и в исходных текстах.
Этот пример демонстрирует передачу сложных типов данных через any в CORBA и VARIANT в СОМ. Клиенту передаются различные типы данных. Клиентское приложение динамически определяет описание типа данных, преобразует его в текстовое псевдоописание и выводит его вместе с самими данными.