Subject Re: [Firebird-Architect] External engines - metadata
Author Jim Starkey
Roman Rokytskyy wrote:
>> How user update classes, restarting the server?
> No, that is not needed, I have code that is watching some particular
> directory and reloads the modified classes (not part of Fyracle).
That's the right answer, but it's a little trickier than that. To keep
from killing other running procedures, you need to keep several versions
of a class (or, more likely, classes) and have a mechanism to purge the
old versions when they are no longer in use.
>> How security is handled?
> What exactly do you mean? In the database the normal GRANTs apply. If
> you ask, whether it is possible to use Java code "implemented" for
> another database? Yes, but that was also not the target for that
> release. It is possible to extend the code to check the manifest
> embedded in the JAR file, but it is also possible to load classes from
> the database.
Loading base classes from a jar file and application classes from either
the file system (development) or the database (production) is the way to go.
>> I'm using Java in Oracle, they store everything (AFAIU) in the database.
> It is possible to load Java classes from the database (or whatever
> stream you provide - network, archive, random number generators provided
> they generate correct Java classes) , but first we have to define
> whether we are going to support similar feature for .NET (loading
> assemblies, should work, AFAIK) and Delphi (hmmm... is there any chance
> for it?)...
I would never allow class loading from the network or any place other
than a dba specified classpath. And then you never want to allow a
class to overload a class accessible from earlier in the list, i.e. no
overriding of system classes that you don't like. The last thing you
want in a server is a Trojan horse.