How
CtoJ's solution to legacy migration (e.g. migration from C++ to Java) consists of two parts. The automatic language translation using CtoJ technology is just the technical doing. CtoJ's real expertise is the underlying migration process.
Migration process
The migration process used by CtoJ differs significantly from the traditional migration approach.
We at CtoJ prefer to focus on the language migration for a short time only. The target is to enable the client to get the translated but not re-architected application live in the new production environment as fast as possible.
By doing this, CtoJ allows its clients to focus all of their resources on the re-architecture of the application. In parallel, maintenance can be done in the same environment and language.
Using CtoJ's migration process in combination with CtoJ technology gives our clients the following advantages:
- Reliable migration end-date (for language translation phase)
- No need for feature freeze
- Parallel source code branches for a short time span
- Consistency in translation by using CtoJ technology
- Translation is repeatable and can be done iteratively
- Focus on one migration step (language translation)
CtoJ technology
The CtoJ core product is a generator, which reads legacy code (currently C++) and automatically generates Java code. The inner workings of this product are - of course - the intellectual property of CtoJ and can not be disclosed, but here is a list of features that counter usual migration challenges:
- Multiple inheritance
- Call by value / reference semantics
- Destructor handling
- Template handling
- Default parameter handling
- Pointer handling
- Overloading of operations
- Virtual / non virtual operation handling
- Mapping of datatypes and classes
- Logging
- Asserts
If you want to know more about the solution to these problems, request the CtoJ technical whitepaper.