เซิร์ฟเวอร์สภาพแวดล้อมรันไทม์ที่ได้รับการจัดการแบบโอเพ่นซอร์ส (MRTE) สำหรับ Java?

ฉันต้องการให้ผู้ใช้เว็บไซต์ของฉันอัปโหลดโปรแกรม Java ของตนเป็นชุดไฟล์ jar แน่นอนว่าฉันต้องการจำกัดคลาสที่พวกเขาสามารถดูหรือใช้งานได้ รวมถึงทรัพยากรเครื่องพื้นฐาน เช่น ฮีป เธรด ดิสก์ ตัวประมวลผลที่ใช้ไป ฯลฯ

ฉันต้องการให้เซิร์ฟเวอร์จัดการ จัดเก็บ และรันโปรแกรมผู้ใช้เหล่านั้น และยังอนุญาตให้พวกเขาสร้างบัญชีและกำหนดค่าสภาพแวดล้อมรันไทม์ได้ สมมติว่าฉันต้องการอนุญาตให้พวกเขาเลือกชุดสภาพแวดล้อมที่กำหนดไว้ล่วงหน้าชุดใดชุดหนึ่ง: JRE 5, JRE 6, Groovy ฯลฯ และยังให้พวกเขากำหนดค่าตัวแปรบางตัวด้วย

คำถามคือคุณรู้บางอย่างที่คล้ายกับสิ่งที่ฉันได้อธิบายไปแล้วหรือไม่? มันเป็นโอเพ่นซอร์สหรือเปล่า?

การพัฒนาสิ่งนี้อาจใช้เวลาหลายปี ฉันรู้ว่ามีบางสิ่งที่สามารถทำได้โดยเริ่มกระบวนการต่างๆ และกำหนดค่าตัวจัดการความปลอดภัย แต่เนื่องจากโปรแกรมที่ฉันคาดว่าจะอนุญาตนั้นเรียบง่ายมาก บางทีนี่อาจไม่ใช่วิธีที่ดีที่สุด (แพงสำหรับโฮสต์เซิร์ฟเวอร์) นอกจากนี้ ฉันเดาว่านี่จะทำให้การกระจายการดำเนินการที่อาจเกิดขึ้นมีความซับซ้อน

คุณสมบัติเพิ่มเติมจะเป็น:

  • ผู้ใช้จะต้องซื้อทรัพยากรหรือคุณสมบัติเพิ่มเติม

  • การกระจายการดำเนินการบนคลัสเตอร์ของโฮสต์ (ไม่ใช่ข้อกำหนดเบื้องต้น แต่จะเป็นคุณสมบัติเพิ่มเติมที่ยอดเยี่ยม)

หากคุณยังคงไม่รู้ว่าฉันกำลังพูดถึงอะไร ลองดูที่ Google App Engine อนุญาตให้คุณอัปโหลดแอปพลิเคชันในสภาพแวดล้อมรันไทม์ที่มีการจัดการและจำกัดมาก

ความนับถือ.


person Martín Schonaker    schedule 03.08.2010    source แหล่งที่มา


คำตอบ (3)


ดูเหมือนแอปพลิเคชันเซิร์ฟเวอร์ Java EE ที่มีข้อจำกัดบางอย่าง (ตัวโหลดคลาสที่กำหนดเอง) ที่แนบมากับการปรับใช้แอป บางที GlassFish v3 อาจสามารถใช้เป็นจุดเริ่มต้นได้

person mjn    schedule 04.08.2010
comment
ใช่ แอปพลิเคชันเซิร์ฟเวอร์อาจเป็นจุดเริ่มต้นที่ดีในการแบ่งปันทรัพยากร อย่างไรก็ตาม คลาสโหลดเดอร์แบบกำหนดเองที่คุณพูดถึงนั้นเป็นส่วนที่ยากที่ฉันต้องการบันทึกการใช้งาน ฉันคิดว่าเราจะต้องใช้เครื่องมือโค้ดที่โหลดเพื่อจำกัดฮีป เป็นต้น แต่บางทีฉันอาจพลาดรายละเอียดบางอย่างไป คุณสามารถเพิ่มลิงก์เพื่อชี้แจงคำตอบของคุณในเรื่องนี้ได้หรือไม่? ขอบคุณสำหรับคำตอบ. - person Martín Schonaker; 05.08.2010

ฉันเคยเห็นกลไกของแอปที่อนุญาตให้คุณเขียนแอปฝั่งเซิร์ฟเวอร์ใน Javascript โดยใช้ Rhino อย่างไรก็ตาม ฉันไม่รู้จัก App Engine แบบโอเพ่นซอร์สใดที่ทำงานบน Java หรือ Groovy

person Dragisa Krsmanovic    schedule 03.08.2010
comment
แม้ว่าเราจะสามารถคอมไพล์ Javascript ได้ แต่การคอมไพล์ก็ไม่ได้เป็นกังวลของฉัน ข้อกังวลของฉันคือการควบคุม RTE เพื่อป้องกันไม่ให้ผู้ใช้ประกาศอาเรย์ขนาดใหญ่หรือเริ่มวนซ้ำไม่สิ้นสุด เป็นต้น ฉันจะเพิ่ม Rhino เข้ากับชุดสภาพแวดล้อมที่กำหนดไว้ล่วงหน้าที่ฉันพูดถึงข้างต้น :) ขอบคุณสำหรับคำตอบ. - person Martín Schonaker; 04.08.2010

ฉันคิดว่าฉันขอสิ่งนี้ด้วยวิธีที่ซับซ้อน บางทีฉันควรขอแนวคิดที่เรียบง่ายกว่านี้อีกครั้ง ถึงอย่างไร. คำตอบที่ถูกต้องที่สุดที่ฉันอยากถามคือของมจัสติน ขอบคุณ!

person Martín Schonaker    schedule 08.10.2010