Оперативные новости и аналитические материалы мира высоких технологий
Статья

Разработка СЭД: что сможет дать "Конструктор решений"

ПО Цифровизация Документооборот Бизнес-приложения Системное ПО Софт

Использование решений-конструкторов не является чем-то новым – многие разработчики не раз говорили о том, что тот или иной продукт имеет функцию конструктора и позволяет на его основе создавать готовое ПО. Тем не менее, их возможности ограничены, и на деле продуктом такой работы становятся лишь весьма ограниченные по функционалу решения. Новый инструмент со старым называнием анонсировала компания "ДоксВижн", заявив, что в реальностиэто совершенно иной продукт, существенно отличающийся от своих предшественников. В чем же заключаются эти отличия и насколько новый "Конструктор решений" облегчит жизнь и интеграторам, и заказчикам?

Многие производители средств автоматизации бизнес-процессов заявляют о наличии различных продуктов, выполняющих функцию конструктора, т.е. позволяющих строить готовые приложения. Однако, как показывает практика, возможности таких решений ограничены – в основном они могут менять уже имеющиеся объекты или строить подобные приложения на их основе. Ранее в линейке решений компании "ДоксВижн" таким "конструктором" являлась "Универсальная карточка", с помощью которой строили решения "без программирования", например ServiceDesk.

В 2010 году"ДоксВижн" выпустила новый продукт "Конструктор решений" для СЭД DocsVision, позволяющий не только гибко настраивать уже имеющееся ПО, но и создавать абсолютно новые решения в любой предметной области.

Новый конструктор решений позволяет существенно сократить издержки на создание заказных решений и тиражных продуктов, а также расширяет сферу применения системы DocsVision на предприятиях.

Конструируем по-новому

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

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

Среди основных технических достоинств конструктора – настраиваемая разметка (или дизайн) карточек, тонкая настройка прав доступа к операциям с помощью автомата состояний и ролевой модели, привязка пользовательского интерфейса к этапам жизненного цикла карточки, настройка стилей визуального оформления, интеграция с OfficeCommunicationServer, удобная скриптовая модель, позволяющая писать отклики на любые события, создавать общие методы и переменные, наследовать код и подключать внешние сборки, гибко настраиваемый механизм уведомлений (без использования Workflow), автоматически ведущаяся история операций в карточке, а также богатая объектная модель.

Перемены в разработке

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

Этапы разработки сложного решения

ЗадачиПо-старомуС использованием "Конструктора решений"
Прототипирование
Создание прототипа UIРисование макета UI в продуктах а-ля Visio. Только UIСоздание сразу работающего с данными прототипа, а не просто прототипа UI Быстро. Не требует ресурса программиста
Создание решения
Доработка прототипа UI до работающего образцаПрограммирование UI карточек в VisualStudio. Под силу только программистуИзменение ранее разработанного прототипа. Быстро. Не требует ресурса программиста
Реализация чтения/сохранения данныхПрограммирование работы с данными. Трудоемко. Под силу только программистуПривязка ранее разработанного UI к схемам данных карточек. Быстро. Не требует ресурса программиста
Описание бизнес-логикиПрограммирование. Трудоемко. Под силу только программистуНаписание скриптов с использованием высокоуровневой объектной модели. Можно подключать готовые сборки. Может выполнять непрограммист
Создание и привязка различных UI для различных видов, состояний, пользователейПрограммирование. Сложно. Под силу только программистуРешается настройками. Легко. Не требует ресурса программиста
Создание инсталляционного пакетаПрограммирование инсталляции, специальный язык. Трудоемко. Под силу только программистуСоздание инсталляции с помощью специального Мастера (Визарда). Быстро. Не требует ресурса программиста
Настройка автоматов состоянийНет средств настройкиНастраивается с помощью справочника
Настройка прав доступа в зависимости от состоянийНет средств настройкиНастраивается с помощью справочника
Внедрение решения
Настройка прав доступа в зависимости от ролей пользователейОграничена. Возможна только настройка на уровне дескрипторов безопасности для пользователей и группВозможна также настройка прав доступа с помощью справочника к конкретным операциям как для статических, так и для контекстно-зависимых ролей
Настройка уведомленийЧерез создание бизнес-процессов. ТрудоемкоНастраивается с помощью шаблонов уведомлений. Быстро. Не требует ресурса программиста
Модификация внедренного решения на стороне заказчикаНет средств модификацииДоступны все возможности разработки и настройки

Источник: "ДоксВижн", 2011

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

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