CORBAServerProject.cpp
Технология CORBA Пример 1. Тестирование CORBA-соединения клиента с сервером
Рассмотрим создание примитивной клиент/серверной ИС, состоящей из: · CORBA-сервера, приветствующего обратившегося к нему CORBA-клиента; · CORBA-клиента, способного подключаться к CORBA-серверу.
Построение CORBA-сервера
Для построения CORBA-сервера нужно запустить мастера CORBA Server командой File | New | Other | Multitier | CORBA Server (рис. 1).
Рисунок 1
Когда мастер создания сервера запущен, он ожидает от программиста некоторой дополнительной информации (рис. 2): 1. Какого рода CORBA-сервер следует создать: консольное приложение (опция Console Application) или оконное (Window Application)? Не лишне напомнить, что сервер CORBA - это программа, производящая экземпляры объектов и уведомляющая об этом все заинтересованные программы-клиенты.
Рисунок 2
2. Имена IDL-файлов с описанием интерфейсов объектов (кнопка Add) либо, если отметить кнопку Add New IDL File, мастер сам создаст пустой IDL-файл и добавит его в проект. После нажатия кнопки OK генерируется новый проект, и в окне редактора открывается пустой IDL-файл. Следующим действием разработчика будет описание интерфейса объекта калькулятора на языке IDL (рис. 5.3).
Рисунок 3 Сохраним полученное описание в файле с именем User .idl. Теперь можно создать интерфейс пользователя, как показано на рис. 4.
Рисунок 4
В элемент управления Memo 1 будет заноситься строка приветствия подключившегося к CORBA-серверу клиента. Сохраним проект под именем CORBAServerProject. Для создания импортируемого сервером объекта выполним команду File | New | Other | Multitier | CORBA Object Implementation для запуска соответствующего мастера (рис. 5).
Рисунок 5 Запущенный мастер собирает необходимую для генерации кода информацию (название файла описания объекта на IDL и имя реализуемого интерфейса) и отбражает на экране диалоговое окно (рис. 5.6).
. Рисунок 6
В поле I nterface Name следует выбрать из выпадающего списка имя интерфейса User :: Welcome; это приведет к автоматическому заполнению имени класса объекта и модуля, которые будут сгенерированы мастером CORBA Object Implementation. Имя самого объекта WelcomeObject проставляется в поле Object Names. В самом низу диалоговой панели в левой ее стороне находится кнопка Show Updates. Со включенной кнопкой Show Updates программист получает возможность видеть все изменения в проекте, происходящие при генерации новых файлов и автоматической модификации уже имеющихся исходных текстов. После нажатия на кнопку Ok появляется окно (рис. 7), в котором слева отображается список всех произошедших во время работы мастера действий, тогда как в правой панели находятся исходные тексты, являющиеся результатом подобных действий. Рисунок 7
Эта панель - полноценный редактор, в котором можно тут же внести изменения. Если то или иное действие мастера программиста не устраивает, он может просто отключить кнопку напротив его названия в левой панели. И действие будет отменено. Создавая калькулятор, нужно найти действие с именем WelcomeImpl:: Hello (в левой панели), переключиться на него и внутрь пока еще пустого (в правой панели) метода Hello внести код приветствия. Заметим, что для успешной компиляции этого кода в модуль нужно добавить заголовочный файл формы # include " CORBAServerUnit . h ", а ссылку extern TForm1 *Form1;. Осталось построить проект (рис. 8).
Рисунок 8 CORBAServerProject.cpp #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- #include "WelcomeServer.h" #include <corba.h> USEFORM("CORBAServerUnit.cpp", Form1); //---------------------------------------------------------------------------
Популярное: Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (206)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |