1. Trang chủ
  2. » Luận Văn - Báo Cáo

CORBA VÀ KỸ THUẬT PHÂN TÁN

44 869 5

Đ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 44
Dung lượng 575 KB

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

Nội dung

CORBA VÀ KỸ THUẬT PHÂN TÁN

Trang 1

CORBA VÀ KỸ THUẬT PHÂN

TÁN

GVHD:Đỗ Đình Thuận

Trang 2

Nội dung trình bày:

Chương 1: Giới thiệu

Trang 3

Chương I :Giới thiệu về Corba

 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…

Trang 4

CORBA 1.0

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)

Trang 5

CORBA 2.0

 Ra đời năm 1996

 Được hỗ trợ 2 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

Trang 6

CORBA 3.0

 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

 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

Trang 7

CHƯƠNG II:CORBA VÀ CÔNG NGHỆ PHÂN TÁN

Trang 8

Tìm hiểu về Corba

1.1 Tổng quan.

CORBA (Common Object Request

Broker Architecture) (tạm dịch là Kiến trúc môi giới gọi các đối tượng thông

dụng) là một kiến trúc chuẩn cho các hệ đối tượng phân tán.

Trang 9

 Nó cho phép một tập các đối tượng hỗn

hợp, phân tán siêu tương tác với nhau là một chuẩn hết sức quan trọng ra nhằm

cho phép thực hiện kiến trúc "client –

sever" theo phương pháp tiếp cận hướng

sự vật.

Trang 11

 Nhược điểm của CORBA

 Ngôn ngữ lập trình bậc thấp, rất phức

tạp, khó học, và cần một đội ngũ phát triển có kinh nghiệm.

khó tái sử dụng

Trang 12

1.2 Mục tiêu của CORBA

các đối tượng tạo ra các lời triệu gọi và nhận kết quả trả lại một cách trong suốt.

Trang 13

1.2 Mục tiêu của CORBA(tt)

giới yêu cầu đối tượng ORB để định vị

các đối tượng

giao diện với nhiều trường hợp.Tham

chiếu đối tượng xác định một trường hợp

cụ thế.Tham chiếu đối tượng Corba có

thể thực hiện liên tục

Trang 14

1.3 Đặc trưng thiết kế của CORBA

Một hoặc nhiều quá trình server CORBA có

thể chạy trên cùng một máy

 Mỗi quá trình server CORBA chứa một hoặc

nhiều trường hợp về đối tượng CORBA, một hoặc nhiều giao diện CORBA

 Đối tượng Corba có thể định vị đến các quá

trình, trong quá trình khác nhau trên cùng một máy hoặc các quá trình khác nhau trên những máy khác nhau

Trang 15

1.4 Kiến trúc CORBA

Trang 16

1.4 Kiến trúc CORBA(tt)

Object Request Braher (ORB)

Object Adapter (OA)

Stub and Skeleton

Interface Repository (IR) and Implementation

Repository IR

Object References (OR)

Interface Definition Language (IDL)

Trang 17

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ủ

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.

Trang 19

1.5 Các lớp được sử dụng trong CORBA

truy xuất đến các đối tượng phân bố

thông qua tên và được định nghĩa trong CosNaming.idl

NamingComponent

Naming Service

Trang 20

2 CÔNG NGHỆ PHÂN TÁN CỦA CORBA

2.1 Tổng quan về hệ phân tán

dữ liệu được phân tán trên nhiều trạm,

được kết nối với nhau thông qua một

mạng máy tính.

Trang 21

 Hệ phân tán bao gồm tập các máy tính

được nối với nhau bởi mạng máy tính và các thiết bị được cái đặt phần mềm được thiết kế để cung cấp một môi trường tích hợp và nhất quán (phần mềm của hệ phân tán).

Trang 22

2.1 Tổng quan về hệ phân tán(tt)

 Hệ phân tán cho phép con người có thể hợp

tác, phối hợp các hoạt động một cách mềm dẻo

Chia sẻ tài nguyên

Chia sẻ tài nguyên

Mục tiêu của

hệ phân tán :

Chia sẻ tài nguyên

Chia sẻ tài nguyên

Trang 23

2.2 Mô hình phân tán

2.2.1 Chương trình môi giới trung gian ORB

 Các đối tượng sau khi được xây dựng bằng

những ngôn ngữ lập trình khác nhau muốn

triệu gọi được nhau phải thông qua trình môi giới trung gian của Corba gọi là ORB (Object request broker :Trình môi giới các yêu cầu của đối tượng)

 ORB là một dịch vụ phân tán thực thi yêu

cầu đến các đối tượng ở xa

Trang 24

