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