GIỚI THIỆU VỀ CORBAVấn đề phát sinh : Các đối tượng trong ngôn ngữ lập trình hướng đối tượng thiết kế bằng ngôn ngữ nào thì chỉ có mã lệnh tương ứng của ngôn ngữ đó mới truy xuất được
Trang 2NỘI DUNG
Phương thức động
Trình môi giới VisiBroker
CORBA services: Naming service
Chương trình ứng dụng (demo)
Trang 3GIỚI THIỆU VỀ CORBA
Vấn đề phát sinh :
Các đối tượng trong ngôn ngữ lập trình
hướng đối tượng thiết kế bằng ngôn ngữ nào thì chỉ có mã lệnh tương ứng của
ngôn ngữ đó mới truy xuất được chúng
Làm sao các đối tượng được thiết kế bằng các ngôn ngữ lập trình khác nhau có thể triệu gọi và sử dụng lẫn nhau ?
Trang 5GIỚI THIỆU
Các ngôn ngữ lập trình đều có các điểm chung là các lời gọi hàm, thủ tục, tham số truyền, trị trả về…
Ngôn ngữ đặc tả ánh xạ các điểm chung
đó thành những ngôn ngữ lập trình khác nhau
CORBA là ngôn ngữ đặc tả (description language)
Trang 6 Không chứa bất kỳ cài đặt mã lệnh nào
Đặc tả đối tượng dựa trên khái niệm
interface trong Java
Trang 7 idl2cpp Calculator.idl // chuyển sang C++
idlj Calculator.idl // chuyển sang java
Trang 8VÍ DỤ VỀ IDL
Kết quả là chúng ta có được tập tin
CalculatorOperations.java như sau:
public interface CalculatorOperations
Trang 9ÁNH XẠ TỪ IDL SANG JAVA
IDL Java
module package interface interface string java.lang.String long int
long long long float float double double exception class operation Method
Trang 10VÍ DỤ
+ CORBA IDL:
interface MathLibrary {
long add( in long x, in long y );
string About( in string version );
}
};
+ Java :
package Math;
public interface MathLibrary {
int add (int x, int y);
String About(String version);
Trang 11NHẬN XÉT
Ngôn ngữ đặc tả trong mô hình CORBA
gần giống với ngôn ngữ C
CORBA đưa ra từ khóa in cho các biến
truyền vào theo trị và từ khóa out để lấy trị trả về
Những thay đổi mới nhất về CORBA có
thể tìm thấy ở trang www.omg.org
Trang 12CORBA – MÔ HÌNH PHÂN TÁN
Trình môi giới trung gian ORB (Object
Request Broker)
Cơ chế làm việc của ORB
Giao thức IIOP (Interoperate Internet
Object Protocol)
Trang 13ORB (Object Request Broker)
Các đối tượng sau khi tạo ra bởi các ngôn ngữ lập trình khác nhau phải được gọi thông qua một chương trình môi giới trung gian của CORBA gọi
là ORB.
ORB hoạt động nhờ ngôn ngữ đặc tả IDL.
Dựa vào IDL, ORB sẽ biết được tên phương
thức cần gọi, đối số, trị trả về,…Từ đó ORB có thể gọi phương thức của đối tuợng.
ORB hoàn toàn trong suốt (transparent) đối với lập trình viên và người sử dụng.
Trang 14ORB (Object Request Broker)
Trang 15CƠ CHẾ HOẠT ĐỘNG
Trang 16GIAO THỨC IIOP
Được định nghĩa dựa trên TCP/IP.
Cho phép các ORB của các ngôn ngữ khác nhau có thể giao tiếp với nhau.
Nhờ đó các đối tượng CORBA hiện
thực bởi các ngôn ngữ khác nhau có thể giao tiếp với nhau.
Trang 18GIỚI THIỆU
Trang 20ƯU - KHUYẾT ĐIỂM
Trang 21 Tạo đối tượng Request
Trang 22
GỌI PHƯƠNG THỨC ĐỘNG
Trang 23 Giới thiệu
Trang 24CORBA - VISIBROKER
Trang 25VisiBroker – các điểm căn bản
Trang 26CORBA SERVICE
Tương tác giữa các đối
tượng phân bố
Trang 31 Là đối tượng dùng để tham chiếu đến một NamingComponent hay một NamingContext khác
Giống như thư mục trong hệ thống file
Trang 32MÔ HÌNH LƯU TRỮ ĐỐI TƯỢNG
Market
Stock
Toys
Fruit Shelf
Book
Object A
Object B
Object C
Trang 35TÀI LIỆU THAM KHẢO
Fundamental of distributed object system – the CORBA perspective
Teach yourself CORBA in 14 days
JAVA - Lập trình mạng
www.borland.com/visibroker
Trang 36THE END
THE END