Anyone who has worked on coding knows the tedium of churning out long sections of boring, repetitive boilerplate code. It’s an essential and unavoidable part of our jobs that takes up a lot of time, usually more than we’d like.
It is precisely to avoid this tedium that SogetiLabs developed Telosys . Telosys is basically a code generator that can save you a lot of work and is simple, user-friendly and very light. It’s also open-source, so anyone can use it. The main goal is to reduce the workload and the time spent at the beginning of any project.
Sogeti has been using this tool for the last 2-3 years and we have tried it on many projects. In my experience, the tool typically saves us 2-3 days of workload for each entity in a project. This is because tasks such as creating tables, persistence layers and screens etc. for each entity can be generated automatically, thus saving a lot of time and effort.
The way it works is very simple. At the beginning, you just have to set up a lightweight model in order to generate your code (it takes just a few minutes). Since version 3.0 Telosys offers two ways for creating the model. The first way is to use any existing database to automatically set up a model from its relational schema. The second way (if you want to start from scratch) is to define a model by using a very simple DSL (Domain Specific Language) based on text files. Once the model is ready you can use existing templates to generate your code (standard templates are available on GitHub and can be downloaded and installed by the tool). Each template is customizable, so you can adapt the generation in order to match your project’s coding rules. You can also create your own specific templates if necessary. The templates allow you to generate different kinds of source code like Java, PHP, Javascript, HTML, C#, Go, Python, etc…
The main benefits of using this code generator:
– It saves time and costs: As already mentioned, it saves between 2-3 days of workload for each entity involved in the project. Obviously, this also impacts the bottom-line of any project.
– It’s user-friendly and light: Unlike most other code generators which are very heavy, complicated and require a lot of effort to use; with Telosys you can start generating your first code in just ten minutes.
– High-quality of code generated: The code is generated using templates thus if the templates are well created, the generated code is very, very ‘clean’. This code typically has fewer errors than code created manually.
– It’s open-source: Anyone and everyone can use it and contribute to the community. This, in turn, gives rise to a lot of network effects for the entire community. So for instance, if you use a language that is not really common, you can create your own templates for this language. If you want you can also share these templates and so participate in the templates community. By now the library has 4 years of different types of templates in the template bank. All of this increases the chances of finding a template that exactly meets your needs.
– It’s flexible and makes an impact right at the start of a project: The best way to use this tool is to use it as an accelerator right at the beginning of a project to improve the kick-off so you don’t have to begin from scratch. You directly generate all the repetitive code at the beginning, and later you can involve your developers to re-use the generated code and customize it if necessary. You can re-use the code and continue to use the tool if necessary or drop it if not required as you move further into the development process.
This tool was created as part of SogetiLabs innovation projects and has now grown way beyond its original mandate. 7 years ago when we first built it, it was a very basic version of a code generator but when we pilot tested it, we saved almost 50 days on a project that we were working on. It was like BOOM- magic! Even today, when we give a demo of this tool at conferences, we see the same wow effect as the tool is able to generate a lot of code very quickly.
It was that impact that convinced us, that this was a project worth pursuing. It was a great beginning and we immediately started to package it as a tool, worked on creating a user interface and an Eclipse plug-in. Along the way, we also received funding (in part) from the French Government for this project, started collaborating with “Ecole Des Mines” and became a part of the OW2 consortium. Year on year, we have also tried to improve the tool, to add new features and to make it better and simpler so that the version you see now is the result of seven years of refinement.
For all of us working on it, the project has grown to be much more than just a Sogeti project. We have worked on it during weekends and holidays and for us, it is more of a personal project – an exciting, human adventure. The open-source nature has also given us a chance to interact with many interesting people across the world who have also participated in refining the tool further.
Being open-source, the tool is being used by a lot of developers around the world. According to the Eclipse marketplace website statistics, there are about 300 installations per month and we receive a lot of very good feedbacks on the social networks.
So what are you waiting for? Just try it! Or take a look at this short video to figure out how it works. You can also refer to the website for more information.