Tôi nghĩ lý do không phải là thời gian bảo mật cũng như thời gian khởi động của ứng dụng. Hãy hiểu những gì đằng sau hậu trường trước khi chúng ta tìm ra nguyên nhân gốc rễ.
Bảng điều khiển Java có cài đặt cho phép người dùng sử dụng cài đặt proxy của trình duyệt mặc định hoặc ghi đè chúng. Nói cách khác, các nhóm cơ sở hạ tầng có thể tùy chỉnh hình ảnh cài đặt Windows hoặc OS để cài đặt JVM với các thiết lập proxy doanh nghiệp. Vì vậy, tôi tin rằng đây không phải là vấn đề gì cả.
Java Web Start thực sự lưu trữ tất cả các ứng dụng có cài đặt tùy chỉnh trong Bảng điều khiển Java. Sau khi ứng dụng được lưu vào bộ nhớ cache, ứng dụng sẽ được "cài đặt" giống như các ứng dụng khác. Mặc dù lần thực hiện đầu tiên có thể chậm, lần thứ hai sẽ nhanh chóng do kỹ thuật phân bổ bộ nhớ thông minh của JVM. Vì vậy, thời gian khởi động có thể là một vấn đề nhưng rất nhiều trang web (ngay cả doanh nghiệp nội bộ) hiện đang được di chuyển đến cổng thông tin. Cổng thông tin web thường chứa rất nhiều thư viện không được sử dụng cho mục đích phát triển do thực tế chính cổng đó không dự đoán loại portlet nào được xây dựng và triển khai trên một trang cụ thể. Do đó, việc tải xuống một trang cổng thông tin có thể tiêu thụ tối đa MB và hoàn thành một trang trong hơn 5 giây; đây chỉ là một trang và bộ nhớ đệm giúp tối đa 30% nhưng vẫn còn rất nhiều thành phần HTML/Javascript/CSS cần tải xuống mỗi lần. Với điều này, tôi chắc chắn Java Web Start là một lợi thế ở đây.
Java Web Start không tải xuống lại nếu được lưu trữ miễn là bản sao máy chủ KHÔNG được nâng cấp. Do đó, nếu, ví dụ: một phần mềm quản lý dự án như MS Project, được hoàn thành bằng cách sử dụng SmartClient (tương tự như JWS), trao đổi thông tin giữa máy khách và máy chủ sẽ hoàn toàn là dữ liệu mà không cần trình bày như làm mới toàn bộ trang của trình duyệt. Ngay cả với sự trợ giúp của Ajax, nó cũng không loại bỏ hoàn toàn việc tải xuống toàn bộ trang. Bên cạnh đó, rất nhiều công ty coi Ajax là chưa trưởng thành và không có bảo đảm. Đó là lý do tại sao Ajax là một chủ đề nóng trong các vòng tròn của các nhà phát triển nhưng không phải trong phần mềm doanh nghiệp. Với ý nghĩ đó, các ứng dụng JWS chắc chắn có nhiều ưu điểm hơn như cách các ứng dụng JWS được triển khai và thực hiện trong các hộp cát, đã ký và có nhiều GUI tương tác hơn.
Các ưu điểm khác bao gồm phát triển nhanh hơn (dễ gỡ lỗi trong mã và hiệu suất), giao diện người dùng đáp ứng (không yêu cầu Máy chủ Comet cung cấp chức năng PUSH) và thực thi nhanh hơn (chắc chắn vì máy khách kết xuất GUI mà không dịch như HTML/Javascript/CSS và ít xử lý dữ liệu hơn).
Sau tất cả những điều này, tôi chưa chạm vào câu hỏi, tại sao JWS không nổi tiếng như vậy?
Ý kiến của tôi là nó giống như nhận xét của Brian Knoblauch, nó không có nhận thức.
Những người IT bị thu hút bởi sự cường điệu của Web Technologies, Ajax PUSH, GWT và tất cả những từ đó đều khiến họ thiên về việc sử dụng các công nghệ khác nhau hoặc giải quyết những thách thức kỹ thuật thay vì những gì thực sự làm việc cho khách hàng.
Hãy xem Citrix. Tôi nghĩ Citrix thực sự là một ý tưởng tuyệt vời. Citrix cho phép bạn xây dựng các trang trại ứng dụng của riêng bạn đằng sau hiện trường. Có rất nhiều chiến lược nâng cấp và triển khai bạn có thể thực hiện mà không ảnh hưởng đến trải nghiệm của khách hàng. Triển khai Citrix cực kỳ dễ dàng, ổn định và an toàn. Các doanh nghiệp vẫn đang sử dụng nó. Tuy nhiên, tôi nghĩ JWS thậm chí còn tốt hơn cả Citrix. Ý tưởng của JWS là chạy các ứng dụng trên máy khách thay vì lưu trữ tấn trang trại máy chủ nơi máy khách có khả năng chạy các ứng dụng này. Điều này tiết kiệm một công ty rất nhiều tiền !!! Với JWS, nhóm phát triển vẫn có thể xây dựng logic nghiệp vụ và dữ liệu ở phía máy chủ. Tuy nhiên, nếu không có đơn vị xử lý web và để cho các máy khách thực hiện quá trình kết xuất, nó sẽ làm giảm đáng kể lượng tiêu thụ mạng và sức mạnh xử lý máy chủ.
Một ví dụ khác về lý do khiến JWS là một ý tưởng tuyệt vời là Blackberry MDS. Ứng dụng Blackberry thực sự là các ứng dụng Java được dịch từ Javascript. Với studio MDS của BB, bạn sử dụng công cụ GUI để xây dựng GUI ứng dụng BB, mã hóa GUI logic trong Javascript. Sau đó, các ứng dụng sau đó được dịch và triển khai trên máy chủ BES. Sau đó, máy chủ BES sẽ phân phối các ứng dụng này cho BB.Trên mỗi BB, nó chạy một ứng dụng Java mỏng với khả năng kết xuất GUI và khả năng kết nối mạng. Bất cứ khi nào ứng dụng yêu cầu dữ liệu, nó liên lạc với BES thông qua các dịch vụ web để tiêu thụ các dịch vụ từ các máy chủ khác. Đây không phải là phiên bản JWS BB phải không? Nó rất thành công.
Cuối cùng tôi nghĩ JWS không phổ biến vì Sun quảng cáo nó như thế nào. BB không bao giờ quảng cáo ứng dụng BB Java của họ tốt đến mức nào, họ tin rằng khách hàng thậm chí sẽ không quan tâm nó là gì. BB quảng cáo lợi ích của việc sử dụng MDS để phát triển ứng dụng: Nhanh chóng, Tiết kiệm chi phí, Trả lại doanh nghiệp.
Chỉ cần tôi, một chút dài, 2 cent ... :)
Tôi thích ý tưởng rằng không có mối quan tâm về bảo mật với các ứng dụng đã ký. –