Recommended development sequence
Glossary Item Box
Development RulesIntroduction
Development of complex functionality requires proper organization of the development process. Recommendations on the development process organization are covered in the Development process organization article. The article also contains the general development algorithm. Options for development environment setup are available in the Organizing a development environment article.
There are three general options for development environment deployment:
- All instances are deployed on-site.
- Development environment is deployed on-site, test and production environments are deployed on the cloud.
- All instances are deployed on the cloud.
The general procedure for developing new applications is similar, regardless of the deployment option. There are several notable differences in specifics.
All applications are deployed on-site
The general development algorithm with on-site deployment is available on Fig. 1.
Fig. 1. Development sequence for on-site deployment
All steps are performed by the dev-teams. Recommended sequence:
1. Development of new functions
It is recommended to develop in a separate application with a separate database for each developer. Use subversion control system (SVN) to transfer changes between different development environments.
ATTENTION Using SVN is not recommended for transferring changes to the production environment, as this method does not assume creating database backups. Transferring changes with SVN can only be used in the development environment. |
2. Exporting packages to archives with the WorkspaceConsole
Use the WorkspaceConsole utility to export archived packages from the database or SVN repository to the file system. Exporting packages with the WorkspaceConsole utility is covered in the Transferring changes using WorkspaceConsolearticle.
ATTENTION Transfer of changes to the test and production environments with the WorkspaceConsole is recommended, since all application updates are supplied to the users in the form of packages. Any errors with the new changes can be traced and resolved on the stage of loading packages to the system. |
3. Loading packages to the testing environment
Use the WorkspaceConsole to install the packages from the file system. Installing packages with the WorkspaceConsole utility is covered in the Transferring changes using WorkspaceConsolearticle.
In case errors are found during the testing stage, the new functions are revised and the errors are corrected in the development environment. After all errors have been fixed, repeat steps 1—3.
4. Creating production database backup
Back the production database up before installing the packages with the new functions. This is a required step, since there is always a chance that the new functions developed by third-party developers may disrupt the operation of the application.
5. Installing the packages on the production environment
As with the testing environment (see step 3), installing the packages on the production environment is also done with the WorkspaceConsole.
All applications are deployed on the cloud
If the development and production environments are deployed on the bpm’online cloud, developers do not have direct access to application setup via the configuration files. Also, there is no direct access to the database and IIS. In this case all operations with the configuration files, database and IIS are performed through the bpm’online support. The application is updated by the support service as well.
Due to these limitations, most of the development process steps that include transferring changes between the working environments are performed by bpm’online support (Fig. 2).
Fig. 2. Development sequence for cloud deployment
The environments are deployed both on-site and cloud
If the development environment is deployed on-site, and the testing and production environments are deployed on the cloud, some steps are performed by the developers and some are done by bpm’online support (Fig. 3).
Fig. 3. Development sequence for on-site and cloud deployment