Основной принцип заключается в инициализации и поддержки соединения при помощи web-сервера, а именно в данном примере будет использоваться Internet Information Services — проприетарный набор серверов для нескольких служб Интернета от компании Майкрософт. Не будем останавливаться на установке и настройки web-сервера. Это будет рассмотрено более подробно в следующих статьях.
Основная база будет соединяться с web-сервером и с помощью web-сервиса использовать кешированное COM-соединение. На скриншоте ниже приведен общий алгоритм работы.
Примущество данной схемы работы в том, что COM-соединение устанавливается лишь один раз. И при очередном обращении к какой-либо функции служебной ИБ будет использоваться закешированное соединение. Таким образом достигается существенная экономия трафика и времени.
В качестве примера создания web-сервиса воспользуемся Visual C#. Опишем основные моменты.
Для инициализации COM-соединения создадим специальный класс в проекте VS и присоединим его к нашему проекту Web-сервиса. Ниже показана программная реализация этого класса.
Проект Web-сервиса также будет содержать класс приложения. Этот класс назначим глобальным и он будет проводить начальную инициализацию COM-соединения. В модуле события старта приложения укажем следующий код:
Сам код модуля WEB-сервиса выглядит следующим образом:
В рабочую конфигурацию добавим объект метаданных WEB-ссылка, в которой укажем описание WSDL.
Для работы с данной WEB-ссылкой напишем специальную процедуру
Анализируя производительность, могу отметить, что она выросла в 25 раз. по сравнению с предыдущим методом получения COM-соединения. И чем объемнее будет база, тем более ощутима будет эта разница.