веб клиент что это такое

Веб-клиент

Веб-клиент — это одно из клиентских приложений системы «1С:Предприятие 8». В отличие от «привычных» клиентских приложений (толстого клиента и тонкого клиента), его не нужно предварительно устанавливать на компьютер пользователя. У веб-клиента нет исполняемого файла. Веб-клиента вы не найдете ни в меню, ни среди исполняемых файлов. Потому он и веб-клиент, что ему для начала работы не нужно иметь никаких файлов на компьютере пользователя.

Веб-клиент, в отличие от толстого и тонкого клиентов, исполняется не в среде операционной системы компьютера, а в среде интернет-браузера (Windows Internet Explorer, Mozilla Firefox, Google Chrome или Safari). Поэтому любому пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база, — и веб-клиент сам «приедет» к нему на компьютер и начнет исполняться.

Веб-клиент использует технологии DHTML и HTTPRequest. При работе веб-клиента клиентские модули, разработанные в конфигурации, компилируются автоматически из встроенного языка «1С:Предприятия 8» и непосредственно исполняются на стороне веб-клиента.

Таким образом, независимо от клиентского приложения (толстый, тонкий, веб-клиент), вся разработка прикладного решения ведется полностью в конфигураторе 1С:Предприятия, серверный и клиентский код пишется на встроенном языке «1С:Предприятия 8».

Работа в интернет-браузере без установки системы на компьютер пользователя

Для работы в режиме веб-клиента требуется веб-сервер, настроенный на работу с «1С:Предприятием 8». Браузер клиента взаимодействует с веб-сервером по протоколу HTTP или HTTPS. Веб-сервер, в свою очередь, взаимодействует с «1С:Предприятием 8» в файловом или клиент-серверном варианте работы.

В качестве веб-сервера используется Apache или IIS.

веб клиент что это такое. Смотреть фото веб клиент что это такое. Смотреть картинку веб клиент что это такое. Картинка про веб клиент что это такое. Фото веб клиент что это такое

Progressive Web Apps

В веб-клиенте реализована поддержка технологии PWA (Progressive Web Apps). Эта технология поддерживается браузерами (как настольными, так и мобильными). Она позволяет создавать веб-приложения, которые выглядят как нативные приложения и работают почти так же быстро, как нативные приложения.

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

Во встроенном языке реализована объектная модель, которая позволяет устанавливать PWA-приложения и обрабатывать события начала и окончания установки.

Аутентификация OpenID Connect

В веб-клиенте реализована поддержка провайдеров OpenID Connect. Для аутентификации в «1С:Предприятии 8», дополнительно к имеющимся способам, пользователи могут использовать свои учётные данные на других сайтах, поддерживающих OpenID Connect аутентификацию.

Веб-клиент на мобильных устройствах

Реализована ограниченная поддержка работы веб-клиента на мобильных устройствах — в браузере Google Chrome под ОС Android и в браузере Safari на iPhone/iPad. Доступны только основные функции веб-клиента.

Источник

Про веб-клиент 1С

Одной из приятных особенностей технологии 1С:Предприятие является то, что прикладное решение, разработанное по технологии управляемых форм, может запускаться как в тонком (исполняемом) клиенте под Windows, Linux, MacOS X, так и как веб-клиент под 5 браузеров – Chrome, Internet Explorer, Firefox, Safari, Edge, и все это – без изменения исходного кода приложения. Более того – внешне приложение в тонком клиенте и в браузере функционирует и выглядит практически идентично.
Найдите 10 отличий (под катом 2 картинки):

Окно тонкого клиента на Linux:

веб клиент что это такое. Смотреть фото веб клиент что это такое. Смотреть картинку веб клиент что это такое. Картинка про веб клиент что это такое. Фото веб клиент что это такое

То же окно в веб клиенте (в браузере Chrome):

веб клиент что это такое. Смотреть фото веб клиент что это такое. Смотреть картинку веб клиент что это такое. Картинка про веб клиент что это такое. Фото веб клиент что это такое

