Полезные... Интернет  Безопасность

Собрал файл сервер для 1с. Решения. Выполнение основной функциональности на сервере

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

Что такое сервер 1С

Но существует и другое понимание сервера

Сервер 1С – это программа, которая работает в клиент-серверном режиме с базами данных 1С под управлением СУБД, например, Microsoft SQL Server или Linux PostgreSQL, IBM DB2, Oracle Database и т.д. То есть это не просто хранение базы 1С на сервере, это управление процессами работы 1С Предприятия.

Как правило, сервер 1С используют средние и крупные компании, в которых с базами данных 1С одновременно работают около 20 или более пользователей. При меньшем количестве пользователей 1С все-таки достаточно файлового режима, когда база данных 1С располагается на одном из компьютеров (возможно одного из пользователей), а с остальных ПК прописан к ней путь в локальной сети. Например, вот так: \\<Имя компьютера в сети>\Базы 1с\<Имя базы 1с>

А у пользователя, на компьютере которого лежит база:


Зачем же нужен сервер 1С, и какие преимущества он имеет?

  • Быстродействие. При работе в клиент-серверном варианте 1С самые объемные и «тяжелые операции», например, групповое перепроведение документов или групповая обработка данных, производятся на серверных мощностях, а конечный результат, так называемая «выборка», предоставляется клиентскому приложению. Увеличить мощность одного сервера проще и дешевле, чем обновить все клиентские машины.
  • Безопасность. При использовании клиент-серверного режима 1С, пользователям не известно место расположения базы данных. Это простейший способ пресечь вероятность копирования информации из базы данных. В файловом режиме работы с базой пользователь может легко это сделать.
  • Еще одним серьезным доводом в пользу интеграции сервера 1С архитектуру информационной системы на базе 1С является удобство администрирования, а также возможность контроля и разграничения доступа пользователей к базе данных.

Работа сервера 1С

Конфигурация или клиентское приложение 1С, запущенное пользователем на своем устройстве, допустим, компьютере, подключена к кластеру серверов 1С:Предприятие 8, который обращается к серверу, хранящему базы данных, управляемые MS SQL Server или PostgreSQL.

Сервер 1С Предприятие 8 и сервер баз данных желательно разместить на разном «желлезе», поскольку именно благодаря этому распределяется нагрузка между серверами 1С Предприятие и БД.


Устанавливаем сервер 1С

Перейдем непосредственно к инструкции по установке сервера 1С. Для начала нам понадобится установочный дистрибутив, который можно взять на сайте поддержки пользователей 1С (users.v8.1c.ru).

Из перечня поставляемых дистрибутивов нам подойдут два варианта:

  • Технологическая платформа 1С Предприятие для Windows – для установки сервера 1С 32-разрядной версии.
  • Сервер 1С Предприятие (х64) для Windows – чтобы установить сервер 1С как 64х так и 32х-разрядной версии.

Открываем папку с файлами установки. Для среды 1С Предприятия это стандартное окно.


Нам понадобится файл Setup.exe. Его запуск вызовет помощника установки системы «1С Предприятия». На первой странице жмем «Далее».

На следующей странице нам будет предложено выбрать устанавливаемые компоненты. Помимо стандартно указанных, обратим внимание на:

  • Сервер 1С Предприятия, который установит компоненты сервера 1С.
  • Администрирование сервера 1С Предприятия 8 – необходимые элементы администрирования серверов 1С.

Остальные компоненты могут быть установлены по необходимости сейчас или позднее. Поэтому, нажимаем «Далее».


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

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

  • Вход в систему, то есть доступ непосредственно к сервису (Log on as service);
  • Вход в систему для запуска пакета заданий/команд (Log on as batch job);
  • Возможность использования журналов производительности (Perfomance Log Users).

Помимо этого пользователю лучше дать права на каталог служебных файлов сервера. По умолчанию это C:\ProgramFiles(или ProgramFiles(x86))\1cv8\srvinfo. Путь зависит от того, какой разрядности приложение для сервера 1С Предприятие мы устанавливаем.

Созданный новый пользователь USR1CV8 по умолчанию будет обладать всеми перечисленными правами. Задаем пароль и продолжаем установку сервера Предприятия.


На следующей странице начинаем установку.

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

Теперь нам надо убедиться, что служба сервера запущена.

В список служб мы можем зайти по команде services.msc в поисковой строке меню «Пуск». Служба может выглядеть так, как показано на скриншоте или «1С: Enterprise 8.3 Server Agent». Если служба не запущена, сделайте запуск вручную: правой кнопкой мыши по службе – Свойства – Запустить. Также поставим Тип запуска – Автоматически.

