Updating D-based apps without recompiling it
Ozan via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Mar 26 07:42:40 PDT 2016
On Wednesday, 23 March 2016 at 17:15:35 UTC, Jesse Phillips wrote:
> On Wednesday, 23 March 2016 at 12:21:33 UTC, Ozan wrote:
>> Hi
>>
>>
>> Enterprise applications in productive environments requires
>> smooth updating mechanisms without recompiling or
>> reinstalling. It's not possible to stop an enterprise
>> application, then run "dub --reforce" and wait until finish.
>> Mostly only few functions need to be replaced.
>>
>> Has someone experience with handling upgrading/updating D-Apps
>> on the fly?
>>
>> Working with dynamic libraries or distributed components is
>> not secure enough,
>> but maybe there are solutions, maybe around base calls and
>> functions or completely different.
>>
>>
>> Regards, Ozan
>
> Do you have an example of this being done in any other
> language? Essentially whatever code is being replaced, you're
> going to need to recompile it. If you're not using
> dynamic/shared libraries Adam is pointing you in the right
> direction.
>
> If it is a desktop application then it is probably easiest if
> it communicates to a local service that provides the
> "replaceable" functions, when you stand up the new service the
> app can transfer the communication to it.
>
> I can't speak to your security concerns.
I'm working in SAP area. The main application servers are based
on C++. Every part which is not core could be replaced.
Applications running in ABAP are also replaceable (thanks to the
JIT)
There are also solutions in Java. Application Servers are typical
solutions, where code, libs and apps could be replaced without
recompiling. Dub is great, but business applications requires
more the framework or platform approach.
I will try out Martin Nowak's example from DConf. Looks like a
solution for me...
Regards Ozan
More information about the Digitalmars-d-learn
mailing list