1с чем отличается веб интерфейс от тонкого клиента

Обновлено: 01.07.2024

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

чтобы запустить приложение в веб-клиенте нужно включить IIS (встроенный виндовый сервер), опубликовать на нём базу, в параметрах указать режим запуска "веб-клиент" с выбором браузера
в интернете есть статейки со скринами, поищи

(0)поднимай веб сервак (апач или иису), подключай к.л. типовую базу к веб серваку, сморишь на всё это дело

как я поняла, для начала необходимо сделать периферийку на моём компе, потом на моём же компе развернуть сервер IIS?

(2) дай ссылку. мне бы именно пошаговую инструкцию найти.

(4) И с тонким клиентом- мы в компании должны решить, нужен он нам или нет. наверное, не понимаем вполне, что это такое и для чего это нужно.

(8) на диске ИТС была статья как поднять IIS. А так - если не хочешь париться вообще - можешь скачать дистрибутив апача, по дефаулту его поставить - и опубликовать на нем свою базу. Все будет работать по умолчанию. С IIS нужно немножко повозить.

(10) мне IIS нужно развернуть. я там свой wsdl хочу разместить, но это уже другая история. Где взять IIS, он есть в свободном доступе?

(11) какая ОС у тебя сейчас установлена там, где ты хочешь поставить IIS?

IIS не ставиться на Home версии. Для остальный можно скачать с сайта Microsoft.

у нас на аппаче все работает, и через веб и через тонкий клиент. Зачем IIS, и зачем периферийка? или именно задача так поставлена?

(14) У нас распределённая база данных. То есть есть периферийки. Например, страховая компания имеет 20 филиалов в разных городах. Я поняла так, что IIS нужно будет развернуть на каждом компьютере, где стоит периферийка. Так это или нет? Где нужно развернуть IIS? Мне нужно IIS, потому что я работаю с ним по совсем другому заданию. Хочу его развернуть и использовать файл с описанием web - сервиса, но это не имеет отношения к текущему вопросу

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

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

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

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

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

Веб-клиент

Progressive Web Apps

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

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

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

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

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

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

Нужно ли поднимать терминальный сервер, при каких обстоятельствах он будет оправдан?
Или же ограничиться локальными версиями 1с на компьютерах у пользователей?

anthtml

Зависит от ситуации. Что выгоднее гонять траффик по SQL или по RDP. Иногда при тяжелых базах бывает выгоднее организовать скоростное соединение между ТС и СБД, иногда и ЛВС это нормально вывозит. При до 10-15 юзерах, особенно на 1м свиче смысла нет, а если все на vpn или тп, то можно пропробывать Насколько я понимаю, при наличии сервера 1С Предприятия подключается к базе сам сервер, а не клиентское ПО. В таком сценарии использование RDP имхо не имеет смысла.

anthtml

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

Jump

AntHTML, я честно не могу представить себе ситуацию когда данные в графической форме( т.е. в виде RDP картинки ) будет занимать меньше чем в бинарной или текстовой.
Мне понятно почему плохо подключать файловую базу на каналах с высокой задержкой и низкой пропускной способностью.
Можно от часть понять почему плохо подключать SQL базу в такой конфигурации( хотя насколько я понимаю 1С SQL у них не бывает без сервера 1С предприятия ), подобную задачу решают реверс прокси. Плюс вероятно сервер 1С предприятия может получать из базы больше данных чем передает клиенту( например он проводит с ними какие-то вычисления или накладывает фильтры ).
Но чтобы к серверу предприятия доступ по RDP был быстрее?

Да, есть случаи когда RDP нужен не по причине производительности, но вы пишите от трафике, и вот именно это утверждение вызывает сомнения. ИМХО это просто традиция делать 1С через RDP.

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

anthtml

nApoBo3, С сервером 1С особо разницы может и не будет. Смысл в том, что, как сказал АртемЪ, 1С и практически любая БД критична к пингам, а если пинги большие, то и транзакции будут подвисать отнимая время работы сервера и забивая канал доступа. Из-за чего у всех на вроде и неплохом сервере могут наблюдаться тормоза.
А RDP прекрасно параллелится, поэтому 1С моментально отработала запрос к БД и вывела картинку на сервере, а через сколько эта картинка дойдет до глаз пользователя ее уже не волнует, она занимается другой операцией.
Традиция делать 1С на ТС была в эпоху 7.7, когда она тормозила базы, сейчас подобие режима терминального сервера реализовано в связке 1С сервер - 1С тонкий клиент, из-за чего, при нормально написанной конфе, разница в скорости работы снижается

AntHTML,
"1С и практически любая БД критична к пингам, а если пинги большие, то и транзакции будут подвисать отнимая время работы сервера и забивая канал доступа."

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

"А RDP прекрасно параллелится,"

Какое это имеет значение? Если сама 1С не параллелится, то параллельность RDP не будет иметь значения( да и параллельность RDP вызывает большие вопросы, вроде бы да, но это стоит в ресурсах ОЧЕНЬ дорого в расчете на одну сессию ).

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

Каким образов 1С сервер - 1С тонкий клиент является аналогом терминального сервера? Так знаете и VK какой-нибудь можно аналогом терминального сервера считать, да и вообще любое приложение которое обращается к api, а не напрямую к данным.
ИМХО 1С Сервера - 1С тонкий клиент с точки зрения производительности, за исключением отдельных случаев, когда пинг очень большой, а разработчик на отображение одного окна написал 100 запросов и не распараллелил их( а за такое нужно сразу много не хорошего делать ), разницы быть не должно.

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

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

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

Обычно тонкие клиенты создаются для экономии на железе и ПО, в редких случаях по иным соображениям.