2.2.1 Chương trình môi giới trung gian

Trang 25

2.2.1 Chương trình môi giới trung gian

ORB(tt)

tìm hiểu ở trên Các đối tượng cho dù

được cài đặt bằng bất kì ngôn ngữ nào

nếu như tuân thủ theo đặc tả IDL đều

được xem là đối tượng CORBA.

Trang 26

 Tuy không cài đặt bản thân đối tượng

nhưng dựa vào đặc tả IDL ORB sẽ biết

được tên phương thức cần gọi, kiểu đối

số truyền cho phương thức,giá trị trả về của phương thức gọi

đối tượng cài đặt (Hình trên) ORB là

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

Trang 27

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

 ORB cũng dùng khái niệm lớp trung gian

_Stub và _Skel tương tự như cách làm việc của các đối tượng RMI

 Thật sự _Stub và _Skel là hai lớp trung

gian được sinh ra từ trình biên dịch dựa vào

đặc tả IDL Bạn không cần phải viết mã lệnh cho lớp _Stub và _Skel

Trang 28

2.2.2 Cơ chế làm việc của ORB(tt)

Trang 29

2.2.2 Cơ chế làm việc của ORB(tt)

 Đây là cơ chế hoạt động của trình môi

giới ORB liên lạc giữa trình khách và đối tượng CORBA trên máy chủ Thường thì việc cài đặt đối tượng CORBA trên máy chủ và triệu gọi đối tượng từ trình máy

khách

Trang 30

Chương III:Cài đặt Corba và chương trình

ứng dụng

1.Cài đặt :

 Định nghĩa giao diện remote: dùng ngôn ngữ

IDL viết giao diện remote

 Biên dịch giao diện remote sang ngôn ngữ mong

muốn:

 Ví dụ dùng trình biên dịch idlj.exe để biên dịch

giao diện remote từ Idl sang Java và sinh ra stub, skel cùng với mã dùng để kết nối với ORB

Cài đặt Server

Cài đặt Client

Thực thi ứng dụng

Trang 31

1 Cài đặt

Ví dụ: Giả sử muốn cài đặt đối tượng ở client bằng

Java, đối tượng ở server là Java

Viết interface bằng ngôn ngữ IDL (Idl_Inter.idl)

Ở máy client dùng idlj.exe dịch IDL Interface sang Java Interface, đồng thời tạo lớp Java-Stub (stub viết bằng Java)

idljava –fclient Idl_Inter.idl

Viết lớp client bằng Java.

Ở máy server dùng idlj.exe dịch IDL Interface sang Java Interface, đồng thời tạo lớp Java-Skel

Trang 34

public static void main(String args[]) throws

java.lang.Exception{

System.out.println("Setup CORBA Hello Object");

Trang 35

File Server.java (tt):

org.omg.CORBA.ORB

orb=org.omg.CORBA.ORB.init(args,null); HelloImpl corba= new HelloImpl();

orb.connect(corba);

org.omg.CORBA.Object nameService =

orb.resolve_initial_references("NameService"); NamingContext nsContext

=NamingContextHelper.narrow(nameService);

Trang 36

System.out.println("Waiting for client ");

java.lang.Object obj = new java.lang.Object(); synchronized (obj){

obj.wait();

}

}

}

Trang 37

File Client.java :

import org.omg.CORBA.*;

import org.omg.CosNaming.*;

public class Client{

public static void main(String args[]) throws

Trang 38

File Client.java (tt):

//Chuyen tham chieu ve doi tuong NamingContext

NamingContext nsContext =

NamingContextHelper.narrow(nameService);

//tao duong dan mang ten doi tuong

NameComponent nc=new NameComponent("Hello","");

NameComponent path[]={nc};

//Lay ve tham chieu cua doi tuong CORBA tren may chu dua vao ten

Hello corba=HelloHelper.narrow(nsContext.resolve(path)); System.out.println(corba.sayHello() );

}

}

Trang 40

Bước 2(tt)

Chuyển đặc tả đối tượng CORBA sang ngôn ngữ Java cho Server

idlj -fserver -OldImplBase Hello.idl

Chuyển đặc tả đối tượng CORBA sang ngôn ngữ Java cho Client

idlj -fclient Hello.idl

Trang 41

Kết quả nhận được từ bước 2 gồm các file sau :

Trang 42

Biên dịch chương trình nguồn

javac *.java

Trang 43

Chạy chương trình(tt)

của CORBA có tên nameService

Mở một cửa sổ mới sau đó thực thi lệnh bên server

ORBInitialHost 127.0.0.1

127.0.0.1

Trang 44

LOGO

Ngày đăng: 15/07/2015, 15:16

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w