Websphere Là Gì – Máy Chủ Ứng Dụng

Có cần ứng dụng Java EE để có những sever web như Sun Java Web Server để giải quyết và xử lý nhu yếu servlet / jsp và chuyển tiếp tới Máy chủ ứng dụng như IBM WebSphere hoặc BEA WebLogic không ?
Vì Máy chủ ứng dụng hoàn toàn có thể giải quyết và xử lý những servlet / jsp như vậy không ?
Những lợi thế / bất lợi của kiến ​ ​ trúc sever như vậy là gì ?

Apache Tomcat , Cầu tàu Máy chủ web hệ thống Sun Java chỉ là các thùng chứa Java Web (Servlet), nghĩa là chúng chỉ có thể thực thi Servlets/JSP – chúng không cung cấp ngăn xếp API Java EE đầy đủ.

Đang xem : Websphere là gì
Như vậy, họ chỉ hoàn toàn có thể tiến hành những tệp. war, không phải. ear ( cũng gồm có những mô đun. jar với EJB ) và không tương hỗ 1 số ít API Java EE như JSF hoặc CDI. hoặc những tính năng / API khác. Điều quan trọng cần chú ý quan tâm là, vì những tệp Java EE6 ,. war hoàn toàn có thể chứa EJB. tin tức thêm về sự độc lạ về. war và. ear .

Mỗi máy chủ Java EE có Web Container + EJB Container . (Bạn có thể thấy tại đây và tại đây mà Tomcat và Jetty không yêu cầu là máy chủ JavaEE, chỉ là các thùng chứa servlet (web).)

Máy chủ ứng dụng JBoss sử dụng JbossWeb (một ngã ba Tomcat của Apache) làm vùng chứa web của nó. Container EJB của nó là, JBoss (họ không có một tên riêng nào khác ngoài “JBoss EJB Container” cho nó).

Những người khác ( IBM WebSphere, Oracle / BEA WebLogic, TomEE, Glassfish ) cũng có bộ chứa web + bộ chứa EJB của họ .

