Ưu điểm của việc xây dựng một ứng dụng web Java nhỏ để chạy trong một thùng chứa Servlet (như Tomcat) so với việc xây dựng một ứng dụng Java độc lập với một máy chủ web tích hợp và chạy nó đằng sau một proxy ngược lại?Ứng dụng web Java trong vùng chứa Servlet so với độc lập
Tôi đã chơi với Java trong khoảng một năm. Tôi đã nhận thấy rằng để khởi chạy Tomcat cần có thời gian, và không phải lúc nào cũng có thể thực hiện một redeploy do các vấn đề của trình nạp lớp. Servlet API có vẻ hơi phức tạp với tôi, đặc biệt là từ quan điểm của cấu hình và thiết kế RESTful (mà nó không thực sự hỗ trợ đầy đủ).
Mặt khác, tôi đã nhận thấy rằng IDE của tôi có thể biên dịch và chạy một ứng dụng độc lập với tốc độ cực nhanh. Cấu hình Apache để đảo ngược proxy là một mẩu bánh, và Jetty được nhúng dường như xử lý bất cứ thứ gì tôi có thể ném vào nó. Tôi không cần Servlets khi tôi có thể sử dụng Restlet, Wicket, v.v. Có thể biết rõ hơn cách hoạt động của ứng dụng của tôi (vì nó không được tích hợp với một máy chủ ứng dụng lớn) cảm thấy có sức mạnh. Các dấu vết ngăn xếp ngắn hơn. Kích thước tải xuống nhỏ hơn. Cấu hình người dùng cuối dễ dàng hơn. Tôi đoán hiệu suất có thể tốt hơn vì có ít lớp phần mềm hơn.
Tuy nhiên, tôi được nhắc nhở về câu nói rằng âm thanh quá hay để trở thành sự thật thường là. Vì vậy, câu hỏi của tôi là, tại sao tôi không muốn làm cho các ứng dụng web của tôi độc lập? Thùng chứa Servlet cung cấp cho tôi và/hoặc người dùng cuối của tôi mà chúng tôi thực sự cần nhưng không biết gì?