Установка Сервера 1С завершена. Остается только настроить брандмауэр Windows, чтобы пользователи с клиентских машин могли подключаться к серверу 1С. Для этого в брандмауэре нужно разблокировать порты 1541, 1560-1591. О том, как добавить разрешающее правило в брандмауэр, можно прочесть в Интернете.

В финале мы активируем имеющуюся лицензию на сервер 1С.

Эта статья содержит информацию о процедуре установки 1С в клиент-серверном варианте.

Установка платформы 1С описана в другой нашей статье – “Администрирование 1С”, в разделе “Установка 1С”. Установка на сервер почти полностью совпадает с установкой на локальный компьютер, с одной лишь разницей. В серверном варианте при выборе устанавливаемых компонент необходимо выбрать “Сервер 1С:Предприятия” и “Администрирование сервера 1С:Предприятия”.

Установить 1С на клиентских компьютерах, с которых будет осуществляться подключение к серверу.

Установка на клиентских компьютерах ничем не отличается от способа, описанного ранее в статье “Администрирование 1С”.

Создать информационную базу в SQL.

Создание информационной базы в SQL тоже очень похоже на создание базы в файловом варианте. Разница заключается в том, что на этапе выбора типа расположения информационной базы необходимо выбрать “На сервере 1С:Предприятия”.

В пункте “Кластер серверов” укажите имя (а лучше IP-адрес) сервера, на который устанавливали SQL.

В пункте “Имя информационной базы” укажите любое имя, которое хотите дать базе.

Тип СУБД – SQL.

Пользователь базы данных и его пароль – тот самый суперпользователь, о котором говорилось выше, на этапе установки MS SQL.

Смещение дат оставьте по умолчанию.

Необходимо отметить пункт “Создать базу данных в случае ее отсутствия” и нажать “Далее”.

Теперь база успешно создана на сервере SQL и добавлена в список доступных баз. Внизу на картинке можно увидеть результат проделанной работы.

Стоить отметить, что созданная база пока еще пустая. Это каркас, место, выделенное в SQL под вашу информационную базу. Для того, чтобы загрузить свою базу в этот каркас – необходимо воспользоваться средствами Выгрузки/Загрузки информационной базы. Процедура Выгрузки/Загрузки также описана в другой нашей статье “Администрирование 1С”.

Для того, чтобы довести систему до идеального состояния в дальнейшем необходимо будет настроить “план обслуживания” созданной базы данных. План обслуживания – это набор процедур, которые SQL будет выполнять регулярно по заданному расписанию. Например, будет регулярно делать резервные копии и удалять временные файлы. Работа с SQL выходит за рамки темы статьи и будет описана в одной из следующих.

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

Большинство малых компаний, для удешевления стоимости оборудования, предпочитают минимизировать количество приобретаемой техники и просят администраторов «впихнуть» все запрошенные ими сервисы в один физический сервер. Желание понятное и простительное, но тут «есть нюансы».

Можно организовать терминальный сервер и использовать там файловую версию 1С, но при таком количестве пользователей компания-разработчик рекомендует переходить на клиент-серверный вариант. Поэтому нам потребуется еще сервер под «1С: Предприятие» и сервер баз данных. Уточним сразу, что организовать терминальный сервер, сервер SQL и сервер 1С на одной операционной системе возможно, но, с точки зрения безопасности и стабильности работы сервисов, это крайне не рекомендуется. А если всё-таки очень хочется использовать один физический сервер для всех трёх ролей, то рекомендуем использовать виртуализацию, например, VMWare ESXi или Hyper-V.
Таким образом, вырисовывается три варианта:

  1. Один сервер с файловой 1С. Плохой вариант, далее мы его рассматривать не будем.
  2. Один сервер с двумя виртуальными машинами.
  3. Два физических сервера, один терминальный, второй с БД и 1С.

Для решения этих задач можно предложить следующую конфигурацию серверов:

В случае с одним физическим сервером мы остановили выбор на Dell R710, с двумя шестиядерными процессорами Xeon X5650, 64 Гб оперативной памяти и шестью дисками: два SSD в RAID 1 и четыре SAS-диска в RAID 10.

В случае с двумя физическими серверами мы остановили выбор на таких конфигурациях:

  • Терминальный сервер: IBM x3550 M3 с одним процессором Xeon E5620, 32 Гб оперативной памяти и двумя SSD в RAID 1, с дополнительной сетевой картой на два гигабитных интерфейса. У этого сервера также есть богатые возможности для апгрейда, так как он двухпроцессорный, имеет 18 слотов под модули памяти и поддерживает до 288 Гб ОЗУ.
  • Сервер баз данных: IBM x3250 M5 с одним процессором Xeon E3-1220v3, 16 Гб ОЗУ, дополнительным RAID-контроллером SAS/SATA, четырьмя SAS-дисками в RAID 10, с дополнительной сетевой картой на 2 гигабитных интерфейса.