Зачем мы сделали веб-клиент? Говоря несколько пафосно, такую задачу перед нами поставило время. Уже давно работа через Интернет стала необходимым условием для бизнес-приложений. Вначале мы добавили возможность работы через Интернет для нашего тонкого клиента (некоторые наши конкуренты, кстати, на этом и остановились; другие, напротив, отказались от тонкого клиента и ограничились реализацией веб-клиента). Мы же решили дать нашим пользователям возможность выбрать тот вариант клиента, который им подходит больше.

веб клиент что это такое. Смотреть фото веб клиент что это такое. Смотреть картинку веб клиент что это такое. Картинка про веб клиент что это такое. Фото веб клиент что это такое

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

Постановка задачи

Итак, требования к проекту: веб-клиент должен делать то же самое, что и тонкий клиент, а именно:

Клиентский код на языке 1С может содержать в себе серверные вызовы, работу с локальными ресурсами (файлами и т.п.), печать и многое другое.

И тонкий клиент (при работе через веб), и веб-клиент пользуются одним и тем же набором веб-сервисов для общения с сервером приложений 1С. Реализация у клиентов, конечно, разная – тонкий клиент написан на С++, веб-клиент – на JavaScript.

Немного истории

Проект создания веб-клиента стартовал в 2006 году, в нем (в среднем) участвовала команда из 5 человек. На отдельных этапах проекта привлекались разработчики для реализации специфической функциональности (табличного документа, диаграмм и т.д.); как правило, это были те же разработчики, что делали эту функциональность в тонком клиенте. Т.е. разработчики заново писали на JavaScript компоненты, ранее созданные ими на C++.

С самого начала мы отвергли идею какой-либо автоматической (хотя бы частичной) конверсии C++ кода тонкого клиента в JavaScript веб-клиента ввиду сильных концептуальных различий этих двух языков; веб-клиент писался на JavaScript с чистого листа.

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

Первая версия платформы 1С:Предприятие с поддержкой веб-клиента вышла в 2009 году. Веб-клиент на тот момент поддерживал 2 браузера – Internet Explorer и Firefox. В первоначальных планах была поддержка Opera, но из-за непреодолимых на тот момент проблем с обработчиками закрытия приложения в Opera (не удавалось со 100%-ной уверенностью отследить, что приложение закрывается, и в этот момент произвести процедуру отключения от сервера приложений 1С) от этих планов пришлось отказаться.

Структура проекта

Всего в платформе 1С:Предприятие есть 4 проекта, написанных на JavaScript:

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

Особенности разработки

Реализация всего вышеописанного на JavaScript – дело непростое. Возможно, веб-клиент 1С – одно из самых больших client-side приложений, написанных на JavaScript – около 450.000 строк. Мы активно используем в коде веб-клиента объектно-ориентированный подход, упрощающий работу с таким большим проектом.

Для минимизации размера клиентского кода мы вначале использовали свой собственный обфускатор, а начиная с версии платформы 8.3.6 (октябрь 2014) стали использовать Google Closure Compiler. Эффект использования в цифрах – размер фреймворка веб-клиента после обфускации:

Google Closure Compiler очень хорошо работает с объектно-ориентированным кодом, поэтому его эффективность именно для веб-клиента максимально высокая. Closure Compiler делает для нас несколько хороших вещей:

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

веб клиент что это такое. Смотреть фото веб клиент что это такое. Смотреть картинку веб клиент что это такое. Картинка про веб клиент что это такое. Фото веб клиент что это такое

Какие задачи решали/решаем

В ходе реализации проекта мы столкнулись с рядом интересных задач, которые нам пришлось решать.

Обмен данными с сервером и между окнами

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

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

We used Virtual DOM before it became mainstream)

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

Оптимизация работы веб-клиента

Чтобы наш веб-клиент работал быстрее, мы по максимуму стараемся задействовать штатные возможности браузера (CSS и т.п.). Так, командная панель формы (расположенная практически на каждой форме приложения) отрисовывается исключительно средствами браузера, динамической версткой на базе CSS.

веб клиент что это такое. Смотреть фото веб клиент что это такое. Смотреть картинку веб клиент что это такое. Картинка про веб клиент что это такое. Фото веб клиент что это такое

