Open source managed runtime environments (MRTE) server for Java?
I want to enable the users of my website to upload their Java programs as a set of jar files. Of course I want to restrict the classes they can see or use, along with the underlying machine resources such as the heap, the threads, the disk, the consumed processor, etc, etc.
I want a server to manage, store and run those user programs, and also to allow them to create accounts and configure they runtime environments. Let's say I want to allow them to pick one of a set of predefined environments: JRE 5, JRE 6, Groovy, etc. And also to let them configure some variables.
So, 开发者_C百科the question is do you know something similar to what I've described already done? is it open source?
Developing such a thing could take years. I know that something could be done starting different processes and configuring security managers. But since the programs I expect to allow would be very simple, maybe this could not be the best approach (expensive to the server host). Besides, I guess this complicates potential execution distribution.
Additional features would be:
users would have to purchase additional resources or features.
execution distribution over a cluster of hosts (not an initial requirement, but would be a great additional feature).
If you still don't have a clue of what I'm talking about, take a look to Google App Engine. They allow you to upload applications in a managed and very restrictive runtime environment.
Regards.
Sounds like a Java EE application server with some restrictions (custom classloader) attached to the app deployment. Maybe GlassFish v3 can be used as a starting point?
I've seen app engines that allow you to write server-side apps in Javascript based on Rhino. However, I don't know of any open-source app engine that runs Java or Groovy.
I think I asked for this in a complex way. Maybe I should re-ask for more simple concepts. Anyway. The most accurate answer of I wanted to ask was mjustin's. Thanks!
精彩评论