My organisation are currently in the process of migrating an old application from classic Webspeed to run through PASOE (v11.6 on Linux x86-64) - as part of this, we do not want to change any of the ABL code in order to make this happen.
The old application had a dependency on a 3rd party library, which we have previously integrated into the _progres executable by relinking the OpenEdge libraries and the 3rd party library into a new version of _progres.
In order to make this work under PASOE, it looks like we need to perform the same relinking on _mproapsv.
Does anyone have any notes/guidance/experience on how this could be achieved? Is it even possible?
pasoe went through a major redesign from the classic appserver to support multing threading so it might not even be compatible. i believe, it might not even be supported anymore.
it might still be possible with the classic appserver but again it might not even be supported anymore.
a much safer and of course supported approach is to call a windows dll or unix shared library routine. i've been developing in both openedge and c/c++ for years and i use this approach all the time.
there are some cases where you might need to write a simple c wrapper to make calling the routine from openedge easier. what can be a problem with pasoe is that your c/c++ must be thread safe and that could require a redesign.
Also be aware that there could be simultaneous calls into the shared library from several 4GL sessions. this could cause a variety of problems.