График : Пн-Пт: 9.30 - 18.00
Содержание статьи:
Максим Радченко,
фирма «1С»
Понимание архитектуры платформы «1С:Предприятие» и правильное использование ее различных вариантов ее работы — основа успешного применения прикладных решений. «1С:Предприятие 8» поддерживает файловый и клиент-серверный режимы, причем в обоих случаях сами приложения функционируют идентично: никаких переделок при переходе от одного варианта к другому не требуется.
Данный вариант ориентирован на работу одного человека или небольшой группы пользователей в локальной сети. При этом все данные информационной базы (ИБ) «1С:Предприятия 8» хранятся в одном файле 1Cv8.1CD, операции с которым выполняет собственный движок базы данных «1С:Предприятия». Конечный пользователь имеет дело с клиентским приложением, которое самостоятельно взаимодействует с ИБ.
Благодаря своей простоте файловый вариант имеет целый ряд преимуществ. Прежде всего, он обеспечивает легкость установки и эксплуатации «1С:Предприятия», поскольку для работы с ИБ не требуются дополнительные программные средства, достаточно иметь операционную систему и платформу «1С:Предприятие».
Он также обеспечивает высокую целостность информационной базы и простое создание резервных копий. Например, в отличие от версии 7.7, совершенно исключена ситуация, когда пользователь может по ошибке (например, при копировании информационной базы) перепутать различные файлы ИБ и, таким образом, привести систему в неработоспособное состояние. Резервное копирование может осуществляться на файловом уровне путем простого копирования 1Cv8.1CD.
Однако есть и ограничения. Наиболее важная особенность файлового варианта — использование табличных блокировок базы данных. Внешне это проявляется в возникновении конфликтов блокировок при одновременной интенсивной работе большого количества пользователей. Кроме того, есть ограничение объема данных, хранимых в ИБ. Файл 1Cv8.1CD имеет специальный формат, в котором данные каждой таблицы хранятся в трех внутренних файлах, и по технологическим причинам размер каждого из них не может превышать 4 Гбайт.
Файловый вариант подразумевает наличие общего информационного ресурса, доступного всем пользователям системы. В некоторых случаях это может не соответствовать требованиям безопасности данных, принятым в конкретной организации.
Клиент-серверный вариант работы (КСВР) платформы предназначен для использования в рабочих группах или в масштабе предприятия. Он реализован на основе трехуровневой архитектуры, которая подразумевает наличие клиентского приложения, сервера «1С:Предприятия 8» и сервера баз данных (в данном случае MS SQL Server). Сервер «1С:Предприятия» реализован как приложение COM+, и механизм COM+ используется для его взаимодействия с клиентскими приложениями.
Этот вариант сложнее, но дает целый ряд преимуществ по сравнению с файловым. Прежде всего, сервер «1С:Предприятия 8» и MS SQL Server могут располагаться физически как на одном компьютере, так и на разных. Это позволяет администратору при необходимости распределять нагрузку между ними.
Использование сервера «1С:Предприятия 8» дает возможность выполнять на нем наиболее объемные операции по обработке данных. Например, при выполнении даже весьма сложных запросов программа, работающая у пользователя, будет получать только необходимую ей выборку, а вся промежуточная обработка будет выполняться на сервере. Обычно увеличить мощность сервера проще, чем обновить весь парк клиентских машин.
Другие важные аспекты использования трехуровневой архитектуры — удобство администрирования и упорядочивание доступа пользователей к ИБ. Пользователь не должен знать о физическом расположении ИБ, так как весь доступ к данным осуществляется через сервер «1С:Предприятия 8». При обращении к той или иной ИБ нужно указать только имя компьютера, на котором функционирует сервер «1С:Предприятия», и имя ИБ.
Неоспоримое преимущество КСВР — использование возможностей MS SQL Server для эффективной выборки информации. Например, механизм запросов «1С:Предприятия» оптимизирован под эту СУБД для выполнения расчетов и составления отчетов. Например, просмотр больших динамических списков выполняется с минимальным количеством обращений к СУБД, и при этом пользователь может осуществлять эффективный поиск, а также настройку отбора и сортировки данных. Еще одна важная возможность — использование блокировок на уровне записей и полей базы данных, что значительно увеличивает параллельность работы пользователей по сравнению с файловым вариантом работы.
Отдельно следует остановиться на том, что средства встроенного языка «1С:Предприятия» при работе в КСВР позволяют организовать выполнение различных процедур и функций прикладного решения либо на клиенте, либо на сервере «1С:Предприятия». Для этого используются специальные свойства модулей и операторы препроцессора #Если Сервер Тогда и #Если Клиент Тогда.
Развертывание и администрирование КСВР выполняется достаточно просто. Например, создание базы данных осуществляется непосредственно в процессе запуска конфигуратора (так же как и для файлового варианта). Кроме этого, в поставку «1С:Предприятия» входит утилита администрирования КСВР, позволяющая администратору управлять информационными базами и подключением пользователей.
И все же КСВР тоже имеет свои ограничения, которые определяются вместе с тем и используемой СУБД. Однако следует отметить, что MS SQL Server вполне удовлетворяет задачам, на решение которых ориентирована система «1С:Предприятие».
Кратко остановимся на некоторых деталях реализации клиент-серверного варианта работы. Как уже говорилось, сервер «1С:Предприятия 8» представляет собой рабочий процесс, который выполняется на некотором компьютере. Этот процесс может обслуживать сразу несколько соединений с клиентскими приложениями и несколько соединений с серверами баз данных. Таким образом, сервер «1С:Предприятия» позволяет различным пользователям одновременно работать с разными ИБ. При этом в локальной сети могут существовать несколько компьютеров, на которых функционирует сервер «1С:Предприятия». В этом случае каждый из них будет обслуживать собственный набор ИБ. Это позволяет распределять нагрузку между различными компьютерами при работе с разными информационными базами.
Однако платформа 8 не предоставляет возможности использовать несколько серверов «1С:Предприятия» для одновременной работы с одной и той же информационной базой. Таким образом, количество эффективно обслуживаемых клиентских соединений с одной ИБ напрямую зависит как от технологических особенностей сервера «1С:Предприятия», так и от производительности компьютера, на котором он функционирует. Например, серверу «1С:Предприятия» доступно не более 2 или 3 Гбайт виртуального адресного пространства, причем это адресное пространство делится между всеми пользователями, которых он обслуживает. Понятно, что при достаточно большом количестве пользователей может снижаться эффективность работы сервера из-за нехватки памяти.
Система «1С:Предприятие» допускает различные варианты взаимного расположения клиентского приложения, сервера «1С:Предприятия» и сервера баз данных на компьютерах. Наиболее желательно расположение всех трех приложений на разных компьютерах. В данном случае все компоненты системы смогут полностью задействовать аппаратные ресурсы и работать с максимальной производительностью. Этот вариант использования также предоставляет лучшие возможности для масштабирования системы, поскольку модифицировать аппаратные средства можно независимо, исходя из реальной загрузки того или иного сервера.
При умеренной нагрузке и небольших объемах вычислений, выполняемых на сервере «1С:Предприятия», его возможно размещать на одном компьютере с MS SQL Server. Такой вариант является более дешевым, но менее производительным. Работа обоих серверов на одном компьютере предъявляет, в частности, повышенные требования к объему оперативной памяти, которая активно используется как одним, так и другим приложением.
Можно разместить все три приложения на одном компьютере, это имеет смысл делать только при разработке прикладных решений одним программистом.
При выборе того или иного варианта работы системы «1С:Предприятие» следует прежде всего исходить из решаемых задач, а также из возможностей и ограничений, характерных для каждого из вариантов.
Для реальной многопользовательской работы, безусловно, следует выбирать клиент-серверный вариант. Файловый же вариант работы следует использовать в тех случаях, когда главными оказываются требования мобильности, простоты установки и администрирования, дешевизны, а вопросы производительности, параллельности работы пользователей, объема хранимых данных не принципиальны.
Система «1С:Предприятие» позволяет достаточно просто переводить ИБ из клиент-серверного варианта работы в файловый и наоборот. Для этого используется возможность преобразования ИБ в файл и обратно в режиме конфигурирования системы. Это выполняется в три этапа:
В июле 2006 г. фирма «1С» выпустила бета-версию технологической платформы «1С:Предприятие 8.1». При ее создании был проанализирован опыт внедрений и эксплуатации прикладных решений «1С:Предприятия 8», а также реализованы планы развития всего комплекса ПО «1С:Предприятия» в соответствии с современным представлением о построении корпоративных систем. Подробная информация о новой версии технологической платформы представлена на сайте фирмы «1С».
Сейчас мы рассмотрим изменения, которые коснулись архитектуры «1С:Предприятия», в том числе возможности работы прикладных решений в клиент-серверном варианте.
Наиболее важным изменением можно, без сомнения, назвать кластер серверов «1С:Предприятия 8.1», который заменил сервер «1С:Предприятия 8». Это решение обеспечивает более высокую надежность, масштабируемость и эффективность использования аппаратных ресурсов по сравнению с версией 8.
Кластер серверов «1С:Предприятия 8.1» является логическим понятием и представляет собой множество рабочих процессов, обслуживающих один и тот же набор ИБ. Не вдаваясь в подробности реализации кластера серверов, перечислим его основные возможности:
Новая схема работы серверной части «1С:Предприятия» предоставляет возможность функционирования кластера серверов не на одном, а на нескольких компьютерах, что позволяет повысить производительность. На каждом из компьютеров можно теперь запускать несколько рабочих процессов. Это, с одной стороны, снижает нагрузку на каждый конкретный рабочий процесс, а с другой — более эффективно использует аппаратные ресурсы компьютера.
Еще одна ключевая особенность кластера серверов состоит в том, что взаимодействие процессов кластера серверов между собой, а также с клиентскими приложениями и серверами баз данных осуществляется не с использованием механики COM+, а на основе протокола TCP/IP. Благодаря этому, в частности, кластер серверов может объединять в себе компьютеры, работающие под управлением разных операционных систем, как Windows, так и Linux.
В клиент-серверном варианте версия 8.1 обеспечивает поддержку еще одной СУБД — PostgreSQL. Это открытая бесплатная СУБД, которая входит в комплект поставки (ее дистрибутивы для Windows и Linux). Самый общий вид клиент-серверного варианта работы.
Последние статьи: