- Hãy chắc chắn để sử dụng URL khi bắt đầu các máy chủ Di chuyển các lớp trong thư mục server vào máy chủ của bạn và bắt đầu đăng ký RMI và máy
1/ The Interface Definition Language(Ngôn ngữ đặc tả giao diện):
- Để giới thiệu cú pháp IDL, chúng ta sẽ chạy thử các ví dụ minh họa mà đã dùng cho RMI. Trong RMI, bạn bắt đầu 1 interface bằng ngôn ngữ lập trình Java. Còn trong CORBA, thì bắt đầu 1 interface bằng cú pháp IDL như sau:
interface Product {
54 Lập Trình Hệ Thống Với Java – Tìm hiểu lập trình phân tán trong Java
string getDescription(); };
- Có 1 vài khác biệt khó nhận thấy giữa IDL và Java. Trong IDL thì việc kết thúc định nghĩa interface bằng bằng dấu chấm phẩy. Để ý là string được viết thường. Thực ra lớp string này liên quan tới khái niệm của CORBA về 1 chuỗi, mà nó khác với 1 chuỗi trong Java. Trong ngôn ngữ lập trình Java, chuỗi bao gồm 16-bit kí tự Unicode. Còn trong CORBA thì chuỗi chỉ chứa 8-bit kí tự. Nếu bạn gửi chuỗi 16-bit qua CORBA và chuỗi đó có những ký tự với byte cao khác không(nonzero high byte), thì 1 ngoại lệ sẽ được đưa vào.
- Trình biên dịch “IDL sang Java” (trình biên dịch Java IDL) sẽ chuyển các định nghĩ của IDL sang định nghĩa các interface của Java. Ví dụ, giả sử bạn đưa định nghĩa IDL Product vào 1 file Product.idl và chạy câu lệnh idlj
Product.idl thì kết quả là 1 file ProductOperations.java với nội dung như
sau:
interface ProductOperations {
String getDescription(); }
- Cùng với 1 file Product.java định nghĩa 1 interface như sau: public interface Product extends
ProductOperations, org.omg.CORBA.Object,
org.omg.CORBA.portable.IDLEntity {
}
- Các quy tắc điều khiển việc chuyển đổi từ IDL sang ngôn ngữ lập trình Java được gọi chung là các ràng buộc trong ngôn ngữ lập trình Java. Những ràng buộc trong ngôn ngữ được tiêu chuẫn hóa bởi OMG. Tất cả các nhà cung cấp CORBA đều được yêu cầu sử dụng những quy tắc chung cho việc ánh
xạ(mapping) cấu trúc IDL sang 1 ngôn ngữ lập trình cụ thể.