Организация среды разработки
Glossary Item Box
Среда разработки (Development Environment) — отдельное приложение или несколько приложений bpm'online, которые предназначены только для создания новой функциональности разработчиками. Для тестирования и внедрения разработанной функциональности предназначены, соответственно, среда тестирования и промышленная среда. Подробнее о среде тестирования и промышленной среде можно узнать из статьи "Организация процесса разработки".
ВНИМАНИЕ! База данных, предназначенная для промышленной среды, ни в коем случае не должна использоваться в среде разработки. Выполнение любых действий, связанных с разработкой новой функциональности, в промышленной среде категорически запрещается. |
Существует два основных варианта организации среды разработки:
- Разработка в одном приложении в нескольких конфигурациях — среда разработки организована на основе одного развернутого приложения с несколькими конфигурациями с общей базой данных.
- Разработка в разных приложениях — среда разработки организована на основе нескольких приложений с отдельными базами данных.
Независимо от вариантов организации, среды разработки могут быть развернуты как локально (оn-site), так и в облаке (cloud), как с использованием хранилища контроля версий (SVN), так и без его использования. Подробнее о развертывании приложений излагается в статьях "Как развернуть приложение on-site" и "Развертывание приложения в облаке". Подробнее о работе с хранилищем контроля версий можно узнать из статьи "Как настроить хранилище SVN".
Разработка в нескольких конфигурациях одного приложения
ВАЖНО Не рекомендуется вести разработку в нескольких конфигурациях. Создание конфигураций и ведение разработки в промышленной среде категорически запрещается. |
При таком варианте организации среды разработки для всех разработчиков используется одно приложение и одна база данных. Для этого в приложении необходимо создать отдельного пользователя и и отдельную конфигурацию (рабочее пространство) для каждого разработчика (рис. 1). Подробнее о создании пользователя и конфигурации излагается в статье "Как создать пользователя и настроить рабочее пространство". В случае использования системы контроля версий также рекомендуется создать отдельного пользователя SVN для каждого разработчика.
Рис. 1. — Организация среды разработки в нескольких конфигурациях одного приложения
Преимущества:
- Возможно ведение разработки несколькими разработчиками в одном приложении, что снижает расходы на дополнительное оборудование.
- Возможна разработка как с использованием, так и без использования SVN.
- Возможно ведение разработки в облаке, но только встроенными средствами разработки приложения.
- Количество конфигураций в приложении не ограничено.
Недостатки:
- Увеличение количества конфигураций ведет к кратному увеличению размера базы данных.
- При разработке встроенными средствами происходит перезапуск приложения в службе IIS при сохранении или компиляции схемы, что может мешать другим разработчикам и пользователям при одновременной работе в приложении.
- Функциональность, разработанная в одной из конфигураций, может негативно повлиять на остальные конфигурации.
- При ведении разработки в облаке невозможна разработка в файловой системе.
Рекомендации:
- Разработка в нескольких конфигурациях одного приложения рекомендуется только при необходимости небольших или проводимых изредка доработок существующей функциональности.
- Рекомендуется для очень небольших групп разработчиков.
- Рекомендуется использование SVN, что значительно облегчает перенос изменений между конфигурациями и средами.
Разработка в отдельных приложениях
При таком варианте организации среды разработки для каждого разработчика разворачивается on-site приложение и база данных (рис. 2). Поскольку такой вариант нацелен на максимальную производительность разработки, то обязательными условиями являются наличие SVN и ведение разработки в файловой системе. Подробнее о разработке в файловой системе можно узнать из раздела "Работа с IDE".
Рис. 2. — Организация среды разработки в нескольких конфигурациях одного приложения
Преимущества:
- Высокая скорость и удобство разработки.
- Независимость сред разработки. Поскольку разработка ведется в отдельном приложении, исключено негативное влияние на других пользователей.
- Использование системы контроля версий для сохранения и переноса изменений.
Недостатки:
- Невозможность разработки в облаке.
Рекомендации:
- Разработка в отдельных приложениях рекомендуется при активной разработке новой или доработке базовой функциональности.
- Рекомендуется как для небольших, так и для больших групп разработчиков.