новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума

COM-соединение при поддержке WEB-сервиса

  • Добавить свою публикацию
  • для этого требуется регистрация

Основной принцип заключается в инициализации и поддержки соединения при помощи web-сервера, а именно в данном примере будет использоваться Internet Information Services — проприетарный набор серверов для нескольких служб Интернета от компании Майкрософт. Не будем останавливаться на установке и настройки web-сервера. Это будет рассмотрено более подробно в следующих статьях.

Основная база будет соединяться с web-сервером и с помощью web-сервиса использовать кешированное COM-соединение. На скриншоте ниже приведен общий алгоритм работы. 

Изображение

Примущество данной схемы работы в том, что COM-соединение устанавливается лишь один раз. И при очередном обращении к какой-либо функции служебной ИБ будет использоваться закешированное соединение. Таким образом достигается существенная экономия трафика и времени.

Пример реализации

В качестве примера создания web-сервиса воспользуемся Visual C#. Опишем основные моменты.

Для инициализации COM-соединения создадим специальный класс в проекте VS и присоединим его к нашему проекту Web-сервиса. Ниже показана программная реализация этого класса.

Изображение

Проект Web-сервиса также будет содержать класс приложения. Этот класс назначим глобальным и он будет проводить начальную инициализацию COM-соединения. В модуле события старта приложения укажем следующий код:

Изображение

Сам код модуля WEB-сервиса выглядит следующим образом:

Изображение

В рабочую конфигурацию добавим объект метаданных WEB-ссылка, в которой укажем описание WSDL.

Изображение

Для работы с данной WEB-ссылкой напишем специальную процедуру

Изображение

Анализируя производительность, могу отметить, что она выросла в 25 раз. по сравнению с предыдущим методом получения COM-соединения. И чем объемнее будет база, тем более ощутима будет эта разница.

Моменты, которые надо запомнить

  • Пока активны сеансы на WEB-сервере, COM-соединение будет хранится кэшированным. Если все сеансы будут разорваны и к серверу не будет обращений в течении нескольких минут, кэш очистится. Чтобы этого не случилось, необходимо предусмотреть регламентное задание, которое будет посылать холостое обращение к серверу для поддержания актуальности кэша.
  • Желательно предусмотреть на сервисе механизм восстановления и инициализации COM-соединения при его случайном обрыве.
  • Любые обращения в WEB-сервису делайте на сервере. так будет повышена надежность системы.


 
0
Читайте также
Как запустить 1С под Windows Vista
Невсегда удается запустить программу 1С
Настройка отказоустойчивой системы
"Отказоустойчивая система, настройка настройка MS SQL"
Специализированная конфигурация "Автоапдейтер"
Конфигурация предназначена для автоматического внесения изменений в другие конфигурация 1С 8.Х
Разработки
1Скрипт-менеджер
"Конфигурация, позволяющая решать проблемы с обслуживанием баз данных в фирмах, использующих MSSQL"
Просмотрщик COM-объектов
Просмотр СОМ-объектов
Программа для фрилансеров
В программе много отчетов, которые позволяют отслеживать состояние текущих дел
Еще от автора
≡ к списку статей