Программный комплекс «1С:Предприятие 8.0» как платформа разработки бизнес-приложений КТПП
Что такое платформа и что такое бизнес-приложения
Понятие платформы и платформенно-ориентированного построения приложений сегодня стало общепринятым. Платформа это среда исполнения и набор технологий, используемые в качестве основы для построения определенного круга приложений. Платформа предоставляет разработчику некоторую модель, которая, как правило, изолирует его от понятий и подробностей технологий и платформ более низкого уровня.
При разработке платформы «1С:Предприятие» ее создатели сразу ориентировались на получение целостной базовой платформы, которая будет использоваться для построения разнообразных бизнес-приложений. При этом данные бизнес-приложения могут создаваться не только специалистами фирмы «1С», но и множеством других разработчиков, которые являются экспертами в тех или иных отраслях производственной деятельности. Поэтому платформа изначально проектировалась как тиражируемый продукт. Этот продукт включает все необходимые технологии для эксплуатации бизнес-приложений и инструменты для их разработки и модификации.
Создание и развитие единой платформы для большого количества прикладных решений помогает формировать некий общий «культурный слой», который включает как людей (программистов, аналитиков, пользователей), так и методологию разработки приложений. Это типовые структуры данных, алгоритмы, пользовательские интерфейсы. Опираясь на такой «слой», разработчик почти не затрачивает усилий на поиск необходимого решения, начиная с включения в проект нового специалиста и заканчивая созданием какого-либо дополнительного модуля бизнес-приложения по типовой методологии.
Необходимо отметить, что возможность эффективного изменения готового решения теми разработчиками, которые не участвовали в его создании, является особо важной. Опыт разработки бизнес-приложений показывает, что значительная часть разработчиков не создает программы с нуля, а лишь дорабатывает типовые решения. Высокий уровень настраиваемости решений на специфические требования пользователя является одним из важных преимуществ столь четкого разграничения между платформой и бизнес-приложением.
Данное обстоятельство определяет особые требования к наглядности и простоте понимания разработчиком уже существующих решений, а также максимально учитывается во всех механизмах платформы. Выделение бизнес-приложения как самостоятельного элемента позволяет сформировать целую область создания, распространения и поддержки разнообразных прикладных систем. В этой области можно сконцентрировать свои усилия только на специфике данного класса задач. Работа здесь не потребует глубокого понимания большей части технологических деталей и подробностей.
Модель как основа построения приложения
В принципах построения платформы «1С:Предприятие» изначально заложена строгая ориентация на разработку прикладного решения на основе определенной модели.
Модель это вся идеология построения прикладного решения. Здесь и способы построения структур данных, и типы связей между данными, и принципы управления данными, и форматы описания бизнес-логики, и способы связи данных с объектами интерфейса, и разделение функциональности по уровням системы, а также многое другое.
Важно, что все приложения должны следовать принятой модели. Этим обеспечивается единообразие и предсказуемость их поведения. Таким образом, разработчик, который желает отразить в прикладном бизнес-решении специфику той или иной предметной области, имеет вполне определенный набор способов реализации задачи средствами, заложенными в платформу. Безусловно, такой подход в чем-то ограничивает свободу разработчика, но в то же время он защищает от множества ошибок и позволяет довольно быстро получить работоспособное решение, которое в дальнейшем сможет развиваться и поддерживаться не только им, но и другими специалистами.
Такой подход, по сути, изолирует разработчика бизнес-приложения от особенностей технологии хранения информации, организации трехуровневой архитектуры и т.п. Все прикладные решения, базирующиеся на платформе «1С:Предприятие», без каких-либо изменений работают как с собственным файловым движком базы данных, так и с сервером баз данных. На основе описания метаданных необходимые структуры данных создаются и изменяются системой автоматически. Поэтому разработчику не приходится вникать в детали форматов хранения конкретных СУБД. Управление данными в приложении также описывается в модели высокого уровня и автоматически исполняется с учетом особенностей используемого хранилища данных.
Кроме того, наличие единой модели принципиальным образом сказывается и на простоте освоения системы. Вся разработка ведется в рамках одной сквозной системы понятий и в едином пространстве типов данных. У разработчика не возникает необходимости осваивать несколько моделей представления и тратить усилия на реализацию переходов между ними на разных уровнях.
Управление данными
В системе «1С:Предприятие» все операции редактирования данных (создание, изменение и удаление) проводятся только с использованием объектной техники. Разработчики взаимодействуют с базами данных не на уровне записей, а с помощью объектов, соответствующих хранимым в базах данных сущностям. Работа с объектными сущностями поддерживается представлением сущностей базы данных в виде объектов встроенного языка программирования и специальными типами данных, служащими для представления объектных ссылок (ссылок на объекты базы данных). Зная объект, легко получить его ссылку: зная ссылку извлечь объект из базы данных. Данная техника обеспечивает наглядный и естественный способ описания в исходном коде алгоритмов бизнес-логики, манипулирующих объектами, и гарантирует логическую целостность данных при любых операциях. Это напоминает написание приложений объектных баз данных, с той лишь разницей, что сохранение данных происходит в таблицах реляционной СУБД. При этом в модулях, написанных на встроенном языке, может одновр еменно присутствовать несколько объектов, относящихся к одной единице базы данных.
Для изменения хранимых данных не требуется писать сложные запросы и преобразовывать результаты их обработки в объекты языка программирования. Достаточно получить объект из базы данных, изменить его свойства и снова сохранить. Разработчик при этом имеет возможность написать обработчики событий, связанных с изменением данных, выполняя с их помощью различные проверки и изменяя при необходимости другие данные. Система обеспечивает эффективную технологическую поддержку объектного подхода, осуществляя, например, кэширование объектов, контроль объектной и ссылочной целостности и т.д. Для чтения данных может использоваться как объектная техника, так и декларативный язык запросов, который основывается на обычном SQL, но имеет ряд существенных расширений.
Что в итоге?
Таким образом, в основе модели платформы «1С:Предприятие 8.0» лежит несколько общих принципов:
• инструментальные средства и архитектура платформы реализованы так, чтобы разработчик бизнес-приложения мог сосредоточиться на решении прикладных задач той или иной предметной области, максимально абстрагируясь от низкоуровневых технологий;
• вся разработка ведется в одной системе понятий, что значительно ускоряет обучение специалистов и повышает производительность их труда от построения структур данных до проектирования элементов интерфейса и подключения средств интеграции;
• платформа содержит готовые ответы практически на все вопросы, возникающие у разработчика прикладного решения, начиная от того, как отражать в базе данных информацию предметной области, и заканчивая процедурами поставки, поддержки и администрирования;
• единая, сквозная высокоуровневая модель и реализующие ее технологии позволяют на порядок сократить затраты на создание и поддержку прикладных бизнес-приложений.
Разработанная компанией APPIUS Сиcтема управления проектом и электронным архивом (1C-PDM) яркая иллюстрация возможности создания сложных инженерных приложений на платформе «1С:Предприятие 8.0».
Иван Берендеев
Ведущий программист ЗАО «APPIUS», руководитель разработки 1С-PDM.
«САПР и графика» 6'2005