2010-07-25 30 views
5

Điều gì khiến tôi đi là mức độ phát triển ứng dụng web mà chúng ta đang nói đến.Java EE so với Java SE để phát triển ứng dụng web

Có các cấp phát triển ứng dụng web khác nhau. Ví dụ, nếu tôi được yêu cầu phát triển một ứng dụng web để xử lý thông tin khách hàng nhà ở cho một bà mẹ nhỏ và cửa hàng bánh mì (chắc chắn không phải là tình huống doanh nghiệp), có gì sai khi sử dụng Java EE trái ngược với Java SE nếu tôi thực sự muốn đến.

Tôi biết bạn có thể nói rằng nó sẽ là quá mức cần thiết, và tôi có thể hiểu rằng, tuy nhiên, tôi sẽ chạy vào các vấn đề phát triển mà tôi sẽ không chạy vào sử dụng Java SE? Nói cách khác, tôi đang cố gắng xác định khi nào một ứng dụng web doanh nghiệp nhỏ biến thành một ứng dụng web doanh nghiệp. Dường như với tôi rằng tôi sẽ có thể sử dụng mô hình Java mà tôi muốn.

Tôi có sai trong suy nghĩ của mình ở đây không?

Cần làm rõ ở đây nếu bạn có thể giúp tôi.

+2

Bạn đề xuất phát triển web * mà không cần * JavaEE như thế nào? – skaffman

+1

@skaffman: Tôi đã tạo toàn bộ các ứng dụng web dành cho doanh nghiệp mà không cần sử dụng JavaEE. Tôi sẽ hỏi ngược lại: đề xuất của bạn cho * nhu cầu * của JavaEE để phát triển web là gì? Bạn có biết rằng JavaSE có một HttpServer tích hợp của riêng nó? Tôi tìm thấy nó đơn giản hơn để sử dụng Tomcat nhúng mặc dù đó chỉ là một tập hợp các tập tin jar để nhập khẩu. – ThreaT

Trả lời

3

Không sử dụng Java EE theo nghĩa đen. Java EE không chỉ là phát triển doanh nghiệp, mỗi lần xuất hiện.

Java EE cung cấp cho bạn toàn bộ ngăn xếp để xây dựng ứng dụng web trên Java. Bạn không thể làm phát triển web trên Java nếu không.

Tóm lại - bạn cần ngăn xếp Java EE, ngay cả khi bạn là doanh nghiệp vừa/nhỏ. Đừng để tên đánh lừa bạn.

+0

Thats không đúng 100%. Rất nhiều người chỉ sử dụng phần phụ servlet của JEE. Có rất nhiều container servlet không chứa phần còn lại của JEE. Chẳng hạn như tomcat/jetty. – Wes

+0

Tôi chưa bao giờ nói rằng bạn cần toàn bộ * ngăn xếp *, nhưng làm để làm Java web bạn cần một số của nó. Tomcat và Jetty là những ví dụ điển hình về điều đó. –

14

Dường như có sự nhầm lẫn về việc sử dụng thuật ngữ Java EE và Java SE. Chỉ vì EE mở rộng sang Enterprise Edition, điều đó không có nghĩa là nó chỉ được sử dụng bởi các doanh nghiệp.

Java EE xảy ra là tập hợp các thông số được nhóm lại với nhau để tạo thành nền tảng. Thời điểm bạn cần viết một ứng dụng web, bạn cần sử dụng các đặc tả Servlet + JSP ở mức tối thiểu, đó là một tập con của đặc tả Java EE.

Java SE, thường được sử dụng để viết các ứng dụng độc lập. Tốt hơn là hãy tham khảo Java SE nhiều hơn như một API hoặc một thư viện, chứ không phải là một đặc điểm kỹ thuật, ngược lại với Java EE. Nó có thể được coi là nền tảng cho các ứng dụng "non-enterprisey".

1

Không có gì sai khi sử dụng một thùng chứa Java EE đầy đủ. Tuy nhiên điều này thường đi kèm với chi phí phức tạp.

Mức tối thiểu bạn cần là một thùng chứa servlet là tập con của các đặc tả Java EE.

Các thùng chứa Java EE đầy đủ có xu hướng có nhiều cấu hình hơn so với các thùng chứa servlet đơn giản có thể bổ sung thêm chi phí không đáng giá. Một điều khác cần xem xét là nếu bạn chỉ sử dụng javax.servlet để biên dịch các tệp .war thì các tệp này tương thích với các thùng chứa Java EE đầy đủ để không có gì ngăn bạn nâng cấp sau này.

Một điểm khác cần lưu ý là JBOSS/GlassFish thực hiện ngăn xếp Java EE đầy đủ sử dụng nhiều bộ nhớ hơn và có thể có thời gian khởi động lâu hơn so với nói tomcat.

Nếu bạn biết rằng bạn sẽ sử dụng nhiều Java EE hơn tại thời điểm sau, chẳng hạn như EJB; sau đó tôi sẽ bắt đầu với bộ chứa Java EE đầy đủ.

Để Tóm tắt

Cá nhân tôi sẽ bắt đầu bằng cách sử dụng chỉ một container servlet. (không đầy đủ Java EE). Nếu và chỉ khi tôi cần một ngăn xếp Java EE đầy đủ thì tôi sẽ chuyển sang một thùng chứa Java EE đầy đủ.

Các vấn đề liên quan