Тестирование

Для функционального тестирования и тестирования производительности мы используем инструмент собственного производства (написанный на Java и C++), а также набор тестов, построенных на базе Selenium.

Наш инструмент универсален – он позволяет тестировать практически любые оконные программы, а потому подходит для тестирования как тонкого клиента, так и веб-клиента. Инструмент записывает действия пользователя, запустившего прикладное решение «1С», в файл-сценарий. В это же время происходит запись изображений рабочей области экрана — эталонов. При контроле новых версий веб-клиента сценарии проигрываются без пользовательского участия. В случаях несовпадения скриншота с эталонным на каком-либо шаге тест считается провалившимся, после чего специалист по качеству проводит расследование – ошибка это или запланированное изменение поведения системы. В случае запланированного поведения эталоны автоматически подменяются на новые.

Инструмент также проводит замеры производительности приложений с точностью до 25 миллисекунд. В ряде случаев мы закольцовываем части сценария (например, несколько раз повторяем ввод заказа) для анализа деградации времени выполнения со временем. Результаты всех замеров записываются в лог для анализа.

веб клиент что это такое. Смотреть фото веб клиент что это такое. Смотреть картинку веб клиент что это такое. Картинка про веб клиент что это такое. Фото веб клиент что это такое
Наш инструмент тестирования и тестируемое приложение

Наш инструмент и Selenium дополняют друг друга; например, если какая-то кнопка на одном из экранов поменяла свое местоположение – Selenium это может не отследить, но наш инструмент заметит, т.к. делает попиксельное сравнение скриншота с эталоном. Также инструмент в состоянии отследить проблемы с обработкой ввода с клавиатуры или мыши, так как именно их он и воспроизводит.

Тесты на обоих инструментах (нашем и Selenium) запускают типовые сценарии работы из наших прикладных решений. Тесты автоматически запускаются после ежедневной сборки платформы «1С:Предприятие». В случае замедления работы сценариев (по сравнению с предыдущей сборкой) мы проводим расследование и устраняем причину замедления. Критерий у нас простой – новая сборка должна работать не медленнее предыдущей.

Для расследования инцидентов замедления работы разработчики используют разные инструменты; в основном используется Dynatrace AJAX Edition производства компании DynaTrace. Проводится запись логов выполнения проблемной операции на предыдущей и на новой сборке, затем логи анализируются. При этом время выполнения единичных операций (в миллисекундах) может не быть решающим фактором – в браузере периодически запускаются служебные процессы типа уборки мусора, они могут наложиться на время выполнения функций и исказить картину. Более релевантными параметрами в этом случае будет количество выполненных инструкций JavaScript, количество атомарных операций над DOM и т.п. Если количество инструкций/операций в одном и том же сценарии в новой версии увеличилось – это почти всегда означает падение быстродействия, которое нужно исправлять.

Также одной из причин падения производительности может быть то, что Google Closure Compiler по какой-то причине не смог сделать inline-подстановку функции (например, потому что функция рекурсивная или виртуальная). В этом случае мы стараемся исправить ситуацию, переписав исходный код.

Расширения браузеров

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

При работе в Safari наши расширения используют NPAPI, при работе в Internet Explorer — технологию ActiveX. Microsoft Edge пока не поддерживает расширения, поэтому веб-клиент в нем работает с ограничениями.

Дальнейшее развитие

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

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

Источник

Web-клиент

Полное описание платформы

Web-клиент – полнофункциональное рабочее место пользователя Docsvision, которое предоставляет доступ к системе через любую ОС (Windows, Linux, Mac OS, iOS, Android) и любой интернет-браузер (Google Chrome, Apple Safari, Яндекс.Браузер, Microsoft Edge, Internet Explorer), без необходимости установки на устройство пользователя приложения или дополнительного ПО.

Интерфейс web-клиента позволяет выполнять в системе все необходимые функции: работать с документами и заданиями, запускать процессы согласования и исполнения/ознакомления, осуществлять поиск по реквизитам и тексту документов, формировать и просматривать отчёты.

