2011-01-12 35 views

Trả lời

7

Họ không quá phổ biến hiện nay như Java hiện đại hay kiến ​​trúc Net thường làm kiểu này mà sử dụng HTTP dựa trên dịch vụ web.

Tuy nhiên, nhiều hệ thống sử dụng các kiến ​​trúc này và chúng hiệu quả hơn các kiến ​​trúc dịch vụ web vì chúng thường sử dụng các giao thức truyền thông dựa trên UDP. Mặc dù các kiến ​​trúc này vẫn được sử dụng ngày nay, chúng chủ yếu được chuyển xuống các hệ thống thị trường thừa kế và thích hợp trong thực tế.

Trong một số trường hợp, RMI được sử dụng phía sau hậu trường trong máy chủ ứng dụng java. Ví dụ, một thùng chứa bean có thể được chuyển đến một máy chủ riêng biệt từ một máy chủ ứng dụng web. Các máy chủ ứng dụng Java thực hiện điều này khá minh bạch - thùng chứa bean có thể nằm trên cùng một máy chủ thông qua các cuộc gọi nội hạt hoặc trên một máy chủ khác thông qua RMI. Với kiến ​​trúc ứng dụng thích hợp, nó chỉ là một mục cấu hình và máy chủ ứng dụng có thể thực hiện tất cả các điều khiển từ xa đằng sau hậu trường.

DCOM được sử dụng tương tự với ứng dụng COM +. Tuy nhiên, COM + phần lớn là một kiến ​​trúc cũ trên Windows. Nó đã được phổ biến với VB6 nhưng đó là tất cả nhưng không được chấp nhận.

CORBA có một danh tiếng khá xứng đáng về sự phức tạp do nguồn gốc của ủy ban thiết kế. Tuy nhiên, nó bật lên ở rất nhiều nơi bất ngờ. Ví dụ, các phiên bản trước của GNOME đã sử dụng một mô hình thành phần dựa trên CORBA có tên là Bonobo nhưng điều này phần lớn đã được thay thế bằng D-BUS trong các phiên bản hiện tại. Ngoài cơ sở hạ tầng hệ thống cũ, nó có một vài thị trường thích hợp (chủ yếu là các ứng dụng độ trễ thấp) được hưởng lợi từ các đặc điểm của nó như cơ chế truyền tải dựa trên UDP.

+3

AFAIK CORBA IIOP sử dụng TCP chứ không phải UDP. –

+0

Nhiều triển khai CORBA cho phép bạn trao đổi vận chuyển từ TCP mặc định. Điều này cho phép bạn sử dụng UDP, bộ nhớ chia sẻ hoặc một số cơ chế cụ thể khác của hệ điều hành như là phương tiện cơ bản. Một lý do mà CORBA vẫn được sử dụng ngày nay là nó có cả một mô hình đối tượng và một quá trình vận chuyển qua mạng nhị phân, cho phép các hiệu quả mà bạn không nhận được với một dịch vụ web. –

+0

@Brian - Sẽ rất thú vị * mà việc triển khai CORBA cho phép bạn chuyển đổi từ TCP. Thực tế, tôi vừa thêm một câu hỏi về vấn đề này: http://stackoverflow.com/questions/4886243/what-transport-layers-other-than-tcp-are-supported-by-existing-corba-implementati –

1

Java EE EJB vẫn sử dụng RMICORBA như giao thức dây của họ.

Có lẽ đó là lý do tại sao các dịch vụ web HTTP, được họ dựa trên RPC-XML, SOAP, hoặc REST của, đang lên cao. Đơn giản và cởi mở thường giành chiến thắng.

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