Tampaknya ada tren saat ini di ruang java untuk beralih dari penerapan aplikasi web java ke wadah servlet java (atau server aplikasi) dalam bentuk file perang (atau file telinga) dan sebagai gantinya mengemas aplikasi sebagai jar yang dapat dieksekusi dengan server servlet / HTTP tertanam seperti jetty. Dan maksud saya ini lebih pada cara kerangka kerja yang lebih baru memengaruhi bagaimana aplikasi baru dikembangkan dan diterapkan daripada bagaimana aplikasi dikirimkan ke pengguna akhir (karena, misalnya, saya mengerti mengapa Jenkins menggunakan wadah tersemat, sangat mudah untuk diambil dan digunakan. ). Contoh kerangka kerja yang mengadopsi opsi jar yang dapat dieksekusi: Dropwizard , Spring Boot , dan Play (baik itu tidak berjalan di wadah servlet tetapi server HTTP tertanam).
Pertanyaan saya adalah, berasal dari lingkungan di mana kami telah menyebarkan aplikasi kami (hingga saat ini kebanyakan Struts2) ke satu server aplikasi kucing jantan, perubahan, praktik terbaik, atau pertimbangan apa yang perlu dilakukan jika kami berencana menggunakan pendekatan wadah tertanam ? Saat ini, kami memiliki sekitar 10 aplikasi buatan sendiri yang berjalan pada satu server kucing jantan dan untuk aplikasi kecil ini kemampuan untuk berbagi sumber daya dan dikelola pada satu server adalah bagus. Aplikasi kami tidak dimaksudkan untuk didistribusikan ke pengguna akhir untuk dijalankan dalam lingkungan mereka. Namun, jika kita memutuskan untuk memanfaatkan framework java yang lebih baru, apakah pendekatan ini harus berubah? Apakah peralihan ke guci yang dapat dieksekusi didorong oleh meningkatnya penggunaan penerapan cloud (misalnya, Heroku)?
Jika Anda memiliki pengalaman mengelola beberapa aplikasi dalam gaya Play penerapan versus penerapan file perang tradisional di satu server aplikasi, harap bagikan wawasan Anda.