2009-10-14 106 views

Trả lời

14

RMI là một công nghệ đặc thù cho Java. CORBA đã triển khai cho nhiều ngôn ngữ. Bạn có thể sử dụng CORBA để chia sẻ các đối tượng giữa các chương trình được viết bằng các ngôn ngữ khác nhau (ví dụ: C++ và Java).

CORBA sử dụng IDL (Ngôn ngữ định nghĩa giao diện) để tách giao diện khỏi triển khai. RMI chỉ sử dụng giao diện Java.

Vì CORBA không liên kết với một ngôn ngữ cụ thể, các kiểu dữ liệu không luôn luôn ánh xạ chính xác với các loại được sử dụng bởi ngôn ngữ lập trình của bạn (ví dụ: IDL dài là một int trong Java).

Các chương trình RMI có thể tải xuống các lớp mới từ JVM từ xa. Corba không có cơ chế chia sẻ mã này. Nó đã được một thời gian, nhưng tôi nhớ (từ porting một ứng dụng Java từ CORBA đến RMI) mà CORBA (hoặc ít nhất là việc thực hiện chúng tôi đang sử dụng) đã chăm sóc rất nhiều đồng bộ cần thiết cho mã đồng thời, đó là một cái gì đó chúng tôi phải làm một cách rõ ràng khi sử dụng RMI.

RMI có thể được định cấu hình để hoạt động trên IIOP (giao thức được CORBA sử dụng).

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