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

XÂY DỰNG HỆ THỐNG PHÂN TÁN SỬ DỤNG JAVARMI

19 750 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 19
Dung lượng 94,51 KB

Nội dung

HƯỚNG DẪN XÂY DỰNG HỆ THỐNG PHÂN TÁN SỬ DỤNG JAVARMI, CODE JAVARMI, GIÁO TRÌNH VỀ RMI BẰNG JAVA, ĐỒ ÁN VỀ HỆ PHÂN TÁN SỬ DỤNG JAVA RMI, DEMO JAVA RMI, ỨNG DỤNG JAVA RMI TRONG HỆ PHÂN TÁN, RMI VÀ LẬP TRÌNH MẠNG

Trang 1

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

1

Chuyên đề 1: Lập trình mạng

Đề tài: XÂY DỰNG HỆ THỐNG PHÂN

TÁN SỬ DỤNG JAVARMI

Thành viên:

- Huỳnh Ngọc Nam

- Hà Thị Thanh Hương

- Nguyễn Minh Thắng

- Trần Thị Đan Thanh

- Nguyễn Thị Thanh Lan

- Nguyễn Trọng Nghĩa

Trang 2

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

2

Nội dung

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

1

Phân tán đối tượng trong Java bằng RMI

2

Giới thiệu chương trình

3

Demo

4

Trang 3

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

3

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

• Hệ phân tán là gì? Và yêu cầu để xây dựng một mạng phân

tán là gì?

• Có nhiều định nghĩa về hệ phân tán.

• Hệ phân tán = Mạng máy tính + Phần mềm hệ phân tán.

• Hệ phân tán là tập hợp các máy tính tự trị được kết nối với nhau bởi một mạng máy tính và được cài đặt phần mềm hệ phân tán

Trang 4

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

4

Phân loại

Hệ phân tán mang tính hệ thống: Hệ điều hành phân tán

Hệ phân tán

Hệ phân tán mang tính ứng dụng: Các hệ thống truyền tin phân tán

Trang 5

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

5

Các yêu cầu đối với các ứng dụng phân tán

• Yêu cầu để xây dựng 1 ứng dụng phân tán đòi hỏi nhiều yếu tố khác nhau, và khá phức tạp Tuy nhiên, về cơ bản để thiết kế và triển khai một ứng dụng phân tán cần lựa chọn 5 yếu tố sau đây:

Trang 6

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

6

Kỹ thuật phát triển

Mô hình phát triển Ngôn ngữ lập

trình

Cơ sở dữ liệu

Quản lý bảo mật

Hệ phân tán

Các yêu cầu cơ bản

Trang 7

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

7

2 Phân tán đối tượng trong Java bằng

RMI

• RMI(Remote Method Invocation) là một cơ chế cho phép một đối tượng đang chạy trên một máy ảo Java này ( Java Virtual

Machine) gọi các phương thức của một đối tượng đang tồn tại trên một máy ảo Java khác (JVM)

• Thực chất RMI là một cơ chế gọi phương thức từ xa đã được thực hiện và tích hợp trong ngôn ngữ Java.

• Ngoài ra, RMI còn cho phép một Client có thể gửi tới một đối tượng đến cho Server xử lý, và đối tượng này cũng có thể được xem là tham số cho lời gọi hàm từ xa, đối tượng này cũng có những dữ liệu bên trong và các hành vi như một đối tượng thực sự.

Trang 8

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

8

Transport

Remote Reference Layer

RMI System

Trang 9

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

9

So sánh giữa gọi phương thức từ xa với các lời gọi thủ tục từ xa RPC

• Trước hết, Java là một ngôn ngữ độc lập với nền và cho phép các ứng dụng Java truyền tin với các ứng dụng Java đang chạy trên bất kỳ

phần cứng và hệ điều hành nào có hỗ trợ JVM Sự khác biệt chính giữa hai mục tiêu là RPC hỗ trợ đa ngôn ngữ, ngược lại RMI chỉ hỗ trợ các ứng dụng được viết bằng Java