Почему мы выбрали именно такие конфигурации? Для ответа на этот вопрос давайте подсчитаем, что нам нужно для обеспечения комфортной работы пользователей в нашей небольшой организации на 25-30 сотрудников. Чтобы не было недопонимания: это лишь один из примеров недорогого внедрения 1С, и во многих случаях целесообразнее выбрать другие конфигурации.

Процессор

С точки зрения процессорного времени терминальные сессии занимают не очень большую долю. По опыту внедрения терминальных решений в различных организациях, для поддержания комфортной работы 30-ти пользователей достаточно будет 4-6 физических ядер процессора, по одному ядру на 6-8 сессий.

Для небольшой базы SQL-серверу понадобится одно ядро. Но мы будем ориентироваться на расширение базы в будущем (или увеличение количества баз) и возьмем два ядра на SQL.

Для сервера «1С: Предприятие» важно не столько количество ядер, сколько их тактовая частота и частота шины. Поэтому заложим еще два ядра на сервер 1С.
И не забудем, что в случае использовании виртуализации одно или два ядра нам пригодится для обеспечения работы хостовой операционной системы.

Итого у нас получается:

  • для сервера с двумя виртуальными машинами нужно 12 физических ядер. Можно и меньше, но всегда должен оставаться запас по мощности. Сервер с двумя шестиядерными процессорами подходит для этого идеально.
  • для терминального сервера достаточно одного процессора Xeon E5620 с шестью ядрами, для сервера баз данных - процессора Xeon E3-1220v3 с четырьмя ядрами.

Оперативная память

Сначала посмотрим, сколько нужно оперативной памяти под сервисы:
  • Операционная система Windows Server только под себя требует 2 Гб ОЗУ.
  • Для SQL и небольшой базы 1С достаточно будет 4-6 Гб ОЗУ.
  • Сервер «1С: Предприятие» требует еще 2-3 Гб ОЗУ.
  • Рассчитываем, что каждому пользователю потребуется 700 Мб ОЗУ в терминальной сессии, тогда на 30 пользователей потребуется 21 Гб.
Теперь применим это к нашим вариантам.
  • Для одного сервера с двумя виртуальными машинами нужно около 40 Гб ОЗУ.
  • Для терминального сервера достаточно будет 24 Гб или 32 Гб ОЗУ (возьмем с запасом, предполагая будущее расширение). Для сервера с базами данных нужно не менее 8 Гб, но это «впритык», поэтому 16 Гб с запасом. Память сейчас - один из самых дешевых компонентов сервера.

Дисковая подсистема

Это традиционное бутылочное горлышко многих систем. Правильный выбор жестких дисков очень важен для обеспечения быстродействия серверов. При работе 1С с базой SQL происходит множество операций чтения/записи в секунду (IOPS). Если пользователи работают на терминальном сервере с тонких клиентов (т.е. полноценно используют терминальный сервер как рабочую среду), это сильно нагружает дисковую систему сервера. Например, 30 пользователей терминального сервера на RAID 1, SATA 3 Гбит/с, с дисками WD Velociraptor чувствуют себя некомфортно при работе с почтой и активном сёрфинге в интернете. Для терминальных серверов мы рекомендуем использовать SSD-накопители. Для серверов баз данных - SAS-диски, собранные в отказоустойчивые массивы.

Помимо накопителей, следует уделить внимание и дисковому контроллеру. Современные серверы имеют на борту довольно хорошие контроллеры, например, HP SmartArray и DELL PERC. Однако некорректно будет использовать «набортные» решения при серьёзной нагрузке, когда требуется максимальная производительность. Немного сэкономив, вы легко можете получить мощный сервер, который совершенно не тянет нагрузку. Поэтому контроллер должен быть аппаратным, а не программным , со своей энергонезависимой памятью.

Рассмотрим варианты решения этой задачи.

  • Для одного сервера с двумя виртуальными машинами желательно использовать два RAID-массива: на одном будут располагаться файлы виртуальной машины терминального сервера, на втором - файлы виртуальной машины сервера баз данных и «1C: Предприятия». Для создания первого массива лучше всего использовать два SSD-накопителя в RAID 1 (зеркало).

    Второй массив лучше создать из четырёх SAS-диска в RAID 10 (зеркало + страйп), но можно и из двух SSD-накопителей в RAID 1. Выбор зависит только от стоимости дисков и модели сервера.

  • Для двух серверов всё то же самое, только массивы будут разнесены по серверам. На терминальном - RAID 1 из двух SSD, на сервере баз данных - RAID 10.

