When developing software using the Mendix platform, there are always many actions to perform repeatedly. For example, one of these actions is to deploy the code to the different environments. Every time functionality is finished, it has to be deployed manually. For the Municipality of Rotterdam, this means it takes a lot of time to deploy all the functionality.
At JAM-IT, we follow the DevOps philosophy, i.e. striving to deliver the functionality to the consumer as quickly as possible. As of yet, Mendix did not allow for this to work out of the box due to the many manual actions required. As a solution, we developed JamOps, a tool to automate many of these repeated actions. As such, the tool facilitates the DevOps mentality when working with Mendix.
In order for this tool to be used by parties other than JAM-IT, such as the Municipality of Rotterdam, it needed to be transformed into a user-friendly application.
Business Need: When developing software using the Mendix platform, there are always many actions to perform repeatedly. For example, one of these actions is to deploy the code to the different environments. Every time functionality is finished, it has to be deployed manually. For the Municipality of Rotterdam, this means it takes a lot of time to deploy all the functionality.
At JAM-IT, we follow the DevOps philosophy, i.e. striving to deliver the functionality to the consumer as quickly as possible. As of yet, Mendix did not allow for this to work out of the box due to the many manual actions required. As a solution, we developed JamOps, a tool to automate many of these repeated actions. As such, the tool facilitates the DevOps mentality when working with Mendix.
In order for this tool to be used by parties other than JAM-IT, such as the Municipality of Rotterdam, it needed to be transformed into a user-friendly application.
Solution: JAM-IT developed a Mendix application as an interface for the existing JamOps tool. As such, the application draws upon several webservices to facilitate the functionalities. The tool automates various actions in order to improve the quality, the security and the efficiency of application development.
First of all, JamOps facilitates Continuous Integration and Deployment. The tool helps to automatically deploy the applications by detecting any changes made, and subsequently testing and deploying them.
The tool automatically conducts unit tests and security scans, while also checking for data leaks and checking if the all settings are safely configured. If everything is OK, it deploys to the prefered environment. If there are any errors, the tool sends an email to the IT administrators for correction.
Second, JamOps automates some management issues. Starting with the management of Java dependencies; it automatically implements the newest version of each component and cleans up any double versions. It also checks if there are any certificates about to expire and, if so, sends a reminder to the IT administrators. Lastly, it optimizes the export and import processes of Mendix modules into a new project.
Since the application is continuously processing a multitude of projects and tasks, it makes extensive use of queue implementation and multithreading. This way, the time-to-market is optimized for every change made in the code.
Results: By automating processes, JamOps allows for faster innovation and improvement of software. Ever since implementing the tool, the Municipality of Rotterdam has seen a considerably shorter time-to-market when developing applications.
Furthermore, the tool prevents data leaks and other threats from happening. The quality and security of the software is ensured by several automated tests.
An additional advantage is the ability to streamline and standardise processes. All developers of the Municipality of Rotterdam use JamOps when developing software. Since all tasks and projects are processed by the same tool using the same tests, many manual errors are eliminated. This results in more control over the processes and greater security of the applications.