Интерфейс web-клиента адаптивный, он подстраивается под размер экрана устройства и позволяет удобно работать как с настольного компьютера или ноутбука, так и с планшета или телефона.

Стартовый дашборд в web-клиенте Docsvision

Стартовый дашборд в web-клиенте Docsvision c мобильного экрана

Web-клиент и возможность online-доступа к системе – базовая функциональность платформы, доступная в любой выбранной редакции Docsvision. Конкурентная пользовательская лицензия для работы посредством web/windows-клиента входит в поставку платформы в числе обязательных модулей.

Работа с документами

В web-клиенте Docsvision реализованы все необходимые функции для работы с электронными документами и со скан-копиями бумажных документов:

Работа с заданиями

В Docsvision встроены инструменты для создания и исполнения заданий, а также для контроля исполнительской дисциплины. Все эти функции доступны в web-клиенте как компьютере, так и на смартфоне:

Поиск

В Docsvision реализованы несколько видов поиска, основные – это атрибутивный поиск по реквизитам и полнотекстовый поиск по тексту файлов. Web-клиент позволяет использовать все эти виды поиска, а также ряд других возможностей:

Профиль пользователя

В web-клиенте пользователь может изменять настройки своего личного профиля:

Источник

Веб клиент 1С

В версии платформы 1С 8.2 появилась возможность установки веб-клиента 1C для того, чтобы доступ к системе был обеспечен всегда. Веб-клиент решил проблему того, что 1С не получалось установить на отдельно взятые компьютеры – часть из них устарела. Также нововведение было полезно тем, у кого в штате не оказалось IT-специалиста – самостоятельная настройка новой версии программы получилась достаточно простой.

Преимущества использования веб-клиента 1С

Преимущества использования веб-клиента для учета доходов и расходов на предприятии:

Новый способ открытия базы данных действительно является достаточно удобным.

Принцип работы веб-клиента 1С

Внешне веб-клиент ничем не отличается от тонкого клиента, за исключением того, что интерфейс 1С открывается в браузере. Для того чтобы получить связь с базой данных, понадобится опубликовать сервер и ввести его адрес в строку. Получить доступ к базе удается за счет технологий HTTPRequest и DHTML.

Передача данных осуществляется по технологии HTTP на сервер, где расположена БД предприятия. Эти данные компилируются, а исполнение всех действий осуществляется на стороне клиента в браузере, установленном на его компьютере. Если веб-версия 1С подходит для работы сотрудников Вашей компании, опубликуйте веб-сервер и настройте его. Для того чтобы процесс был более наглядным, далее будет описан процесс настройки стандартного сервера на базе Windows.

Как настроить и опубликовать веб-сервер

Данный пример поможет разобраться тем, у кого на компьютерах установлена ОС Windows. С ней Вам не понадобятся дополнительные программы для настройки веб-версии. В Вашу систему уже встроен IIS сервер – это сервера для нескольких сервисов Интернета, интегрированные компанией Microsoft.

Настроить работу IIS может любой пользователь, который владеет базовыми навыками работы с системой. Однако в идеальном варианте для настройки стоит выбирать только мощные компьютеры. Иначе он будет забирать большую часть мощности, и тогда запуск браузера и работа в 1С будет более медленной, а компьютер станет менее производительным.

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

В большом списке найдите строку, нажмите на «Службы IIS/Службы интернета», чтобы раскрыть еще один список. Внутри в каждом разделе проставьте маркеры по следующим пунктам.

В разделе «Общие функции HTTP» должны быть отмечены следующие строки:

В разделе «Проверка работоспособности и диагностика» понадобится выделить только две позиции:

Раздел «Компоненты разработки приложений»:

Наконец, в разделе «Средства управления» выберите пункт «Консоль управления IIS».

веб клиент что это такое. Смотреть фото веб клиент что это такое. Смотреть картинку веб клиент что это такое. Картинка про веб клиент что это такое. Фото веб клиент что это такое

Следующий шаг – это публикация веб-сервера после настройки. Установите на компьютер модули расширения веб-сервера 1С. Это действие довольно просто – во время установки 1С нужно отметить пункт с модулями расширения после того, как Вы откроете окно изменение способа установки и установки компонентов.

