Server lingkungan runtime terkelola (MRTE) open source untuk Java?

Saya ingin memungkinkan pengguna situs web saya mengunggah program Java mereka sebagai kumpulan file jar. Tentu saja saya ingin membatasi kelas yang dapat mereka lihat atau gunakan, bersama dengan sumber daya mesin yang mendasarinya seperti heap, thread, disk, prosesor yang digunakan, dll.

Saya ingin server mengelola, menyimpan, dan menjalankan program pengguna tersebut, dan juga memungkinkan mereka membuat akun dan mengonfigurasi lingkungan runtime mereka. Katakanlah saya ingin mengizinkan mereka memilih salah satu dari serangkaian lingkungan yang telah ditentukan sebelumnya: JRE 5, JRE 6, Groovy, dll. Dan juga membiarkan mereka mengonfigurasi beberapa variabel.

Jadi, pertanyaannya adalah apakah Anda mengetahui hal serupa dengan apa yang saya jelaskan sudah dilakukan? apakah ini sumber terbuka?

Mengembangkan hal seperti itu bisa memakan waktu bertahun-tahun. Saya tahu bahwa sesuatu dapat dilakukan dengan memulai berbagai proses dan mengonfigurasi manajer keamanan. Tapi karena program yang saya izinkan akan sangat sederhana, mungkin ini bukan pendekatan terbaik (mahal untuk host server). Selain itu, saya kira ini mempersulit distribusi eksekusi potensial.

Fitur tambahannya adalah:

  • pengguna harus membeli sumber daya atau fitur tambahan.

  • distribusi eksekusi melalui sekelompok host (bukan persyaratan awal, tetapi akan menjadi fitur tambahan yang bagus).

Jika Anda masih belum mengerti apa yang saya bicarakan, lihat Google App Engine. Mereka memungkinkan Anda mengunggah aplikasi dalam lingkungan runtime yang terkelola dan sangat ketat.

Salam.


person Martín Schonaker    schedule 03.08.2010    source sumber


Jawaban (3)


Kedengarannya seperti server aplikasi Java EE dengan beberapa batasan (pemuat kelas khusus) yang melekat pada penerapan aplikasi. Mungkin GlassFish v3 bisa dijadikan titik awal?

person mjn    schedule 04.08.2010
comment
Ya, mungkin server aplikasi adalah titik awal yang baik untuk berbagi sumber daya. Namun, pemuat kelas khusus yang Anda sebutkan adalah bagian tersulit yang ingin saya simpan dalam penerapannya. Saya pikir, kita harus melengkapi kode yang dimuat untuk membatasi heap, misalnya. Tapi mungkin saya melewatkan beberapa detail tentangnya. Bisakah Anda menambahkan tautan untuk memperjelas jawaban Anda dalam masalah ini? Terima kasih atas jawaban anda. - person Martín Schonaker; 05.08.2010

Saya telah melihat mesin aplikasi yang memungkinkan Anda menulis aplikasi sisi server dalam Javascript berdasarkan Rhino. Namun, saya tidak tahu apakah ada mesin aplikasi sumber terbuka yang menjalankan Java atau Groovy.

person Dragisa Krsmanovic    schedule 03.08.2010
comment
Meskipun kami dapat mengkompilasi Javascript, kompilasi bukanlah urusan saya. Kekhawatiran saya adalah mengendalikan RTE untuk mencegah pengguna mendeklarasikan array besar atau memulai loop tak terbatas, misalnya. Saya akan menambahkan Rhino ke kumpulan lingkungan yang telah ditentukan sebelumnya yang saya bicarakan di atas :). Terima kasih atas jawaban anda. - person Martín Schonaker; 04.08.2010

Saya pikir saya meminta ini dengan cara yang rumit. Mungkin saya harus menanyakan kembali konsep yang lebih sederhana. Bagaimanapun. Jawaban paling akurat yang ingin saya tanyakan adalah jawaban mjustin. Terima kasih!

person Martín Schonaker    schedule 08.10.2010