The migration to I4GL 7.50 on Linux is almost a no-brainer. If you have a 10-year old version of I4GL, you might be using 7.30 instead of 7.31 or later. In that case, you may have to watch for the 'grand renaming' of C functions in the I4GL run-time library. If you use C code, you will need to ensure that all such files use the header 'fglsys.h'. Other than that, it should be load, compile, go.
I4GL 7.50 adds some (rudimentary) support for SOA. You can publish I4GL functions as web services, and you can have I4GL programs subscribe to web services.
If you want to keep the I4GL code but go to a different interface, the primary choices are:
The first two are commercial; the last is Open Source.
If you want to go without the I4GL code, then the world is your oyster - there are a myriad options for database and tools to access it.
From the comment, you are using I4GL 7.30 - released in 1998, I believe. If you are using routine p-code (no custom runners) then the upgrade should be a 'recompile and go' operation. If you used a custom runner, then you'd need to review your C code to ensure that you have '#include "fglsys.h"
near the top of the files (but you could automate the operation to add it).
There have been various automatic translation tools to Java - one was by a company called Artinsoft and another was IBM's EGL. Suffice to say, 'there are issues'.