Báo cáo khoa học: "TíNH TOáN PHÂN TáN VớI RMI" - Pdf 20


TíNH TOáN PHÂN TáN VớI RMI TS. ngô đăng quang
KS. nguyễn minh ngọc
Viện Khoa học v công nghệ XDGT
Trờng Đại học Giao thông Vận tải

Tóm tắt: Tính toán phân tán l một trong những chủ đề thời sự hiện nay trong công nghệ
thông tin. ý tởng chính của lập trình phân tán l liên kết v tận dụng tối đa các nguồn ti
nguyên v ngời dùng thông qua các liên kết mạng. Ngy nay, với tốc độ đờng truyền mạng
ngy cng cao v khả năng xử lý của các hệ thống tính toán ngy cng lớn, tính toán trở nên
phổ biến v có hiệu quả. Có khá nhiều công nghệ tính toán phân tán đã đợc giới thiệu nh
DCOM, CORBA, RMI, Webservice, Internet Agent, v.v Mỗi công nghệ đều có điểm mạnh v
điểm yếu khác nhau v thích hợp cho những ứng dụng nhất định. Bi báo trình by tổng quan
về một công nghệ tính toán phân tán khá mạnh l RMI v minh hoạ cách ứng dụng nó thông
qua một ví dụ xây dựng một hệ thống phân tán phân tích phần tử hữu hạn.
Summary: Distributed computing is now a topical issue in the information industry. The
main goal of distributed computing is to connect users and take the full advantage of the others
resources over a network. Increasing desktop CPU power and communications bandwidth has
also helped to make distributed computing a more practical idea. There are different
mechanisms which can build a distributed computing system: DCOM, CORBA, RMI,
Webservice, Internet Agent, etc. Each has its power and limits depending on what problem to
be solved. This paper provides a broad overview of a powerful mechanism developed by Sun
Microsystem, the Remote Method Invocation (RMI) and an illustration of how to use it in an
example about truss solved by FEM (Finite Element Method) over RMI technology.
CT 2

i. Giới thiệu chung
Tính toán phân tán (TTPT) là một trong những vấn đề thời sự hiện nay của khoa học máy

- Quản lý tham chiếu của đối tợng ở xa, để có thể gọi các phơng thức của các đối tợng
ở xa, các ứng dụng khách cần có tham chiếu đến các đối tợng này. RMI cung cấp 3 phơng
pháp để các ứng dụng khách nhận đợc tham chiếu này: sử dụng tham chiếu đợc quản lý bởi
dịch vụ quản lý tên (naming service) của RMI, chuyển tham chiếu dới dạng thông số hay kết
quả trả về (return value).
- Kết nối với đối tợng ở xa. Quá trình này đợc RMI thực hiện tự động, lập trình viên chỉ
cần sử dụng các phơng thức đã đợc xây dựng sẵn.
CT 2
- Truyền dữ liệu. Dữ liệu đợc truyền theo phơng thức serialization của Java, và do đó,
không bị phá vỡ cấu trúc.
Hình 1 mô tả một ứng dụng phân tán RMI sử dụng bộ registry để tạo ra tham chiếu đến đối
tợng ở xa. Trình chủ gọi bộ registry để đăng ký (hay bind) một tên cho đối tợng ở xa. Trình
khách tìm kiếm đối tợng ở xa theo tên và thực hiện phơng thức trên nó. Mô hình này cũng thể
hiện việc hệ thống RMI sử dụng Web server để tải các lớp đã đợc biên dịch từ trình chủ đến
trình khách, từ trình khách đến trình chủ cho các đối tợng khi cần thiết.
URL Protocol
URL Protocol
RMI
RMI
Client
Server
Registry
WebserverWebserver
RMI
URL Protocol
Hình 1. Hệ thống RMI 3. Ưu nhợc điểm của RMI
Ưu điểm lớn của RMI là lập trình viên không cần bận tâm đến các phơng thức truyền dữ

