I'm trying to figure out how internal development environments were implemented and how they work. Particulary, in early days at the beginnging of its era (1980-2000). Let's try to keep it simple.
For instance, in most today's ERP systems you can device your own functions and depict business logic. In SAP you write ABAP code and Dynamics NAV uses C/AL.
First of all, how is such an internal development environment within the core application created? You can directly compile and run your implemented features. Is it a kind of dynamic load of DLLs through interfaces?
Secondly, how is the code loaded? What I know is that Dynamics NAV converts CAL into C# code (could be seen in previous versions) and loads it (how is this topic designated?)
The source code is stored in the database and you can't extract it. Probably it is encrypted and then directly loaded out of database.
I am just wondering if you create few new objects, compile and load it, how are they visible to other objects? I mean if you create a simple application which loads DLLs you can't access them from other DLLs on the fly. This feature is though available in ERP applications.
You can see same principle in other software where customers can use internal scripting language to extend the core application.
Thanks!