Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
HOR / TOTAL.DOC
Скачиваний:
8
Добавлен:
16.04.2013
Размер:
312.83 Кб
Скачать

7.3. Клиент объекта.

Объект для клиента изначально создается экспертом. При этом все методы и свойства в точности совпадают с исходным. Так, метод BookInfo описан следующим образом:

functionTILibrary.BookInfo(Param1: Integer;

var Param2: string): string;

var

RequestHeader: TRequestHeader;

RequestHelper: TRequestHelper;

begin

RequestHeader := TRequestHeader.Create;

RequestHeader.Operation := ‘BookInfo’;

RequestHeader.Body.PutLong(Param1).PutString(Param2);

RequestHelper :=

SmartObjRef.SendRequest(RequestHeader);

RequestHelper.WaitForReady;

RequestHelper.ReplyHeader.Body.

GetString(Result).GetString(Param2);

RequestHelper.Free;

end;

Объект RequestHelper специально разработан для упрощения манипуляций запросами. Его методWaitForReady автоматически ожидает выполнения запроса, либо истечения промежутка времени, заданного в настройках системы. Полученный код можно использовать для осуществления вызовов удаленного объекта.

7.4. Окончательный результат.

Дополнительно в код приложения - сервера объекта можно добавить подпрограммы, позволяющие визуально контролировать происходящее на сервере, а в код клиента - соответственно средства для визуального управления удаленным объектом. Эта часть приложений здесь не описана ввиду отсутствия их значимости для технологии распределенных объектов. Внешний вид промежуточных этапов и окончательного приложения - сервера объекта показан на листе 7, а приложения - клиента - на листе 8.

Явным недостатком в полученной реализации является отсутствие динамики в управлении распределенным объектом. Если с одного клиентского места осуществить некоторые изменения, то другие клиенты, работающие с объектом никак об этих изменениях не узнают и могут продолжать работать с недостоверной информацией. Избежать такой ситуации можно только созданием в клиентском приложении объекта, который будет, например, иметь метод ServerChanged, и передачей этого объекта серверу приложения. Сервер при изменении данных будет посылать уведомление клиенту. При это роли взаимодействующих приложений поменяются - клиент станет сервером и наоборот. Фактически данный механизм будет представлять реализацию системы событий, но в распределенном варианте. Альтернативой является использование сервиса событий(Event Service), который определен в стандартеCORBA, но на данный момент не реализован. Этот сервис представляет из себя централизованную реализацию описанного механизма сообщений.

8. Анализ конкурентоспособности программного продукта.

8.1. Введение.

Для того, чтобы можно было прогнозировать успех написанного программного средства, необходимо оценить его конкурентоспособность. При оценке конкурентоспособности учитываются следующие характеристики системы.

Система Haron написана на языкеC++, что предполагает относительную легкость переноса на разные платформы в будущем. Имеющийся вариант работает под управлением операционной системыWindows NT версии 4.0 и разработан при помощи интегрированной среды разработкиBorland C++ версии 5.0. Специализированное для языкаObject Pascal отображение библиотеки разработано при помощи интегрированной среды разработкиBorland Delphi версии2.0.

Соседние файлы в папке HOR