1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu lập trình với corba

46 1,1K 7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 46
Dung lượng 838 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Mô hình web hiện nay cho thấy thế mạnh của mô hình Client – ServerXu hướng tập trung giải quyết vấn đề mà nguồn lực là ServerCác phần mềm viết trên các ngôn ngữ khác nhauCó cách nào để có thể kết nối Client – Server trong khi mỗi máy triển khai trên một nền tảng ngôn ngữ khác nhau?

Trang 1

PHÁT TRIỂN PHẦN MỀM HƯỚNG CẤU PHẦN

( Component – Oriented Programming)

KHOA CÔNG NGHỆ THÔNG TIN

BỘ MÔN CÔNG NGHỆ PHẦN MỀM

Trang 2

Chương 4: COP & Corba

 Giới thiệu CORBA

Trang 3

 Các phần mềm viết trên các ngôn ngữ khác nhau

 Có cách nào để có thể kết nối Client – Server trong

khi mỗi máy triển khai trên một nền tảng ngôn ngữ khác nhau?

Trang 4

Đặt vấn đề

Java Passenger Object

?

CORBA

CORBA CORBA

Trang 5

 Common Object Request Broker Architecture

 Được tạo ra bởi công ty Object Management Group Được tạo ra bởi công ty

(OMG), có liên quan tới khoảng trên 800 công ty

khác nhau

 Corba trợ giúp quá trình đặc tả các thành phần

 Corba hỗ trợ tốt cho các ứng dụng chạy trên mô

hình Client – Server

 Với đặc tả Corba, các phần mềm chạy trên server

và Client có thể triển khai với nền tảng ngôn ngữ

lập trình khác nhau: Java, C++, Delphi…

Giới thiệu CORBA

Trang 6

 Ra đời năm 1991 Đáp ứng nhu cầu xây dựng các

mô hình đối tượng phân tán

 Bao gồm 2 thành phần cơ bản: IDL + API

 IDL = Interface Definition Language

 API trợ giúp việc gọi hàm từ xa trong mô hình phân

tán

 Hỗ trợ BOA (Basic Object Adapter)

CORBA 1.0

Trang 7

 Ra đời năm 1996

 Thay thế BOA bằng POA (Portable Object Adapter

– Bộ điều khiển đối tượng di động)

 Hỗ trợ giao thức Internet Inter-ORB Protocol (IIOP)

 Cho chép ánh xạ từ IDL sang C, Java, Delphi…

 Các công ty phần mềm lớn chú ý và hỗ trợ kĩ thuật:+ SUN hỗ trợ công cụ: IDLJ – IDLtoJava

+ Microsoft hỗ trợ công cụ DCOM – Sau này được

thay thế bởi Dotnet Framework

CORBA 2.0

Trang 8

 Là phiên bản cuối cùng của CORBA

 Chính thức hỗ trợ kiến trúc hướng thành phần

 Tích hợp CCM (CORBA Component Model)

 OpenCCM, MicoCCM, and EJB 3.0 là những công

cụ giúp triển khai các thành phần với CORBA

 OpenCCM sẽ được giới thiệu trong phần sau

CORBA 3.0

Trang 9

Kiến trúc cơ bản CORBA

Trang 10

 Object Request Braher (ORB)

 Object Adapter (OA)

 Stub and Skeleton

 Interface Repository (IR) and Implementation

Repository IR

 Object References (OR)

 Interface Definition Language (IDL) and Language

Mapping

Trang 11

Object Request Broker/Braher (ORB)

 Đối tượng trung gian xử lý yêu cầu

 Chứa các thư viện và các xử lý định vị và kích hoạt

các đối tượng từ xa

 Là tầng thấp nhất gắn kết máy chủ và máy trạm

 Định vị đối tượng, gọi các phương thức được định

nghĩa thông qua giao diện

 Nhận kết quả trả về từ máy chủ

 ORB có cả trên máy chủ và máy trạm

Trang 12

Mô hình ORB

Trang 13

Kiến trúc kiểu ORB

Trang 14

Object Adapter (OA)

 Bộ điều khiển các đối tượng

 Chịu trách nhiệm nạp các thành phần cho máy chủ

 OA gọi các hàm, tạo lập kích hoạt đối tượng thực

thi và hủy bỏ chúng

 OA có 2 dạng là BOA và POA

 BOA có ở phiên bản 1, được thay thế POA ở phiên

bản 2

Trang 15

Stub and Skeleton

 Được hiểu như là phụ tá của máy chủ và máy trạm

 Stub và Skeleton sẽ có nhiệm vụ trao đổi dữ liệu

cho nhau

 Khi máy trạm có yêu cầu, Stub có nhiệm vụ sắp đặt

mọi tham số (là object) và truyền lên máy chủ

 Skeleton trên máy chủ sẽ giải mã đối tượng này và

xử lý

 Một quá trình ngược lại với quá trình trên, dữ liệu

được trả về cho máy trạm

 Kiên trúc hiện nay chỉ còn lại Stub

Trang 16

Interface Repository (IR) &

Implementation Repository IR

 Được hiểu là kho dữ liệu giao diện và kho triển khai

 IR bao gồm: Thông tin kiểu dữ liệu, phương thức và

các tham số được định nghĩa thông qua ngôn ngữ IDL

 Implementation Repository chỉ ra cách thức để kích

hoạt các thành phần máy chủ

 Implementation Repository chứ đầy đủ các thông tin

về các thành phần, các lớp có trong các thành phần và các đối tượng

Trang 17