Один или несколько серверов

Как сказано выше, у небольших организаций довольно велико желание разместить все сервисы на одном сервере.

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

Однако два сервера имеют более широкие возможности по апгрейду. Например, в нашем варианте недорогой IBM x3550 M3 с добавлением еще одного процессора и ОЗУ превращается в элегантные шорты терминальный сервер на 50 и даже более пользователей.

Еще одно «узкое место» в нашем случае, которое необходимо учитывать при выборе двух физических серверов, это обмен данными между ними по сети. У виртуальных серверов обмен данными идёт через виртуальный коммутатор. Здесь же, для увеличения пропускной способности сети, можно установить в каждый сервер по сетевой карте с двумя гигабитными интерфейсами, которые можно агрегировать между собой и напрямую соединить оба сервера агрегированными 2-х гигабитными линками. Или же использовать сетевые карты с SPF+ 10GBASE, но это дорогое удовольствие.

Запас по мощности

При расчетах и выборе сервера необходимо принимать во внимание пиковые нагрузки. Также обязательно нужно помнить, что база данных будет только «пухнуть», объёмы данных на терминальном сервере будут расти, а количество пользователей может увеличиться. Многие предприятия экономят на запасе мощности и через полгода-год сталкиваются с перебоями в работе и жалобами пользователей. Это тот случай, когда чрезмерная экономия приводит к новым затратам в будущем - скупой платит дважды. Выбранные нами варианты рассчитаны с запасом мощности и возможностью апгрейда. Учтено, что в DELL R710 можно будет добавить еще два жестких диска и ОЗУ, а также заменить процессоры на более производительные.

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

Если вы использовали один сервер DELL R710, то можно докупить недорогой IBM x3550 M3, поднять на нём гипервизор, перенести туда виртуальную машину с БД и 1С-сервером, а на DELL-е все ресурсы отдать виртуальной машине с терминалом. Это будет быстро, и не потребуется «всё выкинуть и купить новое».
Если же вы использовали два сервера IBM, то x3550 M3 с добавлением второго процессора и небольшого количества ОЗУ превращается из середнячка в довольно мощную машину. А в x3250 M5 можно обновить процессор с E3-1220v3 до E3-1285v3.

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

Мы собрали рекомендации ведущих производителей оборудования (HP, Dell, IBM) и разработчиков программного продукта «1С» 8.3, чтобы наши клиенты могли выгодно приобрести нужный сервер. Оптимальная инфраструктура сети может быть получена на базе любой операционной системы, но возможности оборудования играют в этом более важную роль.

Критерии выбора серверов

Платформа «1С» может потребовать значительных аппаратных ресурсов от сервера. Если бюджет компании неограничен, что бывает нечасто, можно не задумываясь брать платформы последних поколений, заполнять все дисковые корзины, слоты для ОЗУ и требовать от IT-специалиста бесперебойной работы системы. Выбор оборудования с ограниченными средствами требует более взвешенного подхода. Чтобы понять какому серверу для «1С» будет под силу справиться с этим, необходимо тщательно проанализировать структуру вычислительных нагрузок. Если они известны заранее, спроектировать готовое решение будет значительно проще.

При выборе сервера для «1С» (8.2; 8.3) ориентируются на следующие моменты:

  • количество операторов, одновременно выполняющих ввод данных и формирование отчетов;
  • возможность выделения отдельных физических серверов для SQL и приложения «1С»;
  • планируемые объемы обработки данных;
  • структуру распределения нагрузки в архитектуре клиент-сервер

Выбор процессора и оперативной памяти

Расчет частоты, нужного количества ядер процессора, а также объема оперативной памяти является первым и самым важным шагом. Чтобы рассмотреть несколько вариантов, выбирать сервер для «1С» будем с учетом штата компании.

Малая организация (до 15 сотрудников). При небольшом количестве пользователей объем базы данных, как правило, не превышает 2 Гб, а программа «1С» в виде файловой версии устанавливается на клиентские машины. Нужды ОС при этом составляют 4–6 Гб и еще 4 Гб выделяют на системный файловый кэш. Распределение нагрузки процессора выглядит следующим образом:

  • 2 ядра – для ОС и терминальных пользователей;
  • 1 ядро – для сервера приложений «1С»;
  • 1 ядро – для БД SQL.

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

