Can I continue to develop in the 4GL but then deploy in Java?


The conversion process is automated and it runs as a batch process. No editing of the converted result is needed to make it compile or work properly. This means it was designed to be run many times. You can drop new code into the project and re-run conversion as often as you like. Then push your application jar files to test or production systems and run it.

Interestingly, while the conversion of an entire large application (in a single batch) can take hours, the conversion of individual source files takes seconds to minutes depending on the size and complexity. This means that incremental builds are very feasible and this could easily be automated as part of a build process (e.g. Apache Ant). Since the conversion tools can be run incrementally, it is certainly feasible to edit the application source in the ABL and then deploy the result in Java.

When you are ready, you can cut over to pure Java development. At that time, you would run conversion a final time and then not again.

Are there any limitations to such a hybrid approach?

The hardest work in enabling a hybrid application strategy (i.e., develop in the Progress ABL, but deploy the result as Java) is already done. There are several limitations, but none that are showstoppers.

  • Incremental schema changes and data import are not supported at this time. Currently, the conversion tools handle schema migration and data import as all-or-nothing steps. Some amount of work (measured in weeks) would be necessary to adapt the current database migration tools to an incremental approach.
  • The current conversion tools will allow some invalid Progress ABL code constructs. Because these tools originally were written to convert Progress ABL code which was known to be valid, working code, certain parse-time checks were omitted. This means that certain invalid code constructs are not disallowed. Some amount of work (measured in weeks) would be necessary to address this limitation.
  • The conversion tools are not currently integrated into existing IDEs or build tools.

Of course, any new Progress ABL development must use only those language features that are currently supported by the FWD conversion tools and the FWD compatible runtime environment (see Supported ABL Features).

After the conversion, where does one make modifications to the source code?

Some organizations will modify the converted Java source code and maintain that as the application source.

It would be possible to continue to edit in the ABL and then convert changed files into Java for deployment. See this and this for more details.

© 2004-2017 Golden Code Development Corporation. ALL RIGHTS RESERVED.