GeneXus Server, a solution from our suite of products, is based on a work methodology that organizes and optimizes the development process, whether in individual projects or in projects carried out by teams of several developers who use GeneXus. In this post, I review its main advantages and make a special invitation.
What happens when a project involves several developers working on one KB? In this case, conflicts usually arise due to different interpretations and the duplication of work done on Knowledge Bases. In some cases, this causes lost time and confusions because, as many of you know, implementing a technology project is more than just typing code; it’s also about describing knowledge. The methodology applied in GeneXus Server includes a robot as part of the team to help us coordinate the various interpretations, solutions, and objects that are generated by this description.
A bit of history: Before GeneXus Server
In the past, there usually was a team of developers. In general, we were all in the same physical space and discussed face to face the changes that we wanted to implement or discard. This has always been a fertile ground for various confusions, which usually happened because each of us had a subjective version of what had to be done to comply with the project’s requirements.
This gave rise to the first solution to organize and manage projects. If GeneXus’ objective is to automate everything that can be automated, how can we automate this part of teamwork? To this end, we created GeneXus Server, and the various interpretations and tasks performed to comply with requirements started to come together in a robot that centralizes everything.
Four simple operations
GeneXus Server set the rules to avoid conflicts. It’s very easy to use, highly intuitive, and based on 4 operations:
- Send a KB to the Server
- Receive a KB from the Server
When a KB is sent to the server, I start working from my computer to describe realities. At some point, I say: “well… I’ll work on this with my coworkers.” So, I send it to the Server from the GeneXus IDE. As a result, a KB is created in the Server. When another developer wants to work on the KB, he/she creates it from GeneXus Server and uses knowledge previously created by another team member.
The Commit operation takes place when I’m writing code –describing objects in this case–, and at some point I want to send these objects to the server.
The Update operation is performed when you access the KB; the process to view the new objects incorporated through the Commit operation gives you the option to incorporate them into your KB.
At that moment, conflicts may arise and the solution provided by GeneXus Server involves the Merge methodology. For example, when two developers are working on the same object, and both go to the server to combine their work, the robot intelligently merges both objects, detects conflicts and exposes them. Even though Merge is the methodology that works best for us, we also have the option to use a methodology based on a lock model.
Other advantages of GeneXus Server
- The Web console provides a global view of who did what, and enables the team project manager to view the KB’s activity without having GeneXus installed.
- The Knowledge Base history, in addition to viewing the changes, allows you to go back to previous versions.
- Backups make it possible for each developer to work with a local Knowledge Base and mitigate the potential damage that may occur if a hard disk is broken, because backups are automatically made in GeneXus. In addition, it allows us to work on different versions and carry out parallel developments. With parallel developments, we can fix a bug in a current version and propagate it to previous versions.
- Security is a strong feature of GeneXus Server, which allows managing roles and permissions. A user can have permissions to change, upgrade and commit, or only to read.
- GeneXus Server allows working with a Continuous Integration methodology, and in this way we can automate the Build, Deploy and Test cycle without human interaction.
In sum: GeneXus Server is a repository that intelligently manages conflicts, provides traceability and version management, makes it possible to grant different security levels to the KB, and enables remote work.
Want to try GeneXus Server?
Write me to firstname.lastname@example.org, and I’ll enable a GeneXus Server instance in the Cloud for you, according to your specific needs.
Warning: It’s a life changer!