TomEE rõ ràng sử dụng Apache Tomcat làm nơi chứa web của nó. Glassfish cũng sử dụng một ngã ba Apache Tomcat. (Vâng, Apache Tomcat dường như rất phổ biến 🙂

Trong cuộc bàn luận bên dưới, bạn hoàn toàn có thể biến hóa Tomcat bằng “ Web Container ” và JBoss bằng “ Máy chủ Java EE có năng lực vừa đủ ” bất kỳ khi nào chúng Open. ( Tôi đã sử dụng tên của mẫu sản phẩm cho rõ ràng. )

*

Những lợi thế ( dis ) của việc có Máy chủ Web Java ( như Tomcat ) giải quyết và xử lý những lệnh gọi Servlet / JSP và chuyển tiếp những nhu yếu phức tạp hơn đến Máy chủ ứng dụng như JBoss ( hoặc IBM WebSphere hoặc BEA WebLogic ) là gì ?

Từ một stantdpoint chức năng, không có lợi ích hiệu quả

Nếu bạn đặt Tomcat trước JBoss, điều bạn thực sự đang làm là đặt Tomcat trước một JBossWeb ( bộ chứa web, do đó, lối vào mọi ứng dụng web ) sẽ luôn ở trước thùng chứa EJB của JBoss. Nếu tất cả chúng ta đang nói về công dụng, điều đó chỉ là dư thừa, vì tất cả chúng ta có cùng một dịch vụ được phân phối hai lần .

Chuyển đổi người thực hiện hoặc khả năng phân cụm

Đặt Tomcat trước một JBoss hoàn toàn có thể có ý nghĩa nếu họ chỉ sử dụng JBoss cho bộ chứa EJB của nó : lựa chọn ở đây, sau đó, sẽ là một quy đổi đơn thuần trong trình tiến hành bộ chứa web .
Ngoài ra, nếu Tomcat ở một nút mạng khác ( hoặc nhiều hơn một Tomcat / nút ), những năng lực phân cụm hoàn toàn có thể được vận dụng ( điều đó không hề, vì JBossWeb và JBoss thường được coi là một và do đó đi trong cùng một máy ) .
Xem thêm : Bộ Ảnh Cưới Đen Trắng Đẹp Như Mơ Của Đông Nhi

Phục vụ nội dung tĩnh và các vấn đề bảo mật

Very common là đặt máy chủ web (chẳng hạn như HTTP HTTPD hoặc IIS) trước Java Web Container . Có hai động lực chính cho việc này:

Tạo HTTPD phục vụ nội dung tĩnh (chẳng hạn như hình ảnh) và chuyển tiếp phần còn lại vào bộ chứa web Java. Điều này được thực hiện bởi vì các máy chủ web thường được tối ưu hóa tốt hơn ở nhiệm vụ cung cấp nội dung tĩnh. Bảo mật: Chỉ hiển thị HTTPD trong DMZ . Người ta có thể thiết lập HTTPD Apache tại DMZ và làm cho nó đơn giản chuyển tiếp mọi thứ tới Bộ chứa Web (Tomcats, v.v.) và Máy chủ JavaEE (JBosses, v.v.).

Nếu ai đó muốn thêm bảo mật thông tin, sẽ không có yếu tố gì khi sử dụng bộ chứa web trong DMZ : Nếu nó đang ship hàng những ứng dụng ( nghĩa là có những tệp. war được tiến hành cho nó ), những ứng dụng vẫn “ dễ bị tổn thương ” ; nếu nó chỉ chuyển tiếp những nhu yếu / phản hồi, thì HTTPD Apache là một lựa chọn tốt hơn nhiều !

Sun Java Web Server, IBM WebSphere Application Server, WebLogic, JBoss Application Server, Tomcat, Jetty … Chúng đều là Máy chủ ứng dụng web Java và làm điều tương tự – chạy ứng dụng đóng gói WAR hoặc EAR của bạn (EAR dành cho “Doanh nghiệp”, chứa hơn 1 WARs).

Nếu bạn có hai sever trong thiết lập để chạy một ứng dụng, hoàn toàn có thể có điều gì đó không ổn trong kế hoạch / phong cách thiết kế tiến hành của bạn .
Có những trường hợp thiết lập nhiều sever nhưng đó là những thiết lập proxy và cân đối tải có Máy chủ HTTP Apache trước Máy chủ ứng dụng Java của bạn .

Ví dụ: bạn có Tomcat phục vụ ứng dụng của bạn trên cổng 8080 và bạn muốn sử dụng http://myserver.com/myapp/ thay vì http://myserver.com:8080/myapp/. Bạn không thể làm điều đó với Tomcat một mình vì Java không thể đi dưới cổng 1024 (*). Để điều này xảy ra, bạn cần thiết lập Máy chủ HTTP Apache trên cổng 80 và định cấu hình mod_proxy của nó để chuyển hướng tất cả lưu lượng truy cập từ /myapp sang http://myserver.com:8080/myapp.

* : Tôi không nhớ số đúng chuẩn nhưng khoảng chừng 1024. Và điều này đúng với Linux, nhưng có lẽ rằng không phải với Windows, đã một thời hạn kể từ khi tôi sử dụng thiết lập Windows .
Xem thêm : ” Drawee Là Gì Trong Tiếng Việt ? Drawee Bank Là Gì

CẬP NHẬT: Thật tệ, tôi đã quên nhấn mạnh phần “chạy như dịch vụ hệ thống” như được mô tả ở đây .

Ngữ cảnh ánh xạ Tomcat trải qua server.xml
Sự độc lạ giữa JPA và Hibernate là gì ?
Sự độc lạ giữa JSF, Servlet và JSP là gì ?
tập tin. war vs. ear
Chính xác thì Spring Framework để làm gì ?
Sự độc lạ giữa Spring, Struts, Hibernate, JavaServer Faces, Tapestry là gì ?
Ai đó hoàn toàn có thể lý giải mappedBy trong chính sách ngủ đông không ?
Phiên TimeOut trong web.xml
java.lang. UnsatisfiedLinkError no * * * * *. dll trong Java. l Library. path
Servlet Giao hàng nội dung tĩnh
javax.net.ssl. SSLHandshakeException :
Cách giải nén và đóng gói lại tệp WAR
Địa chỉ đã được sử dụng : JVM_Bind java
Làm thế nào để cải tổ hiệu suất của Netbeans ?
Không thể tạo trình tinh chỉnh và điều khiển JDBC của lớp “ ” để liên kết URL “ null ” : Tôi không hiểu ngoại lệ này
Lỗi NoInitialContextException

Thymeleaf – Cách lặp danh sách theo chỉ mục

không thể sắp xếp loại thành một phần tử vì nó thiếu chú thích
XmlRootEuity cho các lớp được tạo tự động

Làm thế nào để sửa lỗi xác nhận Eclipse “ Không phát hiện ràng buộc ngữ pháp cho tài liệu ” ?
Chú thích

5/5 - (1 vote)

Bài viết liên quan

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments