Клиент-серверный вариант работы (КСВР) платформы предназначен для использования в рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры, которая подразумевает наличие клиентского приложения, сервера «1С:Предприятия 8» и сервера баз данных (СУБД).
Этот вариант сложнее, но дает целый ряд преимуществ по сравнению с файловым. Прежде всего, кластер серверов «1С:Предприятия 8» и СУБД могут располагаться физически как на одном компьютере, так и на разных. Это позволяет администратору при необходимости распределять нагрузку между ними.
Использование кластера серверов «1С:Предприятия 8» дает возможность выполнять на нем наиболее объемные операции по обработке данных. Например, при выполнении даже весьма сложных запросов программа, работающая у пользователя, будет получать только необходимую ей выборку, а вся промежуточная обработка будет выполняться на сервере. Обычно увеличить мощность сервера проще, чем обновить весь парк клиентских машин.
Другие важные аспекты использования трехуровневой архитектуры — удобство администрирования и упорядочивание доступа пользователей к ИБ. Пользователь не должен знать о физическом расположении ИБ, так как весь доступ к данным осуществляется через кластер сервер «1С:Предприятия 8». При обращении к той или иной ИБ нужно указать только имя компьютера, на котором функционирует кластер серверов «1С:Предприятия», и имя ИБ.
Отдельно следует остановиться на том, что средства встроенного языка «1С:Предприятия» при работе в КСВР позволяют организовать выполнение различных процедур и функций прикладного решения либо на клиенте, либо на сервере «1С:Предприятия». Для этого используются специальные свойства модулей и операторы препроцессора #Если Сервер Тогда и #Если Клиент Тогда (рис. 3).
Развертывание и администрирование КСВР выполняется достаточно просто. Например, создание базы данных осуществляется непосредственно в процессе запуска конфигуратора (так же как и для файлового варианта). Кроме этого, в поставку «1С:Предприятия» входит утилита администрирования КСВР, позволяющая администратору управлять информационными базами и подключением пользователей.
Кратко остановимся на некоторых деталях реализации клиент-серверного варианта работы. Как уже говорилось, сервер «1С:Предприятия 8» представляет собой рабочий процесс, который выполняется на некотором компьютере. Этот процесс может обслуживать сразу несколько соединений с клиентскими приложениями и несколько соединений с серверами баз данных. Таким образом, сервер «1С:Предприятия» позволяет различным пользователям одновременно работать с разными ИБ. При этом в локальной сети могут существовать несколько компьютеров, на которых функционирует сервер «1С:Предприятия». В этом случае каждый из них будет обслуживать собственный набор ИБ. Это позволяет распределять нагрузку между различными компьютерами при работе с разными информационными базами.
Таблица. Характеристики кластера серверов 1С:8.1
Характеристика |
Кластер серверов «1С:Предприятия 8.1.» |
Количество компьютеров |
Один или несколько, объединенных в кластер |
Количество серверных процессов на одном компьютере |
Одни или несколько |
Распределение нагрузки |
Распределение нагрузки между различными процессами на основе анализа долгосрочной статистики загруженности процессов |
Операционные системы |
Windows и Linux |
Механизм взаимодействия |
Взаимодействие с клиентским приложением, сервером баз данных и процессов кластера между собой осуществляется на основе TCP/IP |
Тип запускаемого приложения |
Запускается как приложение или сервис под Windows, daemon под Linux |
Важная особенность — сервер “1С:8.1” будет также функционировать в среде Linux, на “родном” уровне, без режима эмуляции Win API. Для этого программный код полностью перекомпилирован под Linux, но основная его часть является единой для Windows и Linux (переписан только уровень взаимодействия с OC). В рамках одного кластера смогут одновременно функционировать Windows- и Linux- серверы (рис. 4). При этом аутентификация пользователей будет выполняться по протоколу Kerberos.
Развитие архитектуры системы «1С:Предприятие 8»
В июле 2006 г. фирма «1С» выпустила бета-версию технологической платформы «1С:Предприятие 8.1». При ее создании был проанализирован опыт внедрений и эксплуатации прикладных решений «1С:Предприятия 8», а также реализованы планы развития всего комплекса ПО «1С:Предприятия» в соответствии с современным представлением о построении корпоративных систем. Подробная информация о новой версии технологической платформы представлена на сайте фирмы «1С».
Сейчас мы рассмотрим изменения, которые коснулись архитектуры «1С:Предприятия», в том числе возможности работы прикладных решений в клиент-серверном варианте.
Наиболее важным изменением можно, без сомнения, назвать кластер серверов «1С:Предприятия 8.1», который заменил сервер «1С:Предприятия 8». Это решение обеспечивает более высокую надежность, масштабируемость и эффективность использования аппаратных ресурсов по сравнению с версией 8.
Кластер серверов «1С:Предприятия 8.1» является логическим понятием и представляет собой множество рабочих процессов, обслуживающих один и тот же набор ИБ (рис. 4). Не вдаваясь в подробности реализации кластера серверов, перечислим его основные возможности:
• кластер серверов может функционировать на одном или нескольких компьютерах, которые называются рабочими серверами;
• на каждом рабочем сервере могут функционировать один или несколько рабочих процессов, обслуживающих клиентские соединения в рамках данного кластера; каждый рабочий процесс выполняет действия, аналогичные выполненным сервером «1С:Предприятия 8»;
• подключение новых клиентов к рабочим процессам кластера выполняется на основе анализа долгосрочной статистики загруженности рабочих процессов;
• взаимодействие процессов кластера с клиентскими приложениями, между собой и с сервером баз данных осуществляется по протоколу TCP/IP;
• процессы кластера сервера могут быть запущены как приложение или как сервис;
• рабочие серверы кластера могут функционировать под управлением как Windows, так и Linux.
Новая схема работы серверной части «1С:Предприятия» предоставляет возможность функционирования кластера серверов не на одном, а на нескольких компьютерах, что позволяет повысить производительность. На каждом из компьютеров можно теперь запускать несколько рабочих процессов. Это, с одной стороны, снижает нагрузку на каждый конкретный рабочий процесс, а с другой — более эффективно использует аппаратные ресурсы компьютера.
Еще одна ключевая особенность кластера серверов состоит в том, что взаимодействие процессов кластера серверов между собой, а также с клиентскими приложениями и серверами баз данных осуществляется не с использованием механики COM+, а на основе протокола TCP/IP. Благодаря этому, в частности, кластер серверов может объединять в себе компьютеры, работающие под управлением разных операционных систем, как Windows, так и Linux.
В клиент-серверном варианте версия 8.1 обеспечивает поддержку еще одной СУБД — PostgreSQL. Это открытая бесплатная СУБД, которая входит в комплект поставки (ее дистрибутивы для Windows и Linux). Самый общий вид клиент-серверного варианта работы.
- Материал взят с сайта 1c.ru