2011-10-11 27 views

Trả lời

111

từ xa xem khách hàng

Khi EJB của bạn và khách hàng của mình sẽ được ở một môi trường phân phối - có nghĩa là EJB và khách hàng sẽ nằm trên máy ảo Java riêng biệt. Ví dụ: Các EJB được lưu trữ trên Máy chủ ứng dụng WebSphere và các Servlet tiêu thụ các API EJB được lưu trữ trên một máy chủ Tomcat.

xem khách hàng Local

Chỉ khi nó được đảm bảo rằng enterprise bean khác hoặc khách hàng sẽ chỉ giải quyết đậu trong một JVM duy nhất. Ví dụ, các EJB cũng như các Servlet được triển khai trên cùng một máy chủ WebSphere.

Không-Interface xem

là gần như tương tự như quan điểm của khách hàng địa phương, nhưng có sự khác biệt. Lớp bean của bạn không bắt buộc phải triển khai thực hiện các giao diện xem khách hàng trong trường hợp này. Tất cả các phương thức công khai của lớp bean được tự động tiếp xúc với người gọi. giao diện không có giao diện luôn thu nhận tham chiếu EJB - giống như các chế độ xem cục bộ hoặc từ xa - thông qua việc tra cứu hoặc tra cứu JNDI; nhưng, kiểu Java của tham chiếu EJB là kiểu lớp bean chứ không phải kiểu giao diện cục bộ. Đây là một tiện ích được giới thiệu như một phần của Java EE6.

Sự khác nhau giữa quan điểm của khách hàng địa phương và xem

không giao diện Trong trường hợp không có giao diện xem, khách hàng và đậu mục tiêu phải được đóng gói trong cùng một ứng dụng (EAR). Trong trường hợp của chế độ xem cục bộ, ứng dụng khách có thể được đóng gói trong một ứng dụng riêng biệt so với ứng dụng doanh nghiệp. Vì vậy, điều này mang lại sự linh hoạt hơn về mặt các thành phần của bạn.

Bạn có thể sử dụng chế độ xem khách hàng địa phương và chế độ xem giao diện không phụ thuộc vào kịch bản sử dụng API của bạn. Nó rất có khả năng cho giao diện không có giao diện để nhận các tính năng linh hoạt trong các thông số kỹ thuật trong tương lai.

Lý do

Về mặt lịch sử hay cách khác, một khách hàng có nhu cầu sử dụng dịch vụ EJB được cho là "nhìn lên" đậu trên thùng (với bối cảnh ban đầu nhất định). Đó là bởi vì tất cả các lời gọi được thực hiện thông qua một tham chiếu EJB đặc biệt (proxy) được cung cấp bởi vùng chứa. Điều này cho phép container cung cấp tất cả các dịch vụ bean bổ sung như gộp, các giao dịch được quản lý bởi container vv Vì vậy, một máy khách không thể khởi tạo một EJB một cách rõ ràng với toán tử new. Chế độ xem ứng dụng khách được cung cấp qua các giao diện nhất định mà khách hàng sẽ có quyền truy cập. Việc thực hiện proxy ở phía máy chủ được thực hiện dựa trên các giao diện này. Các khung nhìn khách hàng khác nhau được định nghĩa cho các kịch bản triển khai khác nhau như đã đề cập ở trên.

+4

Tôi tự hỏi nếu nó thực sự là trường hợp, rằng một khách hàng địa phương xem có thể được sử dụng giữa các ứng dụng doanh nghiệp khác nhau. Trong đặc tả EJB 3.2, phần 3.2.2, người ta nói rằng việc gọi các bean từ các ứng dụng khác nhau thông qua các khung nhìn máy khách nội bộ là nhà cung cấp cụ thể và có thể không được hỗ trợ trong các thùng chứa. Bạn có bất kỳ máy chủ ứng dụng cụ thể nào trong đầu không? – mcmil

+0

Điều gì xảy ra? nếu chúng ta "mới" một EJB (điều này có thể xảy ra nếu khách hàng và EJB ở trong cùng một ứng dụng) – lovespring

+2

Nếu bạn sử dụng 'mới', bạn sẽ nhận được một cá thể mới. Đó là tất cả. Ví dụ mới đó sẽ không có bất kỳ "sự hỗ trợ" nào từ container trong việc gộp nhóm, thiết lập ngữ cảnh của nó vv. Bạn đang chạy một mình. –

3

Theo mục 3.2.2 của EJB 3.1 Đặc điểm kỹ thuật:

Tiếp cận một đậu doanh nghiệp thông qua việc xem khách hàng địa phương chỉ cần thiết để được hỗ trợ cho các khách hàng địa phương đóng gói trong cùng một ứng dụng như bean doanh nghiệp cung cấp chế độ xem khách hàng địa phương .Việc triển khai tuân thủ đặc điểm kỹ thuật này có thể tùy chọn hỗ trợ truy cập vào chế độ xem khách hàng cục bộ của một bean doanh nghiệp từ một ứng dụng khách địa phương được đóng gói trong một ứng dụng khác. Yêu cầu cấu hình để truy cập ứng dụng cục bộ vào chế độ xem khách hàng địa phương là dành riêng cho nhà cung cấp và nằm ngoài phạm vi của đặc điểm kỹ thuật này. Các ứng dụng dựa vào việc truy cập ứng dụng giữa các ứng dụng khách địa phương là không thể di chuyển.

Chế độ xem giao diện không chỉ là một tính năng tiện lợi cho phép đậu tới hiển thị chế độ xem khách hàng địa phương mà không cần khai báo giao diện riêng biệt.

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