Relinking _mproapsv to include external library

Posted by Mark Abbott on 19-Jan-2018 05:59

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?

Many Thanks,

Mark

All Replies

Posted by Alon Blich on 19-Jan-2018 07:13

hi Mark,

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.

good luck!

alon

Posted by David Cleary on 19-Jan-2018 07:28

This is not supported in the multi-session agent. The level of complexity compared to the single threaded classic agent would make this way too risky. The only solution is to use the dll/so interface, so writing a wrapper around the third party library may be the only solution.
 
Dave
 

Posted by gus bjorklund on 19-Jan-2018 07:36

Also be aware that there could be simultaneous calls into the shared library from several 4GL sessions. this could cause a variety of problems.

This thread is closed