После этого выполните запуск 1С, открыв режим конфигуратора с правами администратора. В меню выберите раздел «Администрирование», а затем пункт «Публикация на веб-сервере». Платформа самостоятельно просканирует компьютер и найдет образованный сервер. Вам необходимо записать имя образованного веб-сервера и его адрес.

Нажмите кнопку «Опубликовать», и после этого сервер автоматически перезапустится. Для проверки работоспособности системы напишите в браузере http: и после этого цифрами имя сервера и через символ «/» имя базы. Так Вы запустите веб-клиент 1С. Далее дайте доступ всем пользователям (сотрудникам компании) к веб-серверу для чтения и записи. Если не установить права пользователей, на рабочих местах настроить доступ к веб-клиенту 1С не получится.

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

Источник

Шпаргалка по Spring Boot WebClient

В преддверии старта курса «Разработчик на Spring Framework» подготовили традиционный перевод полезного материала.

WebClient — это неблокирующий, реактивный клиент для выполнения HTTP-запросов.

Время RestTemplate подошло к концу

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

NOTE: As of 5.0 this class is in maintenance mode, with only minor requests for changes and bugs to be accepted going forward. Please, consider using the org.springframework.web.reactive.client.WebClient which has a more modern API and supports sync, async, and streaming scenarios.

ПРИМЕЧАНИЕ: Начиная с версии 5.0, этот класс законсервирован и в дальнейшем будут приниматься только минорные запросы на изменения и на исправления багов. Пожалуйста, подумайте об использовании org.springframework.web.reactive.client.WebClient , который имеет более современный API и поддерживает синхронную, асинхронную и потоковую передачи.

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

Отличия между WebClient и RestTemplate

Если в двух словах, то основное различие между этими технологиями заключается в том, что RestTemplate работает синхронно (блокируя), а WebClient работает асинхронно (не блокируя).

RestTemplate — это синхронный клиент для выполнения HTTP-запросов, он предоставляет простой API с шаблонным методом поверх базовых HTTP-библиотек, таких как HttpURLConnection (JDK), HttpComponents (Apache) и другими.

Spring WebClient — это асинхронный, реактивный клиент для выполнения HTTP-запросов, часть Spring WebFlux.

Вам, вероятно, интересно, как можно заменить синхронного клиента на асинхронный. У WebClient есть решение этой задачи. Мы рассмотрим несколько примеров использования WebClient.

Начало работы с WebClient

Предварительные условия

Подготовка проекта

Давайте создадим базовый проект с зависимостями, используя Spring Initializr.

Spring WebFlux является частью Spring 5 и обеспечивает поддержку реактивного программирования для веб-приложений.

Пришло время настроить WebClient.

Настройка WebClient

Есть несколько способов настройки WebClient. Первый и самый простой — создать его с настройками по умолчанию.

Можно также указать базовый URL:

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

Параметры, поддерживаемые WebClient.Builder можно посмотреть здесь.

Подготовка запроса с помощью Spring WebClient

Также можно указать следующие параметры:

Асинхронный запрос

Давайте создадим сервис, который использует бин WebClient и создает асинхронный запрос.

Синхронный запрос

Здесь поток блокируется, пока запрос не выполнится. В этом случае мы получаем запрашиваемую модель сразу же после завершения выполнения метода.

Повторные попытки

Обработка ошибок

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

doOnError() — срабатывает, когда Mono завершается с ошибкой.

onErrorResume() — при возникновении ошибки подписывается на резервного издателя, используя функцию для выбора действия в зависимости от ошибки.

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

Клиентские фильтры

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

Заключение

В этой статье мы узнали, как настроить WebClient и выполнять синхронные и асинхронные HTTP-запросы. Все фрагменты кода, упомянутые в статье, можно найти в GitHub-репозитории. Документацию по Spring WebClient вы можете найти здесь.

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

Удачи с новым Spring WebClient!

Посмотреть запись демо-урока на тему «Введение в облака, создание кластера в Mongo DB Atlas».

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *