Добавить в закладки могут только зарегистрированные пользователи.
Между толстым нативным клиентом и веб-приложением 

Максим Кайнер02 июня 2015 г. 17:05

Компании-разработчики корпоративного ПО, в том числе на рынке ECM, вынуждены выбирать между разными вариантами клиентов своих систем. Их выбор определяют требуемая производительность и функциональность, ожидания конечных пользователей и удобство приложений, даже стоимость и окупаемость разработки.

Некоторые системы (например, Docsvision, «Дело») имеют десктоп-клиент в качестве основного пользовательского. Другие («Тезис», ELMA) работают через веб-интерфейс. Для таких систем, как DIRECTUM и «1С:Документооборот», характерно наличие функциональных, более или менее равноценных десктоп- и веб-приложений.

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

Ключевые используемые определения

Нативный клиент — приложение, разработанное специально под конкретную операционную систему, позволяющее использовать максимум программных и аппаратных возможностей ОС и устройства. Десктоп-клиент — нативный клиент для настольного компьютера.

Веб-приложение — приложение, в котором клиентом выступает браузер, а сервером — веб-сервер. Как правило, в секторе корпоративного ПО веб-приложения насыщены функциональностью нативных приложений, которая реализована либо за счет уникальной специфики браузера, либо через плагин, либо в специально выделенной среде безопасности (песочнице).

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

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

Классические нативные десктоп-клиенты

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

●    пользователи работают в привычном интерфейсе, свойственном конкретной оболочке операционной системы;

Источники изображений: directum.ru, pixshark.com

●    приложение легко интегрируется с прочими нативными приложениями и системным программным обеспечением. Для корпоративных систем важна интеграция с офисным пакетом, почтовыми клиентами, мессенджерами и т.д., может быть востребован доступ к микрофону, камере, прочим периферийным устройствам;

●    кроме того, толстые клиенты снимают часть нагрузки с серверов и со слоя бизнес-логики (при его наличии).

И ряд недостатков:

●    жесткая привязка приложения к операционной системе, отсутствие кроссплатформенности;

●    трудности, связанные с локальной установкой, а также с обновлением клиента;

●    сложность с предоставлением удаленного доступа к данным.

Альтернативой нативному клиенту является веб-приложение.

Плюсы и минусы веб-приложений

Веб-приложения — кроссплатформенные клиенты по определению. Пользователю достаточно иметь устройство с установленным браузером, чтобы начать работать в корпоративной системе. В этом заключается основное преимущество по сравнению с нативными клиентами.

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

Для преодоления этого ограничения приходится либо использовать возможности дополнительных платформ, либо устанавливать плагины и агенты (как минимум в песочницу браузера). Появляется возможность реализовывать практически полностью идентичный десктопному UI-функционал (в частности drag-and-drop, вывод контекстного меню по клику правой кнопки мыши и т.д.). Часть вычислений может выполняться на машине пользователя без отправки на сервер, и в целом лучше балансируется нагрузка на ресурсы клиента и сервера. Движок клиента может взаимодействовать с сервером, не дожидаясь действий пользователя (к примеру, обновлять список входящих в режиме реального времени).

За плюсы веб-приложений приходится платить следующими ограничениями:

●    ввиду унификации приложение в большей или меньшей степени инородно на любой платформе;

●    скрипты и движок приложения должны загружаться в рабочие папки браузера при подключении, что замедляет работу с системой;

●    при запуске скрипта на стороне клиента теряется производительность;

●    разворачивание клиента в песочнице браузера приводит к ограничениям использования системных ресурсов и устройств; могут возникнуть сложности с интеграцией с МФУ, сканерами, сторонним софтом для редактирования документов разных форматов и т.д.

Нативный тонкий, но «богатый» клиент

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

Существенно упростится настройка клиента с точки зрения пользовательского интерфейса, интеграции и взаимодействия с устройствами и другим ПО.

Источники изображений: rx.directum.ru, www.teachucomp.com

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

В итоге имеем нативный тонкий, но «богатый» клиент, работающий через интернет, прекрасно применимый в том числе для подключения пользователей к облачным решениям, как правило, предоставляемым по SaaS-модели. Клиент обеспечивает высокий уровень мобильности и возможность организации как удаленной, так и территориально распределенной работы. Легкость установки и обновления клиента усилит преимущества SaaS, так как администрирование даже на уровне пользователя сведется к минимуму.

Нативный тонкий, но «богатый» клиент можно признать искомой золотой серединой, таким пользовательским приложением, которое вобрало в себя качества и классического десктоп-, и веб-приложения. В качестве примера реализации подобного клиента можно привести облачное решение DirectumRX.

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

 

Источник:  ECM-Journal

Тип: Статьи

 (5,00 - оценили 5 чел.)

Комментарии
  • Сохранить комментарий
  • Цитировать выделенное
  • Предпросмотр