1С:Предприятие 8
Система программ
Архитектура платформы 1С:Предприятие
(версия 8.3.26)

Обзор архитектуры платформы

Основная задача платформы заключается в повышении уровня абстракции при разработке и использовании прикладных решений. Это позволяет перейти от технических и низкоуровневых понятий к более содержательным и высокоуровневым. Позволяет приблизить эти понятия к языку пользователей и специалистов в предметной области. В конечном итоге это значительно ускоряет и унифицирует разработку прикладного решения и его сопровождение.

Одновременно с этим платформа решает и традиционные задачи, связанные с производительностью, эргономикой, функциональностью и т. д.

Платформа и прикладные решения

В системе «1С:Предприятие 8» существует четкое разделение на платформу и прикладное решение. Платформа представляет собой framework, в котором функционирует прикладное решение:
  • Платформа служит фундаментом для построения прикладных решений,
  • Платформа является средой их исполнения,
  • Платформа содержит инструментарий, необходимый для разработки, администрирования и поддержки прикладных решений.

При этом прикладное решение является самостоятельной сущностью и может выступать в качестве отдельного программного продукта. Но полностью опирается на технологии платформы.

Метаданные — способ описания прикладного решения

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

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

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

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

Построение прикладного решения на основе модели

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

Важно, что все прикладные решения следуют принятой модели и этим обеспечивается единообразие и предсказуемость их поведения. Подробнее…

Стандартные прототипы прикладных объектов

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

Примерами таких прототипов являются «Справочники», «Документы», «Регистры накопления».

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

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

Согласованность технологий и инструментов

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

Технологии

Мобильный клиент
Распределенные базы данных
Обмен данными XML
Система компоновки данных
Data mining
Агрегаты
Бизнес-компоненты
Отказоустойчивый кластер
Архитектура, управляемая метаданными
Встроенный мессенджер, аудио и видеозвонки, показ экрана
История изменения данных
Глобальный поиск
SOA
JSON
Работа в облаке

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

Другой пример это современная концепция работы с информацией, которая сочетает несколько способов представления данных:
  • хранение сущностей в базе данных;
  • их представление в языке программирования в виде объектов;
  • их отображение в формате XML или JSON;
  • представление структуры прикладного решения в модели REST (REST API).

Фактически любая информация может в зависимости от текущего режима работы представляться одним из этих способов. Долговременное хранение сущностей осуществляется в базе данных, что обеспечивает надежность и эффективную обработку больших объемов информации. Для внесения изменений данные предварительно преобразуются в объекты встроенного языка. При внутреннем обмене в распределенной базе данных, или взаимодействии с другими информационными системами, данные переносятся в формате XML или JSON. Также сторонние системы могут обращаться к прикладному решению с помощью HTTP запросов через REST интерфейс, автоматически генерируемый платформой. Ответ они могут получать в форматах Atom/XML или JSON.

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

Многозвенная архитектура работы

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

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

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

Основные компоненты системы могут работать как под управлением операционной системы Windows, так и под управлением операционной системы Linux. Кроме этого клиентская часть «1С:Предприятия 8» может быть запущена и на компьютерах с операционными системами OS X и Apple iOS.

Отказоустойчивый кластер с балансировкой нагрузки

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

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

Высокоуровневая модель интерфейса

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

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

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

Веб-клиент и тонкий клиент

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

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

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

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

Мобильная платформа

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

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

Интеллектуальные механизмы подготовки отчетов

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

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

Построение распределенных и интегрированных информационных систем

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

Кроме этого в платформе имеется целый набор средств, позволяющих интегрироваться практически с любыми внешними программами и оборудованием на основе общепризнанных открытых стандартов и протоколов передачи данных. Это и технологии веб-сервисов (HTTP, REST, SOAP), и различные форматы обмена данными (JSON, XML), различные протоколы (HTTP, FTP) и т. д. Подробнее…

Облачные технологии

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

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

Другим важным элементом является отказоустойчивый масштабируемый кластер серверов, обслуживающий большое количество одновременно работающих клиентов. Работа в облаке предполагает также подключение к информационной базе по протоколу HTTP (HTTPS), благодаря чему клиенты могут работать через интернет из любой точки земного шара.

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