xa. Lớp của các đối tợng ở xa có thể bao gồm nhiều phần thực thi của các giao diện khác (cả
cục bộ và ở xa) và các phơng thức khác. Nếu bất kỳ lớp địa phơng nào đợc sử dụng làm
tham số và và trị trả về cho bất kỳ một phơng thức nào thì chúng cũng phải đợc thực thi.
- Lập trình trình khách: Các trình khách sử dụng các đối tợng ở xa có thể đợc lập trình tại
bất kỳ thời điểm nào sau khi giao diện ở xa đợc định nghĩa, và cả sau khi các đối tợng ở xa đã
đợc triển khai.
4.2. Dịch mã v tạo stub
Quá trình này gồm 2 bớc. Bớc đầu tiên, các tệp tin mã chứa các thực thi của các giao diện ở xa, các lớp trình chủ, các lớp trình khách sẽ đợc dịch bằng javac. Bớc thứ 2, các stub
(bản sao) cho các đối tợng ở xa sẽ đợc tạo ra bằng trình biên dịch
rmic. RMI sử dụng một lớp
stub của đối tợng ở xa nh một lớp ủy nhiệm trên trình khách. Với lớp ủy nhiệm trình khách có
thể liên lạc đợc với đối tợng ở xa.
4.3. Lm cho các lớp có thể truy cập đợc trên mạng
Các tệp tin lớp chứa các giao diện, stubs, và các lớp khác cần phải đa lên Webserver để
trình khách có thể tải chúng xuống đợc.
4.4. Khởi động ứng dụng
Việc khởi động chơng trình bao gồm chạy chơng trình RMI registry, trình khách và trình
chủ.
5. Tùy biến của RMI
Ngoài khả năng triệu gọi một chiều theo kiểu trình chủ đợc trình khách triệu gọi từ xa, RMI
còn cung cấp khả năng triệu gọi hai chiều, theo đó các trình khách cũng có thể đợc triệu gọi từ
trình chủ. Nói cách khác, trình khách không cần chuyển đối tợng cho trình chủ theo trị mà có
thể chuyển theo tham chiếu.
Trong ứng dụng RMI, các đối tợng cần đợc đăng ký với rmiregistry, và khi số lợng các
đối tợng này tăng lên, việc quản lý trở nên phức tạp. Để hạn chế khó khăn này, RMI cung cấp
khả năng xây dựng một đối tợng duy nhất và đăng ký đối tợng này với rmiregistry. Nhiệm vụ
của đối tợng trên chỉ dùng để tạo ra các đối tợng con khác. Một đối tợng nh vậy trong mô

Hình 2. Kiến trúc hệ thống
2. Chi tiết các thành phần của ứng dụng
a. Matrix
Matrix là lớp thực hiện các tính toán ma trận cần thiết cho việc phân tích phần tử hữu hạn
nh cộng, trừ, nhân, chia, nghịch đảo ma trận, cắt hàng, cắt cột, v.v
b. TrussSolution
Lớp TrussSolution chứa các phơng thức tính toán kết cấu giàn theo phơng pháp phần tử
hữu hạn.
c. FEMInterface
Đây là lớp giao diện ở xa, chứa một phơng thức duy nhất, Solution
, có nhiệm vụ tiếp
nhận dữ liệu đầu vào và cung cấp kết quả là nội lực trong các thanh giàn. Các tham số đầu vào
của phơng thức này là các thông số của kết cấu:
Ma trận tọa độ nút.
Ma trận liên kết.
CT 2
Véc tơ độ cứng.
Ma trận liên kết.
Ma trận ngoại lực.
d. FEMImpl
Lớp thực thi của giao diện FEMInterface. Lớp này sử dụng lớp TrussSolution để thực thi các
tính toán trên máy chủ.
e. FEMServer
FEMServer là lớp tạo trình chủ để đăng ký lớp thực thi. Lớp này thực hiện hai công việc:
+ Đăng ký RMISecurityManager.
+ Tạo đối tợng thuộc lớp FEMImpl. Đối tợng FEMImpl có trách nhiệm đăng ký với bộ RMI
registry.
f. FEMClient
Lớp này đăng ký với RMI Security Manager, sau đó sử dụng phơng thức tĩnh
Naming.lookup() để tạo đờng dẫn đến đối tợng ở xa. Chú ý rằng trình khách sử dụng giao

Hình 4. Kết quả tính toán đợc thể hiện trên FMClient
iv. Kết luận
Sử dụng RMI trong phát triển hệ thống TTPT thể hiện nhiều u điểm cho phép kỹ s có thể
tập trung giải quyết bài toán mà không cần quan tâm nhiều đến các vấn đề về mạng. Với RMI,
các bài toán lớn có thể đợc giải quyết trên các máy tính có cấu hình thấp, các máy khách chỉ
cần gửi các đối tợng kích thớc lớn lên máy chủ có cấu hình mạnh nhờ tính toán giúp. Và trong
bối cảnh an ninh mạng ngày càng đợc quan tâm, các cơ chế bảo vệ của Java giúp cho các hệ
thống TTPT trên RMI trở nên an toàn hơn và đợc nhiều ngời sử dụng hơn. Tuy nhiên công
nghệ RMI không phải là công nghệ tối u vì RMI chỉ hoạt động trên môi trờng của Java.
Tài liệu tham khảo
[1],
[2]. Leon Erlanger, Distributed Computing: An Introduction, http: //www.extremetech.com/article2/0,1697,1153023,00.asp.
[3]. Petri Niska, Aapo Rautiainen, Java in Distributed Computing, />76.270/javasem3.html.
[4]. Nguyễn Phơng Lan, Hong Đức Hải. Java lập trình mạng, NXB Giáo dục, 2001.
[5]. The Java Tutorial.
[6]. Jbuilder SamplesĂ


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status