Книга: Разработка интерфейса прикладных решений на платформе "1С:Предприятие 8"
Назад: Настройка состава форм на начальной странице
Дальше: Глава 4.2. Инструменты, используемые при оптимизации клиент-серверного взаимодействия

Часть 4. Оптимизация клиент-серверного взаимодействия в формах

Глава 4.1. Общие рекомендации по оптимизации клиент-серверного взаимодействия

Форма должна быть «легкой», доступной в веб-клиенте и работать максимально быстро даже при использовании низкоскоростных каналов связи. Данные формы присутствуют как на клиенте, так и на сервере и автоматически синхронизируются при клиент-серверном взаимодействии.

Передача данных между сервером и клиентом происходит во многих случаях – например, при открытии формы и записи данных платформа сама преобразовывает прикладные объекты в данные формы и обратно. При контекстных вызовах процедур модуля формы все изменения данных формы и ее элементов платформа передает на сервер и обратно, и т. д.

Однако нужно понимать, что любое обращение на сервер – это непростой процесс. Платформа формирует обращение к серверу, передает его по каналу связи, выполняет какие-то действия на сервере, возвращает ответ по каналу связи… При работе тонкого клиента через GPRS каждый вызов сервера занимает примерно 1,5 секунды. Это, естественно, сказывается на быстродействии прикладного решения.

Поэтому разработку прикладного решения необходимо вести с контролем количества вызовов серверных процедур и функций из клиентского кода, а также объема передаваемых данных между клиентом и сервером (трафика).

Общее количество серверных вызовов складывается:

Если рассматривать источник этих вызовов, то существует несколько категорий серверных вызовов:

Таким образом, разработчику при проектировании клиент-серверного взаимодействия в конфигурации нужно стремиться минимизировать количество вызовов сервера, которые он инициирует своим кодом.

Также разработчику нужно оптимизировать не только количество вызовов, но и объем передаваемых данных между клиентом и сервером (трафик). Неэффективность решения особенно будет заметна при работе через низкоскоростные каналы связи. Чтобы визуально оценить скорость работы на плохом канале связи, рекомендуется запускать клиентское приложение в , а в параметрах системы включать .

С другой стороны, нужно минимизировать и объем кода, выполняющегося на клиенте. Это требование продиктовано:

В связи с этим методика оптимизации клиент-серверного взаимодействия базируется на следующих общих рекомендациях:

Важно понимать, что стремление оптимизировать код конфигурации должно иметь разумные пределы. Не нужно слепо следовать инструкциям и впадать в крайности. В погоне за оптимизацией можно сделать программный код совершенно нечитаемым. То есть за приемами оптимизации уже не будет видно собственно самой прикладной задачи, которая реализуется этим кодом.

В этом случае поддержка такого кода станет очень сложным делом. Человек, который не принимал участия в написании этого кода, скорее всего, просто не станет раскапывать этот кладезь оптимизации. А сам разработчик через полгода – год тоже с большим трудом сможет разобраться в том, что же он написал…

Таким образом, нужно искать золотую середину между стройным читаемым кодом и его оптимизацией. Не нужно всегда бездумно стремиться только к одной лишь оптимизации.

Назад: Настройка состава форм на начальной странице
Дальше: Глава 4.2. Инструменты, используемые при оптимизации клиент-серверного взаимодействия