Внедрение цифровых технологий изменяет методы ведения бизнеса, причем темп изменений никогда еще не был таким высоким, как сегодня. Главная задача цифровизации – ускорение бизнеспроцессов. Это заставляет компании осваивать новые инструменты и методы, чтобы повысить эффективность работы и остаться конкурентоспособными на рынке. Все большую популярность приобретает концепция low-code (или no-code) программирования, предполагающая разработку бизнес-приложений с минимальным (или нулевым) использованием кода. Концепция отражает реакцию рынка на сложность и разнообразие современных средств разработки ПО. Согласно исследованию компании Gartner, к 2024 году low-code платформы будут применяться при разработке более чем 65% приложений по всему миру.
Востребованность такой технологии растет из-за повышенного спроса на бизнес-приложения в условиях динамично меняющегося рынка и нехватки квалифицированных программистов. Low-code программирование – вполне естественный этап повышения уровня абстракции при разработке приложений, которые создаются в графической среде с помощью блоков и связей между ними, строящихся по методу перетаскивания (drag-and-drop).
Такой подход позволяет создавать приложения специалистам, не обладающим навыками и знаниями в области программирования, то есть инженерам, бизнес-аналитикам или даже продвинутым пользователям. Это ключевые сотрудники, носители информации о процессах компании.
Предоставление в их руки инструмента, позволяющего, по сути, создавать/изменять компоненты ИТ-системы предприятия, дает возможность повысить гибкость и прозрачность бизнеса, снизить затраты, увеличить скорость разработки корпоративной IT-системы.
Low-code программирование помогает сократить разрыв между профессиональными разработчиками и так называемыми гражданскими разработчиками (citizen developer), то есть сотрудниками компании, которые раньше не были связаны с разработкой приложений. Это дает возможность исключить трудности взаимодействия между бизнес-заказчиками и разработчиками внутри компании. Применение low-code методологии допускает создание единой команды для разработки приложений, когда одну часть задач берут на себя гражданские разработчики, а другую часть – профессиональные программисты. Тем самым low-code программирование помогает снизить риски и сократить сроки реализации внутренних задач в корпоративной системе. Руководители разных уровней получают возможность оперативно опробовать новые модели управления, самостоятельно адаптировать интерфейсы к потребностям пользователей, быстро создавать новые формы отчетов, вносить изменения в бизнес-процессы и т.д.
Следует отметить, что low-code разработка не означает отказ от написания кода при создании бизнес-приложений. Действительно, есть задачи, которые можно полностью решить посредством low-code программирования. Но, как показывает практика, при разработке крупного или сложного приложения без профессиональных разработчиков не обойтись.
Рассмотрим, например, задачу оперативного снятия данных со станка в цехе предприятия для последующего их анализа на компьютере. Можно ли решить ее средствами low-code разработки?
Эта задача предполагает несколько аспектов. В первую очередь необходимо получить данные с промышленного оборудования, например, станка. Здесь есть два варианта: первый – на предприятии уже развернута ИТ-система, которая получает данные с оборудования, и второй – на предприятии такой системы нет, а есть оборудование и нужно разработать специальное приложение, чтобы считывать данные с этого оборудования.
В случае, когда система развернута, данные с оборудования снимаются и сохраняются этой системой. Возможно, это какая-либо специализированная система, которая не отображает всех данных или не удовлетворяет пользователей по каким-либо другим параметрам. В этом случае применение low-code платформы действительно оправдано – можно подключиться к существующей системе, которая собирает данные, считать нужную информацию и создать приложение с помощью инструментов low-code разработки.
Если рассматривать вариант, когда нужно передать данные с оборудования непосредственно в приложение при отсутствии развернутой системы сбора данных, то для решения такой задачи, кроме применения low-code платформы, возможно, потребуется привлечение программистов, которые должны будут построить связи с протоколами промышленного оборудования и обеспечить преобразование данных в формат, подходящий для low-code среды. Затем, используя эти данные, инженер может самостоятельно создать нужное приложение на low-code платформе. Такую платформу предлагает, например, компания Mendix™, которая два года назад стала подразделением концерна Siemens.
Платформа Mendix способна обмениваться данными с большинством индустриальных систем управления предприятием. Одна из ключевых задач позиционирования решений Mendix – создание корпоративной коллаборативной платформы верхнего уровня, на основе которой можно быстро и просто создавать логику интерфейсов. То есть она должна взаимодействовать с различными системами, в том числе наследуемыми (legaсy). Исторически сложилось, что эта платформа изначально легко интегрировалась с
ERP-системами компании SAP. Что касается решений других вендоров, соответствующих требованиям отраслевых промышленных стандартов, то в состав платформы Mendix включены коннекторы (или API-интерфейсы) для подключения к большинству современных систем. Причем эти интерфейсы разработчики могут бесплатно скачивать онлайн. Mendix предлагает также решения
для подключения к другим системам управления предприятием, построенным на стандартных базах данных типа SQL. Это одно из важнейших конкурентных преимуществ платформы. Созданное с помощью low-code платформы приложение автоматически, одним щелчком мыши отслеживает все изменения и обрабатывает скрипты базы данных, устраняя многие трудоемкие процессы развертывания и функционирования систем. Технология Mendix отличается от других предложений на рынке тем, что обеспечивает многоплатформенность, то есть разработанное приложение можно запускать на компьютере, планшете или смартфоне, под управлением различных операционных систем. При этом Mendix поддерживает «нативные» приложения, это означает, что приложение может работать без подключения к сети (серверу) и использовать такие аппаратные возможности устройства, на котором работает, как, например, средства аутентификации (отпечаток пальца, сканированиеица и другие), использование камеры, GPS и т.п. Кроме разработки приложения каким-либо способом, важным ключевым фактором является его тестирование, сопровождение и весь жизненный цикл. Mendix содержит весь комплекс необходимых инструментов для решения этих задач и поддерживает методологию CI/CD.
Чтобы создать бизнес-приложение на платформе Mendix, с помощью которого можно оперативно анализировать какие-либо данные или параметры, не обязательно обращаться к стороннему разработчику или системному интегратору, который внедрил систему управления предприятием. Такое решение можно создать силами сотрудников компании. Это позволяет предприятию отказаться от аутсорсинговых услуг, тем самым обеспечивая дополнительную экономию затрат.
Несмотря на популярность low-code программирования в европейских странах, в России эту технологию пока применяют редко. Mendix только недавно вышла на российский рынок, тем не менее специалисты Siemens Digital Industries Software, отвечающие за внедрение платформы Mendix, уже начали прорабатывать совместные решения со своими российскими коллегами. В частности, для отечественных предприятий предлагается решение, которое обеспечивает подключение платформы Mendix к системе 1C, весьма популярной на российском рынке.
Технические специалисты Siemens Digital Industries Software продемонстрировали некоторым российским заказчикам возможности и функционал платформы Mendix. Например, было показано, как можно быстро и просто передать данные из системы SAP в демоприложение, созданное на платформе Mendix. Программисты, которые занимаются интегрированием различных систем, хорошо понимают сложность получения данных из других систем, их интерпретации и преобразования в требуемый формат. Часто такую задачу решить не удается вовсе. У специалистов, продемонстрировавших возможности решения Mendix, этот процесс занял всего 5–7 минут.
Возникает вопрос: может ли менеджер, используя low-code программирование, справиться с задачей получения сложной и иногда сложно структурированной информации (например, из хранилищ системы SAP) или для этого нужен квалифицированный программист? Однозначно ответить на этот вопрос нельзя. Все зависит от опыта и знаний конкретного человека. Следует учитывать, что концепция low-code не означает, что сотрудник компании может вообще не иметь опыта программирования или не обладать знаниями в этой области.
Так или иначе разработчик должен быть знаком с методологией создания приложений, построения моделей данных. Он должен понимать задачу и знать последовательность ее решения, в которую входит ряд этапов. Вначале следует описать модель данных, а затем построить логику работы приложения. В любом случае вряд ли менеджер, впервые скачав инструмент разработки с сайта компании, сможет быстро создать приложение. Siemens Digital Industries Software предлагает бесплатные web-курсы по основам low-code разработки, окончив которые инженер или менеджер приобретет знания, достаточные для самостоятельного создания приложений на базе платформы Mendix.
При рассмотрении вопроса o применимости low-code программирования следует учитывать специфику поставленной задачи. Например, low-code платформа идеально подходит для написания приложений, обрабатывающих готовые данные. Это наиболее быстрый и эффективный путь создания работающего решения. Однако для таких задач, как, например, разработка компьютерной игры или драйвера оборудования, который должен интерпретировать данные, полученные с аппаратного уровня, low-code подход не применим.
Преимуществом low-code программирования является то, что этот метод обеспечивает преемственность кода. При классическом сценарии создания приложения текст программы состоит из множества строк кода. Причем далеко не всегда программист оставляет комментарии и описания алгоритма в тексте программы. На практике у каждого программиста имеется свое мнение о том, как лучше построить программу. Поэтому если программист, разработавший систему, уходит из компании, может возникнуть проблема, связанная с тем, что никто не может разобраться в коде. При применении low-code платформы разработка приложения, по сути, унифицируется, поскольку алгоритмы приложения визуализируются с помощью графических блоков и связей между ними. Тем самым устраняется проблема преемственности, причем в созданном приложении может разобраться не только квалифицированный программист, но и, например, инженер.
Можно выделить три основных типа решения для ИТ-системы предприятия, которые определяют, следует ли заказчику самостоятельно разрабатывать приложение с применением low-code программирования или поручить эту работу системному интегратору или другой сторонней организации. Первый тип – это инновационная система, которой на рынке до сих пор не существовало, и компания хочет реализовать какие-либо новые подходы или собственные бизнесмодели. Второй тип системы – это коллаборативная платформа, когда имеется задача получить данные с существующей системы, дополнить их необходимой логикой и создать единое информационное пространство предприятия. И третий вариант – это готовые системы под конкретные задачи компании, такие как ERP-, CRM-, MOM-или MES-системы. При первом и втором сценарии, то есть когда нужна инновационная система или коллаборативная платформа, заказчику целесообразно самостоятельно создавать приложение на базе low-code платформы. Когда речь идет о готовых системах, то их лучше покупать у вендоров, потому что у них накоплен необходимый опыт, имеются квалифицированные специалисты, которые реализуют IT-решение быстрее и c меньшими издержками, чем если их разрабатывать самостоятельно. Siemens Digital Industries Software охватывает все три варианта – предлагает как готовые системные решения для конкретных задач, так и дает возможность заказчикам разрабатывать самостоятельные решения, строить коллаборативные и инновационные системы на базе платформы Mendix.
Как показывает опыт, применение low-code платформы позволяет сократить время разработки на порядок и более, при этом ресурсов тратится на 70% меньше. Это достигается главным образом за счет возможности коллаборативной работы и оптимизации использования ресурсов компании. Платформа Mendix обеспечивает совместную эффективную работу специалистов из различных подразделений компании и программистов из департамента информационных технологий, что значительно ускоряет процесс. В отличие от этого при традиционном подходе вначале подразделение выходит с бизнес-идеей, затем разрабатывает и утверждает техническое задание, которое передается непосредственно исполнителям.
После этого пишется ПО, выполняется тестирование и, наконец, решение вводится в эксплуатацию. Этот процесс может занимать от года и более в зависимости от задачи и количества ресурсов. При использовании платформы Mendix создание приложения и его тестирование может занимать от месяца до трех. Это результат применения на практике популярного сегодня agile-подхода при разработке ПО. Когда приложение можно создать всего за месяц и изменить его всего за несколько минут, предприятие способно быстрее адаптироваться к динамичным условиям ведения бизнеса.
Подход low-code может быть применим в различных отраслях промышленности и практически в любой современной компании, где есть ИТ-отдел. Безусловно, разные компании находятся на разных этапах «цифровой зрелости», и иногда применение low-code с первого взгляда не очевидно.
Но если разобраться детальнее в бизнес-процессах предприятия, то Mendix может быть полезен для решения задач различных подразделений – от отдела кадров (приложения по поиску, утверждению кандидатов) до отдела административно-хозяйственной деятельности (контроль административных ресурсов, заказов и т.п.).
Сегодня, в эру цифровой трансформации, каждая компания становится, по сути, ИТ-компанией, а каждый сотрудник должен обладать навыками программирования, точно так же как раньше был просто обязан уметь пользоваться текстовыми процессорами или электронными таблицами. Сегодня подобного рода требованием становится способность инженера или менеджера фиксировать свои знания, навыки и опыт в бизнес-приложении. Платформа Mendix предоставляет сотрудникам компании инструмент, с помощью которого они не только смогут самостоятельно создать прототип приложения и готовое решение, но и станут гораздо лучше понимать своих коллег из ИТ-отдела, тем самым ускоряя бизнес-процессы, экономя время и деньги для своей компании.
Источник: http://images.info.siemensplmevents.com/Web/SiemensPL/