Средняя организация (до 40 сотрудников). При таком количестве пользователей разработчики «1С» рекомендуют использовать терминальный режим доступа к приложению. Размер баз данных может составлять до 4 Гб. Для такой нагрузки нужно уже как минимум два процессора на 4–6 ядер. Оптимальный объем оперативной памяти составит 16–64 Гб, поскольку для каждого пользователя необходимо выделить минимум 700 Мб. Считается, что прикладное решение «1С», в котором работает клиентская машина, требует от 240 до 480 МБ, а еще 200–220 МБ выделяется под офисные приложения.

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

Большая организация (более 40 сотрудников). Базовая конфигурация оборудования в этом случае будет состоять из трех физических серверов:

  • терминального,
  • СУБД,
  • «1С».

Объемы БД при таком количестве сотрудников часто превышают 4 Гб, и под системный кэш рекомендуется выделять не меньший объем оперативной памяти. Еще 4 Гб будет использоваться операционной системой, а для приложений «1С» потребуется около 8 Гб. Таким образом, нужно не менее 16 Гб ОЗУ.

Под такие задачи подбираются двухпроцессорные серверы с поддержкой Intel Xeon E5-2600 или выше. Если количество сотрудников не превышает 50 человек, для терминального доступа и приложений «1С» можно оставить только одну машину. Однако с учетом перспективы роста компании лучше предусмотреть отдельный сервер для каждой задачи. Если количество задействованного персонала приближается в 100 сотрудникам, нужно развернуть кластер из двух машин для «1С», а для остальных задач оставить по одной.

Выбор дисковой подсистемы

Производительность сервера напрямую зависит от дисковой подсистемы. При работе приложений «1С» операции чтения и записи данных выполняются с высокой интенсивностью. Большинство жалоб на работу сервера связаны с блокировкой таблиц при одновременном обращении большого количества пользователей.

В задачу выбора сервера для 1С входит мониторинг дисковой подсистемы, позволяющий найти оптимальное соотношение производительности и надежности. Чрезвычайно важным фактором, влияющим на быстродействие, оказывается ее способность выполнять определенное количество операций чтения/записи в секунду (IOPS). Если база данных составляет до 300 Мб, а количество пользователей «1С» – до 6 человек, этот параметр составляет 400–600. Если количество пользователей сервера доходит до 100 человек, то IOPS будет равняться 18 000. Потоковая скорость передачи играет второстепенную роль.

Для каждого типа жестких дисков установлены значения скорости чтения/записи:

  • SATA – 100/80;
  • SAS – 240/220;
  • SSD – 35 000/8 600.

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

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

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

Клиент-серверный вариант работы - один из вариантов работы системы 1С:Предприятие 8 .

Клиент-серверный вариант работы предназначен для использования в рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры «клиент-сервер».

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

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

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

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

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

1С:Предприятие 8 использует возможности системы управления базами данных для эффективной выборки информации:

  • механизм запросов ориентирован на максимальное использование СУБД для выполнения расчетов и составления отчетов,
  • просмотр больших динамических списков обеспечивается без выполнения большого количества обращений к базе данных; при этом пользователю предоставляются возможности эффективного поиска, а также настройки отбора и сортировки.

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

Клиентские приложения

Работа в клиент-серверном варианте возможна как напрямую с кластером, так и через веб-сервер. При этом в случае непосредственного подключения к кластеру толстый клиент и тонкий клиент используют протокол TCP/IP . При подключении через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS .

Кластер серверов

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

Сервер баз данных

В качестве сервера баз данных могут использоваться:

Администрирование кластера серверов

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

Выполнение основной функциональности на сервере

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

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

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

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

На сервере выполняются:

  • Запросы к базе данных,
  • Запись данных,
  • Проведение документов,
  • Различные расчеты,
  • Выполнение обработок,
  • Формирование отчетов,
  • Подготовка форм к отображению.

На клиенте выполняется:

  • Получение и открытие форм,
  • Отображение форм,
  • «Общение» с пользователем (предупреждения, вопросы…),
  • Небольшие расчеты в формах, требующие быстрой реакции (например, умножение цены на количество),
  • Работа с локальными файлами,
  • Работа с торговым оборудованием.

Использование встроенного языка на клиенте

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

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

На клиенте не допускается непосредственная работа с базой данных. Не допускается работа непосредственно с прикладными объектами, например, недоступны такие типы встроенного языка, как СправочникОбъект.<имя> . Не допускается использование запросов. При необходимости вызова действий с данными в клиентском коде нужно вызывать серверные процедуры, которые уже будут обращаться к данным.