22.10.2018
Компания LM Soft объявила о создании инструментария высокоуровневого программирования в среде «1С». Это ПО, получившее название Jinnee, предназначено для автоматического формирования кода приложений (кодогенерации) и создания конфигураций «1С» при разработке программных продуктов, а также адаптации готовых решений под требования заказчика.
Презентацию Jinnee компания провела на конференции сообщества разработчиков ПО на платформе «1C» Infostart Event Education (Санкт-Петербург, октябрь). В своем выступлении Дмитрий Белозеров, системный архитектор LM Soft, отметил, что сам по себе принцип кодогенерации не является чем-то уникальным и широко применяется при разработке ПО на C#, Java, PHP, Python, .Net и других платформах. Особенность же Jinnee заключается в адаптации этой технологии к программированию в такой специфической среде разработки, как «1С», где типовые конфигурации определяются изначально заданными шаблонами функциональности в виде объектов метаданных.
Например, при создании систем управления нормативно-справочной информацией (НСИ) на базе «1С» применение Jinnee позволяет LM Soft перейти от традиционных методов ручной разработки множества конфигураций для разных наборов справочников к полностью автоматизированному созданию и доработке связанных конфигураций на основе так называемого эталонного справочника с уже заложенной общей функциональностью НСИ заказчика. При этом благодаря кодогенерации у создаваемых справочников обеспечиваются одинаковые наборы функций в рамках всей сформированной конфигурации «1С» для системы управления НСИ, в том числе обеспечение версионности, формирование печатных форм, хранение присоединенных файлов, нормализация, поиск дублей и репликация.
Кроме того, Jinnee позволяет решить одну из традиционных проблем доработок типовых конфигураций «1С», а именно их слабую отчуждаемость. Такая доработка может быть реализована в виде Jinnee-скрипта, который анализирует данные и вносит изменения на уровне XML-кода, позволяя программисту управлять кодогенерацией на более высоком уровне представления, в терминах метаданных.
Таким образом, ПО Jinnee реализует одновременно и среду выполнения, и среду разработки правил, предоставляя интерфейс для создания и редактирования правил и сценариев, которые хранятся в XML-файлах. Это, в свою очередь, позволяет снизить себестоимость разработки, а также повысить качество продукта за счет уменьшения влияния человеческого фактора.
LM Soft уже применяет механизмы кодогенерации при внедрении и адаптации своих высокоуровневых программных продуктов на основе «1С», таких как системы проектного управления (PPM), управления жизненным циклом сложных технических изделий (PLM), управления основными данными предприятия (MDM). Так, в настоящее время Jinnee активно применяется в проекте по созданию комплексной системы управления полным жизненным циклом для Государственного ракетного центра имени академика В. П. Макеева.
В дальнейшем LM Soft планирует развивать возможности этого инструмента по таким направлениям, как реализация поддержки формата перспективной для «1С» среды разработки EDT, проведение глубокого синтаксического анализа (парсинга) программного кода «1С» и построение синтаксических графов. Отдельным направлением является реализация в Jinnee механизма формирования сценариев кодогенерации для «1С» на основе абстрактных функциональных моделей в соответствии с концепцией MDD (Model Driven Development).