Tải bản đầy đủ (.ppt) (36 trang)

CHUYÊN ĐỀ CORBA ppt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.26 MB, 36 trang )





THUYẾT TRÌNH MÔN HỌC LẬP TRÌNH MẠNG
THUYẾT TRÌNH MÔN HỌC LẬP TRÌNH MẠNG
CHUYÊN ĐỀ CORBA
CHUYÊN ĐỀ CORBA
GVHD: Phùng Hữu Phú
SVTH: Trương Nghĩa An – 50000017
Phạm Trần Ngọc Bảo – 50000123
Hồ Nguyên Đạt – 50000486
Đỗ Thanh Hải - 50000628

NỘI DUNG
NỘI DUNG

Giới thiệu CORBA
Giới thiệu CORBA

CORBA và mô hình phân tán
CORBA và mô hình phân tán

Phương thức động
Phương thức động

Trình môi giới VisiBroker
Trình môi giới VisiBroker

CORBA services: Naming service
CORBA services: Naming service



Chương trình ứng dụng (demo)
Chương trình ứng dụng (demo)

GIỚI THIỆU VỀ CORBA
GIỚI THIỆU VỀ CORBA
Vấn đề phát sinh :
Vấn đề phát sinh :

Các đối tượng trong ngôn ngữ lập trình
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ữ
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
nào thì chỉ có mã lệnh tương ứng của
ngôn ngữ đó mới truy xuất được chúng.
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
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ể
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 ?
triệu gọi và sử dụng lẫn nhau ?

GIỚI THIỆU
GIỚI THIỆU
C++ Bus Object Delphi Moto Object
Java Passenger Object
? ?

?
CORBA
CORBA
CORBA

GIỚI THIỆU
GIỚI THIỆU

Các ngôn ngữ lập trình đều có các điểm
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ố
chung là các lời gọi hàm, thủ tục, tham số
truyền, trị trả về…
truyền, trị trả về…

Ngôn ngữ đặc tả ánh xạ các điểm chung
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
đó thành những ngôn ngữ lập trình khác
nhau.
nhau.

CORBA là ngôn ngữ đặc tả (description
CORBA là ngôn ngữ đặc tả (description
language)
language)

IDL
IDL


CORBA còn được gọi là ngôn ngữ đặc tả
CORBA còn được gọi là ngôn ngữ đặc tả
giao tiếp (IDL – Interface Description
giao tiếp (IDL – Interface Description
Language)
Language)

Mô tả chức năng của đối tượng thông qua
Mô tả chức năng của đối tượng thông qua
hàm, phương thức, thuộc tính…
hàm, phương thức, thuộc tính…

Không chứa bất kỳ cài đặt mã lệnh nào
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
Đặc tả đối tượng dựa trên khái niệm
interface trong Java.
interface trong Java.

VÍ DỤ VỀ IDL
VÍ DỤ VỀ IDL

Đặc tả đối tượng Calculator bằng ngôn ngữ IDL
Đặc tả đối tượng Calculator bằng ngôn ngữ IDL
của CORBA
của CORBA

Tạo file Calculator.idl
Tạo file Calculator.idl

interface Calculator {
interface Calculator {
long addNumber ( in long x, in long y );
long addNumber ( in long x, in long y );
};
};

Để chuyển file đặc tả này sang các ngôn ngữ lập
Để chuyển file đặc tả này sang các ngôn ngữ lập
trình khác chúng ta có thể dùng như sau:
trình khác chúng ta có thể dùng như sau:

idl2cpp Calculator.idl // chuyển sang C++
idl2cpp Calculator.idl // chuyển sang C++

idlj Calculator.idl // chuyển sang java
idlj Calculator.idl // chuyển sang java

VÍ DỤ VỀ IDL
VÍ DỤ VỀ IDL

Kết quả là chúng ta có được tập tin
Kết quả là chúng ta có được tập tin
CalculatorOperations.java như sau:
CalculatorOperations.java như sau:
public interface CalculatorOperations
public interface CalculatorOperations
{
{
int addNumber(int x, int y);

int addNumber(int x, int y);
} // interface CalculatorOperations
} // interface CalculatorOperations

Bước cài đặt hàm addNumber() là do lập trình
Bước cài đặt hàm addNumber() là do lập trình
viên thực hiện.
viên thực hiện.

CORBA chỉ giúp triệu gọi hàm addNumber() từ
CORBA chỉ giúp triệu gọi hàm addNumber() từ
đối tượng CalculatorOperations.
đối tượng CalculatorOperations.

ÁNH XẠ TỪ IDL SANG JAVA
ÁNH XẠ TỪ IDL SANG JAVA


IDL
IDL
Java
Java
module
module
package
package
interface
interface
interface
interface

string
string
java.lang.String
java.lang.String
long
long
int
int
long long
long long
long
long
float
float
float
float
double
double
double
double
exception
exception
class
class
operation
operation
Method
Method

VÍ DỤ

VÍ DỤ
+ CORBA IDL:
+ CORBA IDL:
module {
module {




interface MathLibrary {
interface MathLibrary {
long add( in long x, in long y );
long add( in long x, in long y );


string About( in string version );
string About( in string version );
}
}
};
};
+ Java :
+ Java :
package Math;
package Math;
public interface MathLibrary {
public interface MathLibrary {
int add (int x, int y);
int add (int x, int y);
String About(String version);

String About(String version);
}
}

NHẬN XÉT
NHẬN XÉT

