Архитектура 1с что это
В настоящее время компания 1С почти полностью реализовала концепцию многоплатформенности. Полноценная клиентская часть теперь может запускаться не только из-под Windows, но и из-под Linux. Более того, в скором времени 1С обещает порадовать обладателей Mac-Book выпуском клиента под Mac OS (на данный момент выпущена ознакомительная бета-версия). В Таблице 1 указаны компоненты технологической платформы 1С:Предприятие 8.3 и совместимые с ними операционные системы. Далее краткая расшифровка этих компонент:
Разница между тонким и толстым клиентом не только в размере дистрибутива и уровне нагрузки на клиентские компьютеры. Тонкий клиент может работать только с конфигурациями, имеющими интерфейс на «управляемых формах», например, 1С:Бухгалтерия предприятия 3.0», «1С:ERP2.0», «1С:Управление торговлей 11», «1С:Зарплата и управление персоналом 3.0». «Обычные формы» имеют, например, конфигурации: «1С:Бухгалтерия предприятия 2.0», «1С:Управление производственным предприятием», «1С:Управление торговлей 10.3», «1С:Зарплата и управление персоналом 2.5». Толстый клиент обеспечивает полную функциональность – и «управляемые формы» и «обычные формы» и режим «Конфигуратор» для разработчиков.
Под Веб-клиентом подразумевается любой современный браузер (например, Microsoft Internet Explorer, Mozilla Firefox, Google Chrome, Safari…) практически в любой операционной среде. Он так же как и тонкий клиент работает только с конфигурациями на «управляемых формах». Браузеры под Android в принципе тоже работают, но с ограничением – не работает прокрутка пальцем в форме списка. В iPhone такого недостатка нет.
Сервер 1С:Предприятие является важной частью концепции «трехзвенная архитектура», и играет роль сервера приложений. Такая схема работы еще называется «клиент-серверная», в ней в отличие от «файл-серверной» достигается эффект масштабируемости – существенно уменьшается зависимость производительности от количества пользователей и объема базы данных. По сути это посредник между сервером баз данных и клиентскими компьютерами. Сервер 1С обеспечивает взаимодействие с сервером баз данных, в частности механизм «управляемых блокировок», повышающий параллельность работы пользователей. Так же он берет на себя многие «тяжелые» вычислительные задачи, существенно разгружая клиентские компьютеры. В файл-серверной архитектуре клиентские компьютеры подключены непосредственно к файлу с базой данных, при этом показатели производительности и отказоустойчивости существенно ниже. Отдельно стоит отметить низкий уровень информационной безопасности файл-серверной архитектуры, т.к. файл базы данных может быть скопирован любым пользователем 1С.
Сервер баз данных выполняет обработку и сохранность данных, обеспечивая при этом быстродействие, параллельность и отказоустойчивость. Он, так же как и Сервер 1С является важной обязательной частью «клиент-серверной» архитектуры. Сервер 1С совместим с наиболее распространенными коммерческими продуктами: MS SQL, Oracle Database, IBM DB2 и свободно-распространяемой Postgre SQL. Но по кулуарному признанию сотрудников 1С наилучшую совместимость с Сервером 1С имеет MS SQL.
Веб-сервер нужен для работы веб-клиента через Интернет. Веб-сервер поддерживает как клиент-серверную так и файл-серверную архитектуры. IIS входит в состав Windows системы. Apache– свободно-распространяемый продукт.
Мобильная платформа подразумевает готовое приложение для мобильных устройств на iOS , Android или Windows Phone, которое может работать автономно с собственной базой данных в отсутствие связи с центральной базой (без Интернета, в режиме off-line). Такая база может обмениваться данными с полноценной стационарной базой по интернету с использованием механизом "планы обмена" и "веб-сервисы".
COM-соединение – это особый вид подключения «напрямую» между двумя приложениями, расположенными на одном компьютере, для обмена данными. Такой вид подключения ускоряет процесс синхронизации, например, между «1С:Бухгалтерия предприятия» и «1С:Управление торговлей», т.к. при этом не используется промежуточный файл обмена. Механизм доступен только в среде Windows.
1С:Предприятие в режиме «Конфигуратор» - это инструмент для администрирования, конфигурирования и разработки. Механизм доступен только в Windows и Linux. В перспективе 1С готовит к выпуску новую интегрированную среду разработки на базе технологии Eclipse, которая так же является кроссплатформенной.
В Таблице 2 для каждой компоненты технологической платформы 1С:Предприятие указан необходимый вид лицензии. Для полноценной работы платформы 1С в режиме «файл-сервер» достаточно клиентской лицензии. Для работы в режиме «клиент-сервер» кроме клиентской лицензии понадобится еще лицензия на сервер, а так же лицензия на сервер базы данных (СУБД). В качестве СУБД компания 1С использует продукты сторонних производителей (вендоров), поэтому за подробностями по ценовой политике надо обращаться к ним. Но отдельно стоит отметить Runtime лицензии: компания 1С совместно с Microsoft, IBM и Oracle предлагает партнерскую продукцию со значительной скидкой – ограниченные по запуску лицензии, не позволяющие совместное использование СУБД ни с какими другими прикладными решениями, кроме сервера 1С. При этом само взаимодействие с сервером 1С является полноценным, без каких либо ограничений.
Несколько слов о видах лицензий на наиболее популярную СУБД - MS SQL. Всего их два:
«На рабочие места», в этом случае приобретается два вида лицензий: на сервер MS SQL и клиентские доступы по числу максимально возможных клиентских подключений
«На ядро», в этом случае приобретается только лицензия на сервер MS SQL, разрешающая неограниченное количество клиентских подключений.
Отдельно стоит отметить работу платформы 1С в качестве приложения для мобильных устройств: до 15.07.2015 никаких дополнительных лицензий не требовалось, достаточно было лицензий, установленных на сервере центральной базы данных, с которой такое приложение может взаимодействовать через web-сервисы. Не считая сервисной платы, взимаемой Google, Apple и Microsoft за возможность выкладывать свои приложения на Google Play, AppStore и Windows Phone Store. Теперь же действуют новые правила:
- по прежнему не требуется лицензия на тиражные мобильные приложения, предназначенные для распространения среди третьих лиц, в т. ч. через магазины приложений AppStore и Google Play (как за плату, так и бесплатно);
- если приложение разработано для собственных нужд компании, то в этом случае необходимо приобрести "клиентскую лицензию на мобильное рабочее место". Причем на одном мобильном устройстве может быть установлено несколько разных 1С-приложений, столько же лицензий необходимо приобрести. Клиентская лицензия на мобильные рабочие места представляет собой документ с указанным количеством рабочих мест.
В Таблице 3 указаны различные варианты размещения программных клиентских лицензий, или простыми словами - кто занимается раздачей лицензий. Дается сравнительный анализ всех вариантов. Расшифруем основные понятия:
Расход лицензий «на рабочий стол» означает, что пользователь на одном компьютере или в одной терминальной сессии может открыть любое количество сеансов (окон) 1С, и при этом израсходуется только одна клиентская лицензия.
Расход лицензий «на соединение» означает, что один сеанс (окно) 1С отнимает одну клиентскую лицензию.
Конкурентное лицензирование означает, что потенциальных пользователей может быть существенно больше, чем одновременных подключений 1С. Это связано с тем, что некоторая часть пользователей находится в офисе не целый рабочий день (выездная работа, командировки, отпуска, больничные), некоторые пользователи разнесены по разным часовым поясам и никогда не пересекаются, руководители открывают 1С периодически, чтобы посмотреть отчеты. В таких случаях вероятность, что все пользователи одновременно войдут в 1С чрезвычайно мала. Значит, нет смысла платить за лицензии для всех пользователей, имеет смысл ориентироваться на наиболее вероятное максимальное количество одновременных подключений. Такой эффект тем ярче выражен, чем крупнее компания.
В Таблице 4 указана ценовая политика для всех типов 1С-лицензий технологической платформы. Расшифруем основные понятия:
Аппаратная лицензия (ключ защиты) конструктивно выполнена в форме USB-флешки. Раздачей клиентских и серверных лицензий в локальной сети занимается программное обеспечение License Manager от стороннего производителя Sentinel (бывший Aladdin).
Программная лицензия – это комплект пинкодов, с помощью которых происходит активизация лицензий и их привязка к определенному компьютеру. Раздачей программных клиентских и серверных лицензий занимается сервер 1С. Раздавать программные клиентские лицензии так же может Web-сервер.
Документ, регулирующий правила использования мобильной платформы "1С:Предприятие" на количестве мобильных рабочих мест, указанных в лицензии.
Версия КОРП технологической платформы в отличие от обычной версии ПРОФ:
- расширяет возможности администрирования сервера 1С,
- действует более самостоятельно при решении сбойных ситуаций
- выполняет более умную балансировку нагрузки на аппаратное обеспечение.
В Таблице 5 приведен сравнительный анализ программной и аппаратной лицензий.
Таблица 1. Компоненты технологической платформы 1С:Предприятие 8.3 и совместимые с ними операционные системы
Основная задача платформы заключается в повышении уровня абстракции при разработке и использовании прикладных решений. Это позволяет перейти от технических и низкоуровневых понятий к более содержательным и высокоуровневым. Позволяет приблизить эти понятия к языку пользователей и специалистов в предметной области. В конечном итоге это значительно ускоряет и унифицирует разработку прикладного решения и его сопровождение.
Одновременно с этим платформа решает и традиционные задачи, связанные с производительностью, эргономикой, функциональностью и т. д.
Платформа и прикладные решения
В системе «1С:Предприятие 8» существует четкое разделение на платформу и прикладное решение. Платформа представляет собой framework, в котором функционирует прикладное решение:
- Платформа служит фундаментом для построения прикладных решений,
- Платформа является средой их исполнения,
- Платформа содержит инструментарий, необходимый для разработки, администрирования и поддержки прикладных решений.
При этом прикладное решение является самостоятельной сущностью и может выступать в качестве отдельного программного продукта. Но полностью опирается на технологии платформы.
Метаданные — способ описания прикладного решения
Прикладное решение не пишется в прямом смысле на языке программирования. Язык программирования используется только там, где это действительно необходимо.
В основе прикладного решения лежат метаданные. Они представляют собой структурированное декларативное его описание. Метаданные образуют иерархию объектов, из которых формируются все составные части прикладной системы и которые определяют все аспекты ее поведения. Фактически, при работе прикладного решения, платформа «проигрывает» (интерпретирует) метаданные, обеспечивая всю необходимую функциональность.
Метаданными описываются структуры данных, состав типов, связи между объектами, особенности их поведения и визуального представления, система разграничения прав доступа, пользовательский интерфейс и т. д. В метаданных сосредоточены сведения не только о том, «что хранить в базе данных», но и о том, «зачем» хранится та или иная информация, какова ее роль в системе, и как связаны между собой информационные массивы.
Использование языка программирования ограничено решением тех задач, которые действительно требуют алгоритмического описания, например, расчета налогов, проверки корректности введенных данных и т. д.
Построение прикладного решения на основе модели
В платформе заложена ориентация на построение прикладного решения на основе определенной модели. Под моделью понимается вся идеология построения прикладного решения. Сюда относятся способы построения структур данных, типы связей между данными, принципы манипулирования данными, формы описания бизнес-логики, способы связи данных с интерфейсными объектами, разделение функциональности по уровням системы и многое другое.
Важно, что все прикладные решения следуют принятой модели и этим обеспечивается единообразие и предсказуемость их поведения. Подробнее…
Стандартные прототипы прикладных объектов
В модели разработки «1С:Предприятия 8» все прикладное решение описывается метаданными в виде совокупности прикладных объектов, выбираемых из определенного набора прототипов (классов). Каждый такой прототип отвечает за отражение в прикладном решении определенной совокупности объектов или процессов предметной области, имеющих схожие поведенческие характеристики и сходную роль в общей картине решения.
Каждый прототип имеет некоторую базовую реализацию, которая определяет особенности функционирования создаваемых на основе данного прототипа объектов: структуру хранимых сущностей вместе с некоторыми предопределенными полями, набор типов языка программирования, методы, свойства и события, а также типовые, для решаемой задачи, операции, способы отображения и редактирования, методы регулирования прав доступа и т. д.
Таким образом, все прикладное решение, фактически, состоит из объектов, четко разделенных по тем ролям, которые они играют в прикладном решении. Такой подход существенно усиливает эффект и от описания системы в терминах метаданных, и от построения приложения на основе модели. Подробнее…
Согласованность технологий и инструментов
Ключевым качеством платформы является достаточность ее средств для решения задач, стоящих перед прикладными решениями. Это позволяет обеспечить очень хорошую согласованность всех технологий и инструментов, которыми пользуется разработчик.
Технологии
Инструменты
Простейший пример — система типов. В платформе разработчик использует одну систему типов данных и для взаимодействия с БД, и для реализации бизнес-логики, и для построения интерфейсных решений. Поэтому у него нет проблем, связанных с преобразованием типов при переходах между разными уровнями прикладной системы.
Другой пример это современная концепция работы с информацией, которая сочетает несколько способов представления данных:
- хранение сущностей в базе данных;
- их представление в языке программирования в виде объектов;
- их отображение в формате XML или JSON;
- представление структуры прикладного решения в модели REST (REST API).
Все эти способы представления опираются на единую систему понятий, и от разработчика не требуется усилий для трансформации данных из одного способа представления к другому. Он один раз описывает некоторую сущность, а разные представления данных платформа генерирует автоматически.
Многозвенная архитектура работы
Прикладные решения, работающие под управлением платформы, используют многозвенную архитектуру «клиентское приложение — кластер серверов „1С:Предприятия 8“ — сервер базы данных».
С одной стороны это позволяет масштабировать систему от вариантов персонального использования, до работы в крупных, территориально распределенных холдинговых компаниях.
С другой стороны многозвенная архитектура позволяет выбирать между несколькими системами управления базами данных, которые будут использоваться для хранения прикладных данных.
Основные компоненты системы могут работать как под управлением операционной системы Windows, так и под управлением операционной системы Linux. Кроме этого клиентская часть «1С:Предприятия 8» может быть запущена и на компьютерах с операционными системами OS X и Apple iOS. Подробнее…
Отказоустойчивый кластер с балансировкой нагрузки
Кластер серверов обеспечивает отказоустойчивость системы к таким событиям как выход из строя серверного компьютера (в том числе и центрального сервера), аварийное завершение рабочего процесса или менеджера кластера, физический разрыва соединения пользователя с кластером и последующее его восстановление. Это достигается благодаря тому, что существует возможность резервирования как самого кластера, так и рабочих процессов, функционирующих в нем. Кроме этого кластер предпринимает специальные действия для того, чтобы обеспечивать устойчивость к обрыву канала связи. Подробнее…
Кластер автоматически выполняет балансировку нагрузки между своими рабочими процессами на основе актуального анализа их доступной производительности. При этом администратор системы может корректировать нагрузку на отдельные рабочие серверы. Как за счет физического ограничения обслуживаемых информационных баз или соединений, так и за счет переназначения части функциональности кластера на другие рабочие серверы. Подробнее…
Высокоуровневая модель интерфейса
Основной идеей построения интерфейса является максимальное использование информации из метаданных, а также объектов манипулирования данными с тем, чтобы вся конструкция не требовала детальной настройки со стороны разработчика и функционировала по большей части автоматически.
Разработчику достаточно связать такой объект с элементом формы или с самой формой, и механизм интерфейса полностью возьмет на себя организацию просмотра и модификации данных. Платформа автоматически подключит расширения, учитывающие тип данных, с которыми связан элемент управления или форма. Подробнее…
Платформа содержит целый набор механизмов, позволяющих создавать приложения на разных языках. Начиная от различных языков интерфейса платформы, поддержки национальных дат, чисел, и заканчивая средствами редактирования текстов интерфейса. Подробнее…
Веб-клиент и тонкий клиент
Для работы с прикладным решением пользователь может выбрать одно из двух клиентских приложений: тонкий клиент, либо веб-клиент. Каждое из клиентских приложений обладает своими преимуществами.
Тонкий клиент более функциональный за счёт того, что устанавливается на компьютере пользователя. Например, он имеет непосредственный доступ к файловой системе клиентского компьютера, может использовать локальные лицензии, установленные на компьютере пользователя.
В то же время веб-клиент более универсальный за счёт того, что не требует предварительной установки. Он исполняется не в среде операционной системы компьютера, а в среде интернет-браузера. Поэтому пользователю достаточно всего лишь запустить свой браузер, ввести адрес веб-сервера, на котором опубликована информационная база — и веб-клиент «сам приедет» к нему на компьютер и начнет исполняться. С помощью веб-клиента можно работать с прикладными решениями на компьютерах, которые заранее не подготовлены (или не могут быть подготовлены) для этого.
Важным фактом является то, что разработка прикладного решения ведется независимо от того, какое из клиентских приложений будет использоваться для работы с приложением. Клиентские модули, разработанные в конфигурации, веб-клиент автоматически компилирует из встроенного языка «1С:Предприятия 8» и непосредственно исполняет на своей стороне. Подробнее…
Мобильная платформа
Для работы на смартфонах и планшетах предоставляется специальная технология — мобильная платформа. С её помощью создаются приложения, которые автономно функционируют на этих устройствах. Основное назначение таких приложений заключается в том, чтобы быть частью распределенной информационной системы, обмениваться данными с основным приложением. А в те периоды, когда связь с основным приложением невозможна, обеспечивать полноценную автономную работу.
Разработка и отладка мобильных приложений ведётся теми же инструментами, в тех же терминах и понятиях, что и разработка обычных, «настольных» приложений. Отличие заключается лишь в том, что в конце, для получения дистрибутива мобильного приложения нужно выполнить ряд дополнительных действий, «собрать» мобильное приложение. Подробнее…
Интеллектуальные механизмы подготовки отчетов
Средства подготовки отчетности тесно интегрированы с другими механизмами платформы и имеют мощные возможности для интерактивной работы. Благодаря этому отчеты органично вписываются в общий интерфейс приложения. Фактически, пользователь в процессе работы не видит грани между общим интерфейсом и механизмом отчетности.
Одним из наиболее интересных механизмов такого рода является система компоновки данных, предоставляющая возможность с минимальными усилиями получить отчет с развитой функциональностью. Подробнее…
Построение распределенных и интегрированных информационных систем
Платформа содержит мощный набор механизмов обмена, способный решать самые разнообразные задачи. От поддержки территориально распределенных информационных баз, до построения сложных гетерогенных информационных систем, включающих, наряду с решениями на платформе «1С:Предприятие 8», еще и внешние приложения.
Облачные технологии
Прикладные решения «1С:Предприятия 8» способны функционировать в облаке, благодаря набору технологий и механизмов.
Базисом для облачных технологий является механизм разделения данных, реализованный в платформе. Благодаря ему прикладные решения могут работать в архитектуре multitenancy, когда единый экземпляр объекта приложения, запущенного на сервере, обслуживает множество клиентов или организаций.
Завершающим элементом облачных технологий является инфраструктура сервиса, позволяющая развертывать приложения «1С:Предприятия 8» в модели SaaS. Эта бизнес-модель подразумевает, что поставщик разрабатывает прикладное решение и самостоятельно управляет им, предоставляя потребителю доступ к прикладному решению через Интернет. Такой подход избавляет потребителя от всех затрат, связанных с установкой, обновлением и поддержкой оборудования и программного обеспечения. Потребитель оплачивает лишь пользование услугой.
Привет, Хабр!
В этой статье мы начнем рассказ о том, как устроена внутри платформа «1С:Предприятие 8» и какие технологии используются при ее разработке.
Нативные приложения
- STL (в частности, строки, контейнеры и алгоритмы)
- множественное наследование, в т.ч. множественное наследование реализации
- шаблоны
- исключения
- умные указатели (собственная реализация)
Компоненты
- Разделение способствует лучшему проектированию, в частности лучшей изоляции кода
- Из набора компонентов можно гибко собирать разные варианты поставки:
- Например, инсталляция тонкого клиента будет содержать wbase, но не будет backend
- а на сервере wbase, наоборот, не будет
- оба варианта будут, конечно, содержать nuke и bsl
- Предоставляет фабричные методы, позволяющие создать класс из другой компоненты зная только его название (без раскрытия реализации)
- Предоставляет инфраструктуру умных указателей с подсчетом ссылок. За временем жизни SCOM-класса не нужно следить вручную
- Позволяет узнать реализует ли объект конкретный интерфейс и автоматически привести указатель на объект к указателю на интерфейс
- Создать объект-сервис, всегда доступный через метод get_service и т.д.
Этот макрос опишет специальный статический класс-регистратор, конструктор которого будет вызван при загрузке компоненты в память.
После это можно создать его экземпляр в другой компоненте:Для поддержки сервисов SCOM предлагает дополнительную, достаточно сложную инфраструктуру. Центральным в ней является понятие SCOM-процесса, который служит контейнером для запущенных сервисов (т.е. выполняет роль Service Locator), а также содержит привязку к локализуемым ресурсами. SCOM процесс привязывается к потоку ОС. Благодаря этому внутри приложения можно вот так получать сервисы:
Более, того переключая логические (SCOM) процессы привязанные к потоку, можно получить практически независимые с точки зрения информационного пространства приложения, выполняющиеся в рамках одного потока. Так устроен наш тонкий клиент, работающий с файловой базой — внутри одного процесса ОС находятся два SCOM-процесса, один связан с клиентом, а второй — с сервером. Такой подход позволяет унифицировать написания кода, который будет работать как на локальной файловой базе, так и в «настоящем» клиент-серверном варианте. Цена за такое единообразие — накладные расходы, но практика показывает, что они того стоят.
На основе компонентной модели SCOM реализована и бизнес-логика и интерфейсная часть 1С: Предприятия.
Пользовательский интерфейс
Кстати, об интерфейсах. Мы не используем стандартные контролы Windows, наши элементы управления реализованы напрямую на Windows API. Для Linux-версии сделана прослойка, работающая через библиотеку wxWidgets.
Библиотека элементов управления не зависит от других частей «1С:Предприятия» и используется нами еще в нескольких небольших внутренних утилитах.За годы развития 1С:Предприятие внешний вид контролов менялся, но серьезное изменение принципов произошло только один раз, в 2009 году, с выходом версии 8.2 и появлением «управляемых форм». Помимо изменения внешнего вида, фундаментально изменился принцип компоновки формы — произошел отказ от попиксельного позиционирования элементов в пользу flow-компоновки элементов. Кроме того, в новой модели элементы управления работают не напрямую с доменными объектами, а со специальными DTO (Data Transfer Objects).
Эти изменения позволили создать веб-клиент «1С:Предприятия», повторяющий С++ логику контролов на JavaScript. Мы стараемся поддерживать функциональную эквивалентность между тонким и веб клиентами. В том случае, когда это невозможно, например, из-за ограничений доступных из JavaScript API (например, возможности работы с файлами очень ограничены), мы часто реализуем нужную функциональность при помощи расширений браузеров, написанных на C++. На данный момент мы поддерживаем Internet Explorer и Microsoft Edge (Windows), Google Chrome(Windows), Firefox (Windows и Linux) и Safari (MacOS).Кроме того, технология управляемых форм используется для создания интерфейса мобильных приложений на платформе 1С. На мобильных устройствах отрисовка контролов реализована с использованием «родных» для операционной системы технологий, но уже для логики компоновки формы и реакции интерфейса используется тот же код, что и в «большой» платформе «1С:Предприятие».
Интерфейс 1С на ОС Linux
Интерфейс 1С на мобильном устройстве
Интерфейс 1С на ОС Windows
Интерфейс 1С — веб-клиентOpen source
Заключение
В статье мы коснулись нескольких основных аспектов разработки платформы «1С: Предприятие». В ограниченном объеме статьи мы затронули лишь некоторые интересные, на наш взгляд, аспекты.
Общее описание различных механизмов платформы можно посмотреть тут.
Какие темы были бы интересны Вам в следующих статьях?Как реализована мобильная платформа 1С?
Описание внутреннего устройства веб-клиента?
Или, может быть, Вам интересен процесс выбора фич для новых релизов, разработки и тестирования?Эта статья является продолжением цикла статей «Первые шаги в 1С». В ней рассматриваются общая схема работы системы «1С:Предприятие 8» в клиент-серверном и в файловом варианте работы, а также приведена классификация различных клиентских приложений.
Материал статьи детально раскроет ответы на следующие вопросы:
- В чем различие между файловым и клиент-серверным режимом работы? Когда и какой режим нужно использовать?
- Как определить, в каком режиме работает система?
- Какие СУБД поддерживаются в клиент-серверном режиме?
- Как выполнить переход из файлового режима в клиент-серверный?
- Толстый, тонкий и веб-клиент – что это и когда какой использовать?
Применимость
В статье рассматривается платформа 8.2.19.83. Но не стоит пугаться, ведь всё, о чем будет говориться ниже, актуально и для текущих версий платформы 8.3 (10 редакции).
Архитектура приложений 1С
Итак, начальные знания о том, что такое программы 1С, получены. И, вероятно, получен первый «боевой» опыт. Теперь в дальнейших своих познаниях можно двигаться более систематизировано и досконально. В этой статье мы более подробно рассмотрим режимы работы с информационной базой (файловый и клиент-серверный), остановимся на особенностях этих режимов.
Прежде всего, еще раз отметим, что при файловом режиме работы, вся информационная база (конфигурация, вводимые данные, движения по регистрам, списки и настройки пользователей) хранится в одном файле (1Cv8.1CD).
Преимущество данного режима – можно работать сразу же, без дополнительных средств. Недостаток – предназначен для небольшого количества пользователей. Для того, чтобы работать в клиент-серверном режиме нужны дополнительные вложения.
При файловом режиме работы с базой сам файл хранится на некотором общедоступном ресурсе. Компьютер, на котором хранится файл, условно называется файловым сервером, а по сути лишь предоставляет дисковое пространство пользователям локальной сети.
Не смотря на то, что типового сервера в этом случае нет, тем не менее происходит имитация клиент-серверного режима работы. То есть, программируя в файловой базе, все равно следует придерживаться клиент-серверного механизма разработки.
Иными словами, какой-то программный код может и должен исполняться на клиенте, а какой-то на сервере. Преимущество такой разработки – простота перехода на клиент-серверный режим работы.
- файл 1Cv8.1CD – файл со специальной структурой, состоящий из таблиц. Причем размер одной таблицы не может превышать 4 Гб (для версий 8.3.7 и ниже). Начиная с версии 8.3.8 размер одной таблицы при определенных настройках размера страницы файла не может превышать 6 Гб;
- ограничение количества пользователей (чаще всего, до 10). Параллельное проведение документов невозможно;
- низкая безопасность. Любой пользователь 1С может скопировать файл с базой и вынести;
- при работе с платформой версии ниже 8.3 затруднено автоматическое выполнение регламентных заданий (нужно гарантировать, что определенный пользователь всегда находится в программе).
Клиент-серверный вариант работы предназначен для большого количества пользователей (десятки и сотни), при этом используется СУБД и кластер серверов 1С, которые обеспечивают необходимую производительность и стабильность работы.
Клиент-серверный вариант в большинстве операций обеспечивает большую скорость работы, чем файловый.
В данном случае работа осуществляется по трехзвенной архитектуре: на нижнем уровне находятся клиентские приложения, которые обращаются к кластеру серверов 1С (кластер серверов имеет механизм кэширования).
Обрабатывая запрос клиента, кластер серверов в определенных случаях может дать ответ сразу. Следует отметить, что в кластере серверов есть менеджер кластера, который и принимает запросы от клиентов.
В кластере могут располагаться также несколько дополнительных серверов, к одному из которых (в случае необходимости и в зависимости от нагрузки) менеджер кластера переадресует запрос пользователя.
Затем рабочий сервер-кластер обращается к СУБД для получения необходимых данных. После обработки запроса СУБД возвращает массив данных рабочему серверу для дальнейшей передачи подготовленных данных на клиентское приложение.
- при добавлении новых рабочих серверов кластера увеличивается производительность системы;
- существует возможность резервирования серверов.
Типы поддерживаемых СУБД 1С:Предприятие 8.3:
- MS SQL;
- IBM DB2;
- Postgre SQL;
- Oracle.
Переход с файлового режима работы на клиент-серверный осуществляется выгрузкой информационной базы в файловом режиме в упакованный файл с расширением dt и последовательной его загрузкой в информационную базу, созданную на сервере.
При этом не исключено, что может потребоваться адаптация некоторых алгоритмов (настройка управляемых блокировок, оптимизация запросов).
Текущий режим работы можно уточнить как из Конфигуратора, так и в Пользовательском режиме:
В платформе 1С:Предприятие 8.3 могут запускаться следующие клиентские приложения:
Ниже представлена архитектура приложений для файлового варианта работы.
Толстый клиент по собственному протоколу передачи данных напрямую обращается к информационной базе и получает ответ.
Ниже представлена архитектура приложений для клиент-серверного варианта работы.
При использовании клиент-серверного варианта работы вместо файловой базы данных используется СУБД и Кластер серверов 1С. В составе кластера серверов отмечаются: менеджер сервера и рабочие сервера.
После обращения клиента к Кластеру серверов 1С может последовать либо сразу ответ клиенту, либо обращение к СУБД.
Заключение
Данной статьей мы завершаем наш небольшой цикл «Первые шаги в 1С». Надеемся, представленная информация была для вас полезной и актуальной.
Также напомним: если вы хотите расширить свои знания по сопровождению и администрированию конфигураций на базе платформы «1С:Предприятие 8», то эту задачу можно решить с помощью нашего курса Администрирование систем на 1C: развертывание, управление пользователями, настройка и поддержка 1С:Предприятия 8, проверенного временем!
И в заключение – если вам понравился наш материал, то возможно, вас заинтересует другой, уже более емкий, цикл статей для начинающих разработчиков на платформе «1С:Предприятие 8».
PDF-версия статьи для участников группы ВКонтакте
Если Вы еще не вступили в группу – сделайте это сейчас и в блоке ниже (на этой странице) появятся ссылка на скачивание материалов.
Статья в PDF-формате
Если Вы уже участник группы – нужно просто повторно авторизоваться в ВКонтакте, чтобы скрипт Вас узнал. В случае проблем решение стандартное: очистить кеш браузера или подписаться через другой браузер.
Комментарии / обсуждение (4):
Статья познавательная, на картинке демонстрирующей работу работу клиент-серверного режима работы можно было показать чуть детальнее, разделив “Кластер серверов 1С” на “менеджер кластеров” и “рабочие сервера”. Хотя это не принципиально – в статье про это написано.
В настоящее время компания 1С почти полностью реализовала концепцию многоплатформенности . Полноценная клиентская часть теперь может запускаться не только из-под Windows , но и из-под Linux . Более того, в скором времени 1С обещает порадовать обладателей Mac - Book выпуском клиента под Mac OS (на данный момент выпущена ознакомительная бета-версия) . В Таблице 1 указаны компоненты технологической платформы 1С :П редприятие 8.3 и совместимые с ними операционные системы. Далее краткая расшифровка этих компонент:
· Разница между тонким и толстым клиентом не только в размере дистрибутива и уровне нагрузки на клиентские компьютеры. Тонкий клиент может работать только с конфигурациями, имеющими интерфейс на «управляемых формах», например, 1С :Б ухгалтерия предприятия 3.0», «1С: ERP 2.0», «1С :Управление торговлей 11», «1С:Зарплата и управление персоналом 3.0». «Обычные формы» имеют, например, конфигурации: «1С :Б ухгалтерия предприятия 2.0», «1С:Управление производственным предприятием», «1С:Управление торговлей 10.3», «1С:Зарплата и управление персоналом 2.5». Толстый клиент обеспечивает полную функциональность – и «управляемые формы» и «обычные формы» и режим «Конфигуратор» для разработчиков.
· Под Веб-клиентом подразумевается любой современный браузер (например, Microsoft Internet Explorer , Mozilla Firefox , Google Chrome , Safari …) практически в любой операционной среде. Он так же как и тонкий клиент работает только с конфигурациями на «управляемых формах». Браузеры под Android в принципе тоже работают, но с ограничением – не работает прокрутка пальцем в форме списка. В iPhone такого недостатка нет.
· Сервер 1С :П редприятие является важной частью концепции «трехзвенная архитектура», и играет роль сервера приложений. Такая схема работы еще называется «клиент-серверная», в ней в отличие от «файл-серверной» достигается эффект масштабируемости – существенно уменьшается зависимость производительности от количества пользователей и объема базы данных. По сути это посредник между сервером баз данных и клиентскими компьютерами. Сервер 1С обеспечивает взаимодействие с сервером баз данных, в частности механизм «управляемых блокировок», повышающий параллельность работы пользователей. Так же он берет на себя многие «тяжелые» вычислительные задачи, существенно разгружая клиентские компьютеры. В файл-серверной архитектуре клиентские компьютеры подключены непосредственно к файлу с базой данных, при этом показатели производительности и отказоустойчивости существенно ниже. Отдельно стоит отметить низкий уровень информационной безопасности файл-серверной архитектуры, т.к. файл базы данных может быть скопирован любым пользователем 1С.
· Сервер баз данных выполняет обработку и сохранность данных, обеспечивая при этом быстродействие, параллельность и отказоустойчивость. Он, так же как и Сервер 1С является важной обязательной частью «клиент-серверной» архитектуры. Сервер 1С совместим с наиболее распространенными коммерческими продуктами: MS SQL , Oracle Database , IBM DB 2 и свободно-распространяемой Postgre SQL . Но по кулуарному признанию сотрудников 1С наилучшую совместимость с Сервером 1С имеет MS SQL .
· Веб-сервер нужен для работы веб-клиента через Интернет . Веб-сервер поддерживает как клиент-серверную так и файл-серверную архитектуры. IIS входит в состав Windows системы. Apache – свободно-распространяемый продукт.
· Мобильная платформа подразумевает готовое приложение для мобильных устройств на iOS , Android или Windows Phone , которое может работать автономно с собственной базой данных в отсутствие связи с центральной базой (без Интернета, в режиме off - line ). Такая база может обмениваться данными с полноценной стационарной базой по интернету с использованием механизом "планы обмена" и "веб-сервисы".
· COM -соединение – это особый вид подключения «напрямую» между двумя приложениями, расположенными на одном компьютере, для обмена данными . Такой вид подключения ускоряет процесс синхронизации, например, между «1С :Б ухгалтерия предприятия» и «1С:Управление торговлей», т.к. при этом не используется промежуточный файл обмена. Механизм доступен только в среде Windows .
· 1С :П редприятие в режиме «Конфигуратор» - это инструмент для администрирования, конфигурирования и разработки. Механизм доступен только в Windows и Linux . В перспективе 1С готовит к выпуску новую интегрированную среду разработки на базе технологии Eclipse , которая так же является кроссплатформенной.
В Таблице 2 для каждой компоненты технологической платформы 1С :П редприятие указан необходимый вид лицензии. Для полноценной работы платформы 1С в режиме «файл-сервер» достаточно клиентской лицензии. Для работы в режиме «клиент-сервер» кроме клиентской лицензии понадобится еще лицензия на сервер, а так же лицензия на сервер базы данных (СУБД). В качестве СУБД компания 1С использует продукты сторонних производителей ( вендоров ), поэтому за подробностями по ценовой политике надо обращаться к ним. Но отдельно стоит отметить Runtime лицензии: компания 1С совместно с Microsoft , IBM и Oracle предлагает партнерскую продукцию со значительной скидкой – ограниченные по запуску лицензии, не позволяющие совместное использование СУБД ни с какими другими прикладными решениями, кроме сервера 1С. При этом само взаимодействие с сервером 1С является полноценным, без каких либо ограничений.
Несколько слов о видах лицензий на наиболее популярную СУБД - MS SQL . Всего их два:
· «На рабочие места», в этом случае приобретается два вида лицензий: на сервер MS SQL и клиентские доступы по числу максимально возможных клиентских подключений
· «На ядро», в этом случае приобретается только лицензия на сервер MS SQL , разрешающая неограниченное количество клиентских подключений.
Отдельно стоит отметить работу платформы 1С в качестве приложения для мобильных устройств: до 15.07.2015 никаких дополнительных лицензий не требовалось, достаточно было лицензий, установленных на сервере центральной базы данных, с которой такое приложение может взаимодействовать через web -сервисы. Не считая сервисной платы, взимаемой Google, Apple и Microsoft за возможность выкладывать свои приложения на Google Play, AppStore и Windows Phone Store. Теперь же действуют новые правила:
- по прежнему не требуется лицензия на тиражные мобильные приложения, предназначенные для распространения среди третьих лиц, в т. ч. через магазины приложений AppStore и Google Play (как за плату, так и бесплатно)
- если приложение разработано для собственных нужд компании, то в этом случае необходимо приобрести "клиентскую лицензию на мобильное рабочее место". Причем на одном мобильном устройстве может быть установлено несколько разных 1С-приложений, столько же лицензий необходимо приобрести. Клиентская лицензия на мобильные рабочие места представляет собой документ с указанным количеством рабочих мест.
В Таблице 3 указаны различные варианты размещения программных клиентских лицензий, или простыми словами - кто занимается раздачей лицензий. Дается сравнительный анализ всех вариантов. Расшифруем основные понятия:
· Расход лицензий «на рабочий стол» означает, что пользователь на одном компьютере или в одной терминальной сессии может открыть любое количество сеансов (окон) 1С, и при этом израсходуется только одна клиентская лицензия.
· Расход лицензий «на соединение» означает, что один сеанс (окно) 1С отнимает одну клиентскую лицензию.
· Конкурентное лицензирование означает, что потенциальных пользователей может быть существенно больше, чем одновременных подключений 1С. Это связано с тем, что некоторая часть пользователей находится в офисе не целый рабочий день (выездная работа, командировки, отпуска, больничные), некоторые пользователи разнесены по разным часовым поясам и никогда не пересекаются , руководители открывают 1С периодически, чтобы посмотреть отчеты. В таких случаях вероятность, что все пользователи одновременно войдут в 1С чрезвычайно мала . Значит, нет смысла платить за лицензии для всех пользователей, имеет смысл ориентироваться на наиболее вероятное максимальное количество одновременных подключений. Такой эффект тем ярче выражен, чем крупнее компания.
В Таблице 4 указана ценовая политика для всех типов 1С-лицензий технологической платформы. Расшифруем основные понятия:
Аппаратная лицензия (ключ защиты) конструктивно выполнена в форме USB - флешки . Раздачей клиентских и серверных лицензий в локальной сети занимается программное обеспечение License Manager от стороннего производителя Sentinel (бывший Aladdin) .
Программная лицензия – это комплект пинкодов , с помощью которых происходит активизация лицензий и их привязка к определенному компьютеру. Раздачей программных клиентских и серверных лицензий занимается сервер 1С. Раздавать программные клиентские лицензии так же может Web -сервер.
Документ, регулирующий правила использования мобильной платформы "1С:Предприятие" на количестве мобильных рабочих мест, указанных в лицензии.
Версия КОРП технологической платформы в отличие от обычной версии ПРОФ:
· расширяет возможности администрирования сервера 1С,
· действует более самостоятельно при решении сбойных ситуаций
· выполняет более умную балансировку нагрузки на аппаратное обеспечение.
Все эти меры в первую очередь направлены на повышение отказоустойчивости кластера серверов 1С при работе с высоконагруженными базами данных.
В Таблице 5 приведен сравнительный анализ программной и аппаратной лицензий.
Таблица 1 . Компоненты технологической платформы 1С :П редприятие 8.3 и совместимые с ними операционные системы
Читайте также: