График : Пн-Пт: 9.30 - 18.00


Варианты работы системы «1С:Предприятие 8»



Варианты работы системы «1С:Предприятие 8»


Варианты работы системы «1С:Предприятие 8»


Максим Радченко,
фирма «1С»

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

 

Файловый вариант работы

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

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

Он также обеспечивает высокую целостность информационной базы и простое создание резервных копий. Например, в отличие от версии 7.7, совершенно исключена ситуация, когда пользователь может по ошибке (например, при копировании информационной базы) перепутать различные файлы ИБ и, таким образом, привести систему в неработоспособное состояние. Резервное копирование может осуществляться на файловом уровне путем простого копирования 1Cv8.1CD.

Однако есть и ограничения. Наиболее важная особенность файлового варианта — использование табличных блокировок базы данных. Внешне это проявляется в возникновении конфликтов блокировок при одновременной интенсивной работе большого количества пользователей. Кроме того, есть ограничение объема данных, хранимых в ИБ. Файл 1Cv8.1CD имеет специальный формат, в котором данные каждой таблицы хранятся в трех внутренних файлах, и по технологическим причинам размер каждого из них не может превышать 4 Гбайт.

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

 

Клиент-серверный вариант работы

Клиент-серверный вариант работы (КСВР) платформы предназначен для использования в рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры (рис. 2), которая подразумевает наличие клиентского приложения, сервера «1С:Предприятия 8» и сервера баз данных (в данном случае MS SQL Server). Сервер «1С:Предприятия» реализован как приложение COM+, и механизм COM+ используется для его взаимодействия с клиентскими приложениями.

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

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

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

Неоспоримое преимущество КСВР — использование возможностей MS SQL Server для эффективной выборки информации. Например, механизм запросов «1С:Предприятия» оптимизирован под эту СУБД для выполнения расчетов и составления отчетов. Например, просмотр больших динамических списков выполняется с минимальным количеством обращений к СУБД, и при этом пользователь может осуществлять эффективный поиск, а также настройку отбора и сортировки данных. Еще одна важная возможность — использование блокировок на уровне записей и полей базы данных, что значительно увеличивает параллельность работы пользователей по сравнению с файловым вариантом работы.

Отдельно следует остановиться на том, что средства встроенного языка «1С:Предприятия» при работе в КСВР позволяют организовать выполнение различных процедур и функций прикладного решения либо на клиенте, либо на сервере «1С:Предприятия». Для этого используются специальные свойства модулей и операторы препроцессора #Если Сервер Тогда и #Если Клиент Тогда (рис. 3).

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

И все же КСВР тоже имеет свои ограничения, которые определяются вместе с тем и используемой СУБД. Однако следует отметить, что MS SQL Server вполне удовлетворяет задачам, на решение которых ориентирована система «1С:Предприятие».

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

Однако платформа 8 не предоставляет возможности использовать несколько серверов «1С:Предприятия» для одновременной работы с одной и той же информационной базой. Таким образом, количество эффективно обслуживаемых клиентских соединений с одной ИБ напрямую зависит как от технологических особенностей сервера «1С:Предприятия», так и от производительности компьютера, на котором он функционирует. Например, серверу «1С:Предприятия» доступно не более 2 или 3 Гбайт виртуального адресного пространства, причем это адресное пространство делится между всеми пользователями, которых он обслуживает. Понятно, что при достаточно большом количестве пользователей может снижаться эффективность работы сервера из-за нехватки памяти.

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

При умеренной нагрузке и небольших объемах вычислений, выполняемых на сервере «1С:Предприятия», его возможно размещать на одном компьютере с MS SQL Server. Такой вариант является более дешевым, но менее производительным. Работа обоих серверов на одном компьютере предъявляет, в частности, повышенные требования к объему оперативной памяти, которая активно используется как одним, так и другим приложением.

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

 

Использование различных вариантов работы

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

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

Система «1С:Предприятие» позволяет достаточно просто переводить ИБ из клиент-серверного варианта работы в файловый и наоборот. Для этого используется возможность преобразования ИБ в файл и обратно в режиме конфигурирования системы. Это выполняется в три этапа:

• выгрузка ИБ в файл;

• создание пустой ИБ в том варианте работы, который требуется;

• загрузка ИБ из файла.

 

Развитие архитектуры системы «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). Самый общий вид клиент-серверного варианта работы.

Нашли ошибку на сайте? Напишите о ней нам!
Наверх Обратный звонок