Object References (OR)

 Đối tượng tham chiếu

 Là một đối tượng thành phần của CORBA

 OR chứa vị trí, chỉ số (id) của những đối tượng yêu

cầu

 Máy trạm cần phải lấy được danh sách các OR

 Khi cần thực hiện lời gọi hàm, máy trạm sẽ tìm tới

OR của phương thức tương ứng

Trang 18

Interface Definition Language (IDL)

 Ngôn ngữ định nghĩa giao diện

 Cho phép định nghĩa giao diện thông qua các từ

khóa

 Giao diện được ghi dưới dạng file idl

 Các file idl sẽ được dịch (mapping) sang các ngôn

ngữ tương ứng như: C++, Java, Delphi

 Java sử dụng IDLJ để thực thi biên dịch IDL sang

mã Java

 IDL sẽ được giới thiệu ở phần sau

Trang 19

Bắt đầu CORBA với HelloCORBA

 Các bước tiến hành:

1. Tạo file hello.idl, định nghĩa giao diện chung.

2. Biên dịch IDL thành file Java, C++

3. Viết lại các thành phần Server và Client kế

thừa các Interface

4. Biên dịch file Java, C++ thành các chương

trình chạy trên Server và Client

5. Chạy dịch vụ trên Server

6. Chạy ứng dụng trên Client

Trang 20

Mục tiêu cần đạt được

 Tạo ra một ứng dụng Client – Server

 Các phương thức xây dựng trên Server

+ sayHello: In ra 1 dòng Hello

+ shutdown: hủy bỏ đối tượng remote

 Client gửi một yêu cầu gọi một hàm trên Server

 Kết quả lời gọi hàm hiển thị trên Client

Trang 21

1 Tạo file hello.idl

 Có thể soạn thảo file IDL bằng công cụ soạn thảo

bất kì: notepad, wordpad

 Với NetBean:

+ Download: jbi4corba-0.7.1-netbeans-plugin

+ Menu – Tools – Plugin – Addnew

+ Chọn các file được giải nén từ file download

+ Từ cửa sổ Project, chọn một project bấm chuột phải

và chọn new IDL File

Trang 22

1 Tạo file hello.idl

Trang 23

2 Biên dịch IDL sang Java

 Sử dụng công cụ IDLJ có trong thư mục BIN của

Java

 Lệnh:

Idlj [option] hello.idl

 Option:

-fall: Biên dịch cho cả Client và Server

-fclient: Biên dịch cho phần Client

-fserver: Biên dịch cho phần Server

Trang 24

2 Biên dịch IDL sang Java

 Sau khi biên dịch, ta được mã java:

Trang 25

2 Biên dịch IDL sang Java

 Thực tế khi biên dịch, trình biên dịch IDLC không

chỉ tạo ra một file java

 Kết quả tạo ra khác nhau khi ta đưa các Option

khác nhau

-fall: _HelloStub, Hello, HelloHelper, HelloHolder,

HelloOperations, HelloPOA

-fserver: Hello, HelloOperations, HelloPOA

-fclient: _HelloStub, Hello, HelloHelper, HelloHolder,

HelloOperations

Trang 26

2 Biên dịch IDL sang Java

Idlj –fall hello.idl

Idlj –fclient hello.idl

Idlj –fserver hello.idl

Trang 27

3 Component Client & Server

Trang 28

3 Component Client & Server

 HelloServant.java

Trang 29

3 Component Client & Server

HelloServer.java

Trang 30

3 Component Client & Server

 HelloClient.java

Trang 31

4 Biên dịch các file Java

 Thư mục HelloApp được sinh ra thực thi IDLJ

 Với Option –fall, HelloApp chứa 6 file java

 Copy thư mục HelloApp sang ổ D:

 Copy 3 file: HelloServer.java, HelloClient.java,

HelloServant.java sang ổ D:

 Start – Run: gõ “cmd” để vào Command

 Đặt đường dẫn tới thư mục BIN của Java

path C:\ProgramFiles\Java\jdk1.6.0_17\bin

 Thực hiện lệnh biên dịch:

javac d:\HelloApp\*.java d:\*.java

Trang 32

5 Chạy dịch vụ trên Server

 Khởi động Server ORB:

start orbd -ORBInitialPort 1050

 Thực thi HelloServer với các tham số:

Trang 33

5 Chạy dịch vụ trên Server

Trang 34

5 Chạy ứng dụng trên Client

 Thực hiện lệnh trong Command:

java HelloClient -ORBInitialPort 1050 -ORBInitialHost

localhost

IDL Expamle

Trang 36

NAMING SERVICE

đối tượng phân bố thông qua tên.

Trang 40

MÔ HÌNH LƯU TRỮ ĐỐI TƯỢNG

Market

Stock

Toys

Fruit Shelf

Book Panel

Object A

Object B

Object C

Trang 43

Các công cụ hỗ trợ CORBA

 CCM

Trang 44

Tóm tắt kiến thức

thuần là một ngôn ngữ

+ IDL là một ngôn ngữ trung gian đinh nghĩa interface

+ API cũng cấp giao diện hỗ trợ kiến trúc Client – Server

+ Tool: CCM, OmniIDL, Visibroker

Trang 46

HẾT CHƯƠNG 4

Ngày đăng: 23/10/2014, 10:15

HÌNH ẢNH LIÊN QUAN

Hình Client – Server - Tìm hiểu lập trình với corba
nh Client – Server (Trang 3)
Hình Client – Server. - Tìm hiểu lập trình với corba
nh Client – Server (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w