В этой статье я постараюсь сделать краткий обзор WTWare, являющегося Linux дистрибьютивом, разработанным специально для создания тонких клиентов.

Сначала о тонком клиенте.

image

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

  1. На компьютере с одного из источников загружается тонкий клиент. Основные варианты источников загрузки – LAN, CD, HDD.
  2. В процессе загрузки тонкого клиента (или до нее при варианте с LAN) сетевой карте компьютера выдается IP адрес.
  3. По окончании загрузки тонкий клиент через rdesktop поднимает терминальную сессию с указанным в настройках терминальным сервером.
  1. Существенно снижаются затраты на «железо». Предприятие может купить за копейки старый хлам, и все что нужно для его работы – терминальный сервер с достаточным количеством ресурсов и настроенные тонкие клиенты.
  2. Снижаются затраты на программное обеспечение – не нужно покупать ПО на десктопы, достаточно только лицензировать терминальный сервер (но нужно покупать терминальные лицензии).
  3. Снижаются затраты на администрирование. Администрировать нужно лишь терминальный сервер. Как показала практика, тонкие клиенты практически не убиваемы (если не прилагать целенаправленные усилия), и практически не дают сбоев. Но нужно понимать, что при смене сисадмина он должен разобраться во всем этом деле, например сэмулировав работу тонких клиентов на виртуальных машинах, ведь любой сбой приведет к общему краху.
  1. Загрузка по сети. Работает следующим образом: в локальной сети должны быть подняты DHCP и TFTP серверы. В компьютере должна быть либо сетевая карта с BootROM, либо драйвера для сетевой карты, эмулирующие BootROM. Сетевая карта ищет в сети DHCP сервер, получает все необходимые сетевые настройки + адрес TFTP сервера. Далее происходит обращение к TFTP серверу и загрузка операционной системы.
  2. Загрузка с CD/DVD/Flash/IDE — тут стандартно, как и любая другая операционная система.

WTWare — дистрибутив GNU/Linux, разработанный специально для создания тонких клиентов. За основу взят популярный клиент под названием Thinstation. Основное различие – ориентированность на русских пользователей (в самом Thinstation есть проблемы с кириллицей), плюс всякие мелкие фиксы.

Настройка WTWare.

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

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

Итак. В первую очередь качаем образ Thinstation с сайта WTWare. Распаковываем.
Загрузочный файл называется pxelinux.0 при загрузке по протоколу PXE (если BootROM встроен в вашу сетевую или материнскую плату) или wtshell.nbi для загрузчика Etherboot (при использовании эмулятора BootROM).

К слову говоря, Etherboot — оpensource проект, который выпускает прошивки практически для всех существующих сетевых карт. Прошивка Etherboot может быть записана в микросхему BootROM или flash-память сетевой карты, может быть запущена с дискеты или жесткого диска как загрузочный сектор или как программа из DOS.

Далее если вы загружаетесь через LAN и у вас правильно настроены DHCP и TFTP сервера – все должно заработать «как есть». Единственное – не будет найден терминальный сервер, ведь вы еще не конфигурировали ваши тонкие клиенты.

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

Конфигурирование.

Опять таки я не буду углубляться в дебри конфигурационных файлов, потому как там сотни параметров. Тут можно увидеть их полный список. Я расскажу лишь об основных.

  1. all.wtc – общесистемный конфигурационный файл.
  2. list.wtc – подключаемые конфигурационные файлы согласно списка.
  3. Индивидуальные конфигурационные файлы.
  1. Имя_терминала.wtc. Имя терминала, соотвественно, выдается DHCP сервером.
  2. ма.ка.др.ес.те.рм.wtc. Привязка идет по мак адресу подключаемового терминала.
  1. all.wtc
  2. Файлы, указанные в list.wtc
  3. Файлы, подключенные через include
  4. Индивидуальный конфиг

Конфигурационные переменные индивидуальных файлов:
user = username // имя пользователя
password = user_password // пароль пользователя
domain = enterprise_domain // домен предприятия

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

Так же в индивидуальные файлы прописываются дополнительно подключенные устройства, такие как принтеры, сканера и т.п.

И в конце хотел упомянуть об еще одной интересной возможности – подключение локальных ресурсов (Floppy, DVD, Flash, HDD, Sound). В конфиге выглядит примерно так:
floppy = on
cdrom = on
usb1 = on
sound = on
Диск будет доступен в сессии текущего пользователя из Проводника Windows по адресу: \\tsclient\.

  1. Могут возникнуть проблемы с подключением оборудования, если драйвера на него в системе отсутствуют. Знаю, что через некие костыли можно разобрать образ, припихнуть туда драйвера, собрать образ обратно. Сам не пробовал.
  2. Если у карточки нет BootROM, могут возникнуть проблемы с подбором Etherboot прошивки (есть не для всех карт).

Стоит заметить, что сама система бесплатна, но можно приобрести лицензию с очень интересной целью – что бы убрать логотип WTWare из загрузочной заставки. Как я понимаю, это сделано для предприятий, массово внедряющих данный продукт под эгидой аутсорсинга.

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

image

На сайте WTWare так же можно приобрести оборудование для создания тонких клиентов (дабы не собирать их из хлама). Надо сказать, что оно (оборудование) отвечает всем требованиям гламура. Несколько скринов:

Ну, вот, пожалуй, и все. При правильной настройке терминального, DHCP и TFTP сервера все должно заработать слету. В интернете очень много русскоязычной литературы, поэтому проблем с настройкой быть не должно. Да и вообще в плане документации система мне очень понравилась, на сайте производителя есть почти все.

Читайте также: