CORBA là một chuẩn đối tượng phân tán, định nghĩa các mối quan hệ client/server giữa các đối tượng trong một ngôn ngữ giao diện chung [9]. Chương trình RMI chỉ có cài đặt thể thực thi bằng ngôn ngữ lập trình Java nhưng chương trình CORBA có thể được cài đặt và thực thi bằng một ngôn ngữ lập trình bất kỳ [8].
Hình 3.6. Mô hình truy nhập cơ sở dữ web bằng Java CORBA
Đối tượng ứng dụng client CORBA muốn gọi đúng được đối tượng ứng dụng server CORBA cần có một đối tượng thứ ba có thể cung cấp phương tiện giao tiếp giữa các ứng dụng, dịch vụ và các tiện ích mạng gọi là ORB. ORB được quan niệm như bus mềm hay đường trục sống, cung cấp các giao diện chung giữa nhiều loại đối tượng khác nhau để có thể giao tiếp được với nhau theo mô hình bình đẳng.
Đối tượng client gửi yêu cầu đến ORB, nhiệm vụ của ORB là tìm đối tượng server hay tìm đối tượng có thể biết các server, sau đó thiết lập quá trình truyền thông giữa client và server này. Đối tượng server gửi đáp ứng cho ORB, nó định dạng lại và chuyển tiếp đáp ứng về cho nơi phát ra yêu cầu. ORB phải được nạp trên cả client và server, do tính bảo mật nên CORBA không cho phép một tiểu dụng Java truy nhập trực tiếp vào một đối tượng server CORBA ở xa mà phải đi qua tường lửa gọi là IIOP. IIOP là một phần của CORBA, nó cung cấp phương tiện để các đối tượng CORBA có thể tương tác với mạng TCP/IP, bao gồm cả mạng Internet. IIOP làm việc kết hợp hoặc thay thế cho HTTP, một giao thức cơ bản cho sự tương tác giữa trình duyệt Web và server.
Ngoại trừ giao thức IIOP, thành phần trung gian trong mô hình CORBA giống như RMI bao gồm hai đối tượng là đối tượng phục vụ ứng dụng (CORBA Application Server) và một đối tượng cài đặt. Đối tượng cài đặt ở đây là một ứng dụng chạy ngầm (tnameserv.exe) được tích hợp trong bộ JDK từ phiên bản 1.3 trở lên. Đối tượng cài đặt được sử dụng để nạp ORB và đăng ký CORBA Application Server dưới một tên dịch vụ duy nhất với ORB.
Hoạt động của mô hình truy nhập cơ sở dữ liệu Web bằng phương pháp Java CORBA thực hiện theo các bước sau :
1. Client truy nhập vào web server trên máy server qua trình duyệt Web, applet có chức năng truy nhập cơ sở dữ Web được tải về máy client từ máy server . 2. Applet được khởi động từ phía client. Sau khi nạp xong ORB nó kết nối với
ứng dụng CORBA server trên máy server thông qua Gatekeeper bằng cách gọi một phương thức đặc biệt và chuyển tên dịch vụ duy nhất của ứng dụng server đi giống như tham số của phương thức.
3. Ứng dụng CORBA Server thực hiện truy nhập cơ sở dữ liệu cục bộ, lấy dữ
liệu theo yêu cầu của phía client.
4. Ứng dụng CORBA Server gửi dữ liệu kết quả về cho phía client giống như
giá trị trả về của lời gọi phương thức. Giá của truy vấn ban đầu là:
(i) Pha khởi tạo
A. Thời gian cho client khởi tạo các lớp ORB lõi.
B. Thời gian cho client kết nối (bind) đến phục vụ ứng dụng CORBA
(ii) Pha thực thi
A. Thời gian cho client gọi một phương thức trên phục vụ ứng dụng CORBA, chuyển câu lệnh SQL cho nó như một tham số.
B. Thời gian cho phục vụ ứng dụng CORBA thực thi câu lệnh SQL, thu nhận và trả lại kết quả cho client.