Ngôn ngữ đặc tả trong mô hình CORBA
Ngôn ngữ đặc tả trong mô hình CORBA
gần giống với ngôn ngữ C.
gần giống với ngôn ngữ C.

CORBA đưa ra từ khóa
CORBA đưa ra từ khóa
in
in


cho các biến
cho các biến
truyền vào theo trị và từ khóa
truyền vào theo trị và từ khóa
out
out


để lấy trị
để lấy trị
trả về.
trả về.


Những thay đổi mới nhất về CORBA có
Những thay đổi mới nhất về CORBA có
thể tìm thấy ở trang
thể tìm thấy ở trang
www.omg.org
www.omg.org

CORBA – MÔ HÌNH PHÂN TÁN
CORBA – MÔ HÌNH PHÂN TÁN

Trình môi giới trung gian ORB (Object
Trình môi giới trung gian ORB (Object
Request Broker)
Request Broker)

Cơ chế làm việc của ORB
Cơ chế làm việc của ORB

Giao thức IIOP (Interoperate Internet
Giao thức IIOP (Interoperate Internet
Object Protocol)
Object Protocol)

ORB (Object Request Broker)
ORB (Object Request Broker)

Các đối tượng sau khi tạo ra bởi các ngôn ngữ
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

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
chương trình môi giới trung gian của CORBA gọi
là ORB.
là ORB.

ORB hoạt động nhờ ngôn ngữ đặc tả IDL.
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
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ứ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.
thể gọi phương thức của đối tuợng.

ORB hoàn toàn trong suốt (transparent) đối với
ORB hoàn toàn trong suốt (transparent) đối với
lập trình viên và người sử dụng.
lập trình viên và người sử dụng.

ORB (Object Request Broker)
ORB (Object Request Broker)

CƠ CHẾ HOẠT ĐỘNG
CƠ CHẾ HOẠT ĐỘNG

GIAO THỨC IIOP
GIAO THỨC IIOP


Đ
Đ
ược định nghĩa dựa trên TCP/IP.
ược định nghĩa dựa trên TCP/IP.

Cho phép các ORB của các ngôn ngữ
Cho phép các ORB của các ngôn ngữ
khác nhau có thể giao ti
khác nhau có thể giao ti
ế
ế
p với nhau.
p với nhau.

Nhờ đó các đối tượng CORBA hiện
Nhờ đó các đối tượng CORBA hiện
thực bởi các ngôn ngữ khác nhau có
thực bởi các ngôn ngữ khác nhau có
thể giao ti
thể giao ti
ế
ế
p với nhau.
p với nhau.



PHƯƠNG THỨC ĐỘNG
PHƯƠNG THỨC ĐỘNG


Giới thiệu
Giới thiệu

Mục đích
Mục đích

Ưu – khuyết điểm
Ưu – khuyết điểm

Sử dụng
Sử dụng



GIỚI THIỆU
GIỚI THIỆU

MỤC ĐÍCH
MỤC ĐÍCH

Client phát hiện các interface runtime
Client phát hiện các interface runtime

Phục vụ các ứng dụng không thể
Phục vụ các ứng dụng không thể
dùng cách gọi tĩnh
dùng cách gọi tĩnh

Ví dụ: CORBA design tool
Ví dụ: CORBA design tool


ƯU - KHUYẾT ĐIỂM
ƯU - KHUYẾT ĐIỂM

Ưu điểm:
Ưu điểm:

Client không cần biết interface cho các
Client không cần biết interface cho các
server object
server object

Cung cấp lựa chọn khi lấy kết quả trả về
Cung cấp lựa chọn khi lấy kết quả trả về

Khuyết điểm
Khuyết điểm

Chương trình phức tạp
Chương trình phức tạp

Chi phí cao
Chi phí cao

Dễ gây ra lỗi
Dễ gây ra lỗi





Tạo đối tượng
Tạo đối tượng
Request
Request

request()
request()

create_request()
create_request()

Đóng gói đối tượng request
Đóng gói đối tượng request

add_value()
add_value()

result()
result()

Gọi phương thức
Gọi phương thức

invoke()
invoke()

send_deferred()
send_deferred()
SỬ DỤNG
SỬ DỤNG




GỌI PHƯƠNG THỨC ĐỘNG
GỌI PHƯƠNG THỨC ĐỘNG




Giới thiệu
Giới thiệu

Trình môi giới trung gian
Trình môi giới trung gian

Giao tiếp giữa các đối tượng CORBA theo
Giao tiếp giữa các đối tượng CORBA theo
giao thức IIOP
giao thức IIOP

Do hãng Borland cài đặt
Do hãng Borland cài đặt

Download miễn phí tại:
Download miễn phí tại:

/>CORBA - ORB VisiBroker
CORBA - ORB VisiBroker




CORBA - VISIBROKER
CORBA - VISIBROKER

VisiBroker – các điểm căn bản
VisiBroker – các điểm căn bản

Dịch file IDL
Dịch file IDL

Idl2java XXX.idl
Idl2java XXX.idl

Biên dịch mã nguồn:
Biên dịch mã nguồn:

vbjc *.java
vbjc *.java

Khởi động trình ORB
Khởi động trình ORB

osagent.exe
osagent.exe

Chạy trình ứng dụng
Chạy trình ứng dụng

vbj Client
vbj Client


vbj Server
vbj Server
SỬ DỤNG
SỬ DỤNG

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×