• Ngoài vấn đề về ngôn ngữ và hệ thống, có một số sự khác biệt căn bản giữa RPC và RMI Gọi phương thức từ xa làm việc với các đối tượng, cho phép các phương thức chấp nhận và trả về các đối tượng Java cũng như các kiểu dữ liệu nguyên tố (premitive type) Ngược lại gọi thủ tục từ xa không hỗ trợ khái niệm đối tượng Các thông điệp gửi cho một dịch vụ RPC (Remote Procedure Calling) được biểu diễn bởi ngôn ngữ XDR (External Data Representation): dạng thức biểu diễn dữ liệu ngoài Chỉ có các kiểu dữ liệu có thể được định nghĩa bởi XDR mới có thể truyền đi

Trang 10

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

10

Đặc điểm

• Ưu điểm:

- Đơn giản, dễ sử dụng.

- Trong suốt: lời gọi phương thức từ xa giống lời gọi phương thức cục bộ.

- Độ tin cậy cao.

- An toàn và bảo mật (do JVM cung cấp).

• Nhược điểm:

- Chỉ dùng cho java

Trang 11

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

11

Cách làm việc của RMI

• Các Đối tượng ở phía Server đăng kí với bộ đăng kí RMI registry

• Client kiểm tra các đối tượng ở xa trong RMI Registry

• Vị trí của một đối tượng ở xa được xác định trong RMI Registry Một stub được trả về cho Client

• Remote object có thể được sử dụng tương tự như Local object để truy xuất đến toàn bộ tài nguyên Việc truyền thông giữa Client và Server được xử lý bởi Stub

Trang 12

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

12

Object Reference

Stub

Client

call

Remote Object

Method_n

Server

Object Reference + Method + Arrgument

Result or Exception

Trang 13

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

13

Trình (bộ quản lý) đăng ký Registry

• Là một chương trình dịch vụ chạy ở hậu trường (rmiregistry.exe), thực hiện mở ổ cắm socket và lắng nghe các yêu cầu gởi đến cổng mặc định 1099, có thể chỉ định một cổng khác với cổng 1099

Ví dụ: C:\j2sdk1.4.0\bin\ rmiregistry.exe 9999

• Đóng vai trò như là một DNS nhỏ cho các đối tượng từ xa thực hiện tìm kiếm dịch vụ

Trang 14

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

14

Các lớp trung gian Stub

Client

Stub Naming

Client JVM

4

5

6

7

7

Server

Stub RemoteObject Naming

Server JVM

1

rmiregistry

Stub 2

3

Trang 15

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

15

•Chúng ta sẽ xây dựng hai máy chứa các phương thức gọi từ xa:

o Một máy có các phương thức cộng, trừ, nhân, chia 2 số, giải các phương trình bậc 2, 4.

o Một máy có phương thức tính khoảng cách giữa các điểm, tính diện tích, chu vi của hình chữ nhật, hình tròn.

• Hai máy này cho phép các máy khác có thể truy cập từ xa để sử dụng các phương thức này Các máy khác thực hiện truy cập từ

xa đến các phương thức trên để yêu cầu thực hiện công việc của mình.

3 Giới thiệu chương trình

Trang 16

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

16

Quá trình thực hiện

1 Tạo giao diện (interface) khai báo các phương thức được gọi từ

xa của đối tượng (INTERFACE.java và INTERFACE1.java)

2 Tạo lớp cài đặt (class implement) cho giao diện đã được khai

báo (REMOTE.java và REMOTE1.java)

3 Viết chương trình Server (SERVER.java và SERVER1.java)

4 Viết chương trình Client (CLIENTS.java)

5 Biên dịch các tập tin nguồn theo dạng RMI (rmic) để tạo ra các

lớp tương ứng và stub cho Server và Client (Build.bat)

6 Khởi động dịch vụ tên (rmiregistry)

7 Thực thi chương trình Server (Server1.bat và Server2.bat)

8 Thực thi chương trình Client (Clients.bat)

Trang 17

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

17

Tổ chức chương trình

Server 1 Server 2 Client INTERFACE.class INTERFACE1.class INTERFACE.class REMOTE.class REMOTE1.class INTERFACE1.class REMOTE_Stub.class REMOTE1_Stub.class REMOTE_Stub.class SERVER.class SERVER1.class REMOTE1_Stub.class

CLIENTS.class

Trang 18

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

18

4 Demo

Trang 19

Nhóm 8 APPLE

7/5/2014

Nhóm 8 APPLE

19

Thank You !

Cám ơn thầy và các bạn đã lắng nghe!

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w