Tải bản đầy đủ (.docx) (51 trang)

nghiên cứu, ứng dụng mobile agent trong mô hình proxy – server

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 (1.42 MB, 51 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Chu Văn Minh

NGHIÊN CỨU, ỨNG DỤNG MOBILE AGENT
TRONG MÔ HÌNH PROXY – SERVER

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Khoa: Công nghệ thông tin

HÀ NỘI - 2014


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Chu Văn Minh

NGHIÊN CỨU, ỨNG DỤNG MOBILE AGENT
TRONG MÔ HÌNH PROXY – SERVER

KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY
Khoa: Công nghệ thông tin

Cán bộ hướng dẫn: PGS.TS Nguyễn Việt Hà

Cán bộ đồng hướng dẫn: ThS. Vũ Quang Dũng

2



HÀ NỘI - 2014

3


VIETNAM NATIONAL UNIVERSITY, HANOI
UNIVERSITY OF ENGINEERING AND TECHNOLOGY

Chu Van Minh

RESEARCH, APPLICATION OF MOBILE
AGENT
ON THE PROXY – SERVER MODEL
Major: Information technology

Supervisor: Assoc. Prof. Dr Nguyen Viet Ha
Co-Supervisor: MSc. Vu Quang Dung

4


HA NOI - 2014

5


NGHIÊN CỨU, ỨNG DỤNG MOBILE AGENT
TRONG MÔ HÌNH PROXY – SERVER
Chu Văn Minh

Khóa QH-2010-I/CQ, ngành Công nghệ thông tin
Tóm tắt khóa luận tốt nghiệp:
Hiện nay, Internet là một phần không thể thiếu trong xã hội, Internet
mang đến nguồn thông tin, tri thức khổng lồ. Hơn thế nữa Internet là nơi
lưu trữ, tính toán, chia sẻ nguồn dữ liệu khổng lồ giữa các máy tính trong
mạng với nhau. Để thực hiện điều này Internet đã cung cấp các dịch vụ
ứng dụng như: Web, Email, điều khiển từ xa, đều xây dựng dựa trên mô
hình Client – Server.
Mô hình Client – Server: là một mô hình được áp dụng rất rộng dãi và
là mô hình của mọi trang web. Trong đó, máy Client sẽ gửi một yêu cầu tới
máy chủ, máy chủ sẽ xử lý yêu cầu và trả kết quả về cho máy khách. Tuy
vậy, mô hình Client – Server vẫn còn nhiều vấn đề hạn chế khi mà lượng
Client tăng về: số lượng, yêu cầu, sẽ đặt ra vấn đề về truyền tải thông tin,
dữ liệu như là quá tải đường truyền, tắc nghẽn mạng. Ngoài ra, hiệu suất
của Server sẽ giảm xuống và hệ thống thiếu tính mềm dẻo khi nâng cấp
hệ thống hoặc có sự thay đổi từ cơ sở dữ liệu, phương thức truy cập.
Trong khóa luận tốt nghiệp này, tôi đã nghiên cứu, xây dưng một mô
hình Client – Proxy – Server. Trong đó, giữa Proxy – Server có sự tính toán
chia sẻ dữ liệu bằng cách sử dụng Agent phần mềm nhằm cải thiện những
thiếu sót mà mô hình Client – Server chưa đáp ứng được. Khi đó, Proxy như
là một Server, được đặt gần Client và nằm trong hệ thống mạng với Client.
Agent sẽ mang chương trình, dữ liệu từ Server lên Proxy và thực thi tại đó.
Ngoài ra, tôi cũng xây dựng một ứng dụng Web cơ bản dựa trên mô hình
mà tôi đề xuất để chứng minh tính khả thi của mô hình. Sau đó đưa ra sự
so sánh, đánh giá mô hình mới sử dụng Agent phần mềm so với mô hình
truyền thống Client – Server.

Từ khóa: Jade Agent, Client – Server, Proxy.

6



A STUDY OF WEB LINKS VISUALIZATION
Chu Van Minh
Course QH-2010-I/CQ, major in Information technology
Abstract:
Today, Internet is an integral part of society, it’s brings information,
knowledge. Moreover, the internet is a storage, calculating, sharing the
large data source among computers. The internet provides application
service such as: Web, email are based on Client – Server model.
Client – Server model is applied in common for every websites. In this
model, Client send request to Server, then Server process these request
and response to Client. However, the Client – Server model still has some
limitations when Client raise about quantity or send a lot of requests to
Server. It will put the issue of information transmission and data as
network congestion, overloading transmission lines. Addition, performance
of Server reduces and the system lack of flexibility when the system
change about database, access methods.
In my thesis, I’m studying, building a Client – Proxy – Server model. In
this model, between Proxy – Server have a calculation, sharing data by
using sofware Agent to improve some shortages of Client – Server model is
not respond. When Proxy is as a Server, it’s placed near the Client and
executed at that. In addition, I also build a application basic Web Service is
based on Client – Proxy – Server model to prove the feasibility of this
model. And then, making comparisons, review new model which using
software Agent compared to the traditional Client – Server model.

7



Lời cảm ơn
Lời đầu tiên, tôi xin bày to
lòng biết ơn sâu sắc nhất tới PGS.TS. Nguyễn Việt Hà và ThS.Vũ
Quang Dũng đã tận tình hướng dẫn, giúp đỡ tôi trong suốt quá trình
thực hiện khóa luận tốt nghiệp này.
Tôi xin chân thành cảm ơn các thầy, cô đã tạo điều kiện thuân lời cho
tôi trong quá trình học tập, rèn luyện và nghiên cứu tại trường Đại
học Công nghệ.
Tôi cũng xin gửi lời cảm ơn tới các anh chị và các bạn sinh viên tại
phòng thí nghiệm công nghệ phần mềm Toshiba-Coltech, anh
Nguyễn Văn Lân đã giúp đỡ, hỗ trợ tôi trong quá trình xây dựng hệ
thống và thực nghiệm.
Tôi gửi lời cảm ơn tới các bạn trong lớp K55CC và K55CLC đã ủng hộ,
khích lệ, giúp đỡ và luôn sát cánh bên tôi trong suốt quá trình học
tập, rèn luyện tại trường.
Và cuối cùng, tôi xin gửi lời cảm ơn tới gia đình, người thân và bạn bè
– những người luôn ở bên tôi những lúc khó khăn nhất, luôn động
viên tôi, khuyến khích tôi trong cuộc sống cũng như học tập, công
việc.
Tôi xin chân thành cảm ơn!
Hà Nội, ngày 02 tháng 05 năm
2014
Sinh viên
Chu Văn Minh

8


Lời cam đoan
Tôi xin cam đoan các kết

quả đạt được trong khóa luận này do tôi thực hiện dưới sự hướng dẫn
của PGS.TS. Nguyễn Việt Hà và ThS.Vũ Quang Dũng.
Tất cả các tham khảo từ
những nghiên cứu liên quan đều được nêu nguồn gốc một cách rõ
ràng từ danh mục tài liệu tham khảo trong khóa luận. Khóa luận
không sao chép tài liệu, công trình nghiên cứu của người khác mà
không chỉ rõ về mặt tài liệu tham khảo.
Các kết quả thực nghiệm
của khóa luận đều được tiến hành thực nghiệm và thống kê từ kết
quả thực tế.
Sinh viên
Chu Văn Minh

9


Mục lục

10


Danh sách hình vẽ

11


Danh sách bảng

12



Chương 1. MỞ ĐẦU
Ngày nay, Internet là một phần không thể thiếu trong xã hội,
Internet mang đến nguồn thông tin, tri thức. Hơn thể nữa, Internet
chính là nơi lưu trữ, tính toán, chia sẻ nguồn dữ liệu khổng lồ giữa
các máy tính trong mạng với nhau. Để thực hiện điều này Internet đã
cung cấp các dịch vụ ứng dụng như: Web, Email, điều khiển từ xa …
đều được xây dựng trên mô hình Client – Server.
Mô hình Client – Server: Là một mô hình được áp dụng rất rộng
rãi và là mô hình phổ biến của mọi trang Web, hệ thống. Trong đó,
máy Client sẽ gửi yêu cầu tới Server, Server sẽ xử lý yêu cầu và trả
kết quả về cho máy Client. Tuy vậy, mô hình Client – Server vẫn còn
nhiều vấn đề hạn chế như:
Thứ nhất, khi nhiều Client gửi yêu cầu đến Server, Server không
có khả năng đáp ứng, xử lý hết các yêu cầu. Như vậy, các yêu cầu
không được xử lý sẽ gây ra hiện tượng “thắt nút cổ chai”. Khi đó, tài
nguyên mạng bị chiếm dụng và tắc nghẽn sẽ ảnh hưởng đến tốc độ
trong mạng.
Thứ hai, Client có thể gửi các yêu cầu giống nhau. Khi đó, Server
sẽ phải thực hiện công việc xử lý trùng lặp, gây ra việc tốn thời gian
chờ của Client và hiệu suất của Server sẽ giảm xuống.
Thứ ba, hệ thống thiếu tính mềm dẻo trong khả năng mở rộng
khi có sự thay đổi về cơ sở dữ liệu, phương thức truy nhập…
Trên thực tế đã có nhiều sự quan tâm từ các nhà quản lý mạng
và các chuyên gia phát triển phần mềm. Một số giải pháp cũng đã
được đưa để giải quyết các vấn đề trên như: Sử dụng các bản sao
Server, sử dụng Proxy – Server.
Với mỗi giải pháp đã thể hiện được ưu điểm của mình, thực tế
cũng đã được cài đặt và giải quyết phần nào các điểm yếu của mô
hình Client – Server truyền thống. Tuy nhiên, các hệ thống mới chỉ

dừng lại và áp dụng cho bài toán cụ thể của họ, nhưng chưa là mô
hình tổng quát mang tính áp dụng cao. Một số vấn đề chưa đưa ra
được một kiến trúc, giải pháp toàn diện. Khả năng dùng lại và tùy
biến không cao.
Từ thực trạng và những hạn chế trên, tôi muốn tìm hiểu, xây
dựng một mô hình Client – Proxy – Server sử dụng Mobile Agent
13


nhằm cải thiện những thiếu xót mà mô hình Client – Server chưa đáp
ứng được. Trong đó, Proxy – Server đóng vai trò quan trọng trong việc
tính toán và chia sẻ dữ liệu.
Vai trò của Proxy và ưu điểm của Agent phần mềm trong
mô hình Client – Proxy – Server.
Xây dựng mô hình Client – Proxy – Server sử dụng Agent, trong
đó Proxy đóng vai trò như một Server, có thể tiếp nhận và xử lý các
yêu cầu, lưu trữ kết quả của các yêu cầu đã được xử lý được Server
trả về trong đó cụ thể như sau:
Xây dựng Proxy có khả năng:
-

Bắt được các yêu cầu từ Client, gửi các yêu cầu tới Server.
Xử lý các yêu cầu với kết quả đã có sẵn. Với những yêu cầu

-

lặp lại thì chỉ gửi một lần lên Server.
Nhận kết quả, cập nhật sự thay đổi kết quả của các yêu cầu
khi có sự thay đổi trên Server bằng cách sử dụng Agent.


Xây dựng Server có khả năng:
-

Tạo Agent để gửi trả kết quả về cho Proxy.
Có khả năng chia sẻ tính toán, tài nguyên với Proxy.

Với tính năng như trên, Proxy có khả năng giảm tải cho Server,
tận dụng được tài nguyên Proxy, thời gian đáp ứng nhanh hơn do
đường đi ngắn hơn, khả năng nâng cấp hệ thống đơn giản, linh hoạt.
Để làm được những điều trên, cả Proxy và Server đều được cài
đặt Jade Agent. Jade Agent là môi trường để cho các Agent phần
mềm hoạt động. Các Agent sẽ cài đặt các dịch vụ trên Proxy và
Server. Chúng có thể chia sẻ và đảm bảo sự toàn vẹn về bản chất
nghiệp vụ khi thực thi phân tán trên các máy tính khác trong mạng
với những ưu điểm như: khả năng di chuyển, khả năng tự trị, tính
đóng gói… Khả năng tự trị của Agent cho phép nó có thể tự biết cách
giao tiếp như thế nào để lấy dữ liệu trên Server. Tính đóng gói thể

14


hiện cộng việc chia sẻ từ Server được giữ kín mà không phô bày mã
hay dữ liệu mang theo.
Nội dung Khóa luận này gồm 6 chương
Error: Reference source not found Mở đầu: Nêu thực trạng,
giới thiệu bài toán thực tiễn, vai trò của Proxy trong mô hình, ưu
điểm của Agent phần mềm khi áp dụng và nêu những nội dung sẽ
được trình bày.
Error: Reference source not found - Cơ sở lý thuyết: Trình
bày các công nghệ, các nền tảng hỗ trợ về Agent. Đặc tả về JADE –

nền tảng phát triển Agent.
Error: Reference source not found – Phân tích yêu cầu hệ
thống và cơ chế hoạt động của Agent.
Error: Reference source not found – Xây dựng và đặc tả hệ
thống.
Chương 5. - Thực nghiệm: Kết quả, đánh giá quá trình thực
nghiệm.
Chương 6. - Kết luận: Tóm lược những kết quả của Khoá luận,
những đạt được và hạn chế, triển vọng và hướng phát triển trong
tương lai.

15


Chương 2. CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ
2.1. Agent
Khái niệm: Agent là một hệ tính toán hoàn chỉnh hay chương
trình được đặt trong một môi trường nhất định, có khả năng hoạt
động một cách tự chủ và mềm dẻo trong môi trường đó nhằm đạt
được mục đích đã thiết kế.
Trong cuốn sách “Developing Intelligent Agent Systems” của Lin
Padgham – Micheal WiniKnoff – RMIT còn định nghĩa về Agent như
sau:
“Agent là một hệ thống máy tính được đặt trong các môi trường
và nó tự chủ hành động trong môi trường đó để đạt được mục tiêu
thiết kế của nó”.
Các đặc trưng cơ bản của Agent:
-

-


-

-

Tính tự chủ (autonomy): Mỗi Agent có trạng thái độc lập riêng,
độc lập với các Agent khác, đồng thời nó có thể tự quyết các
hành động của mình. Tự chủ ở trạng thái bên trong thể hiện ở
chỗ: mỗi Agent chứa một trạng thái nào của riêng nó, các
Agent khác không truy cập được vào các trạng thái này. Còn
tính tự chủ về hành động thể hiện ở chỗ Agent có thể tự quyết
các hành động của mình dựa trên trạng thái hiện thời mà
không có sự can thiệp của con người hay các Agent khác. Đây
là đặc trưng quan trọng nhất của Agent.
Khả năng phản ứng (reactivity): Tính phản ứng là khả năng
Agent có thể nhận biết được môi trường và dựa qua nhận biết
đó, Agent đáp ứng kịp thời những thay đổi xảy ra trong môi
trường. Tính phản ứng thể hiện rõ nhất ở các Agent hoạt động
trên các môi trường có tính mở và hay thay đổi như Internet,
môi trường mạng phân tán, môi trường vật lý,… Phản ứng của
mỗi một Agent đối với môi trường bên ngoài đều hướng tới việc
thực hiện mục tiêu.
Tính chủ động (pro-activeness): Khi có sự thay đổi môi trường,
Agent không chỉ phản ứng một cách đơn giản mà còn xác định
một chuỗi hành động cần thực hiện, bản thân mỗi Agent sẽ chủ
động trong việc khởi động và thực hiện chuỗi hành động này.
Khả năng xã hội (social ability): Các Agent không chỉ hướng tới
mục đích riêng của mình mà còn có khả năng tương tác với các

16



Agent khác trong hệ thống để hướng tới mục đích chung của hệ
thống.
Khái niệm: Mobile Agent là một chương trình có khả năng di
chuyển một cách tự trị từ nút mạng này sang nút mạng khác và thực
hiện các xử lý thay thế cho con người để đạt được mục tiêu giao phó.
Khi di chuyển, các Mobile Agent đóng gói mã nguồn, dữ liệu và cả
trạng thái thi hành, nhờ vậy Mobile Agent có thể dừng việc thi hành
tại máy này, di chuyển sang máy đích và khôi phục sự thi hành tại
máy đích.

Hình 2.1: C u trúc c a Mobile Agent.
Cấu tạo của một Mobile Agent gồm ba phần:
Trạng thái (State): Dữ liệu về môi trường chạy của Agent.
- Dữ liệu (Data): Gồm giá trị các biến được sử dụng bởi Agent và
chỉ có nó mới được sử dụng, quyết định các dữ liệu này.
- Mã chương trình (Code): Toàn bộ mã thực thi của chương trình
được xây dựng bởi lập trình viên và nó sẽ được thực hiện khi di
chuyển đến một máy đích.
Vòng đời của một Mobile Agent:
-

Hình 2.2: Vòng

i c a m t Mobile Agent.

17



Mô tả vòng đời của Agent:
-

-

Create: Khởi tạo một Agent.
Initiated: Khởi động Agent với một AID xác định và có một
nhiệm vụ nhất định.
Active: Agent bắt đầu thực thi nhiệm vụ. Trong quá trình thực
thi, Agent có thể sẽ phải di trú từ nút mạng này sang nút mạng
khác. Khi đó, nó sẽ tạm ngưng quá trình thực thi, đóng gói toàn
bộ thông tin và di trú sang nút mạng khác. Khi di trú xong,
Agent sẽ tái kích hoạt lại toàn bộ hoạt động được thực thi tại
nút mạng trước. Qua trình thực thi cũng có thể tạm ngưng, khi
đó Agent sẽ được tạm dừng hoạt động và sẽ được khởi động lại
khi hệ thống cần đến.
Quit: Quá trình thực thi được hoàn thành.
Destroy: Hủy Agent.

Ưu điểm của Mobile Agent:
Giảm tải mạng: Kỹ thuật Mobile Agent cho phép người dùng
đóng gói thông tin, gởi nó đến máy đích và thực hiện xử lý dữ
liệu, trao đổi cục bộ tại đó. Như vậy sẽ góp phần giảm dữ liệu
thô trên mạng và tải mạng sẽ giảm đáng kể.
- Khắc phục sự trễ mạng: Các Agent có thể được gửi đi từ một
trung tâm điều khiển và hành động cục bộ, tự trị, trực tiếp thi
hành các chỉ dẫn của người điều khiển.
- Đóng gói các giao thức.
- Thi hành không đồng bộ và tự trị: Thực thi không đồng bộ trên
các máy tính trong mạng.

- Thích ứng nhanh: Agent có khả năng cảm nhận sự thay đổi của
môi trường thực thi và tác động trở lại những thay đổi ấy một
cách tự động mà không mất đi các tính chất.
- Khắc phục tình trạng không đồng nhất: Xử lý trên mạng cơ bản
là không đồng nhất do sự đa dạng về phần cứng và phần mềm.
Do Mobile Agent độc lập với máy tính và tầng vận chuyển, chỉ
phụ thuộc vào môi trường thi hành nên chúng cung cấp một
điều kiện tố ưu cho việc liên kết các hệ thống không liên quan
với nhau lại.
- Mềm dẻo trong bảo trì: Việc thay đổi các hành động của Agent
chỉ phải thay đổi mã của chính Agent đó.
.....................................................................................................................
Với các ưu điểm trên chính là lý do tại sao tôi lại chọn Agent làm giải
pháp cho nghiên cứu mô hình Client – Proxy – Server.
-

18


2.2. Hệ thống đa Agent – Multi Agents System
(MAS)
Như đã nói Agent có tính xã hội, đó là đặc tính quan trọng cho
phép ta xây dựng một hệ đa Agent.
Ngoài khả năng tự kiểm soát và ra quyết định các hành vi, Agent
cũng có thể hợp tác với các Agent khác để hoàn thành nhiệm vụ. Một
hệ thống có nhiều Agent hoạt động như thế gọi là hệ thống đa
Agent. Mỗi Agent có một nhiệm vụ riêng của mình, nhưng tất cả hoạt
động việc cùng một mục tiêu chung của tổ chức.
Ưu điểm của hệ thống đa Agent so với các hệ thống khác[]:
-


-

-

-

Khả năng tính toán: Việc tính toán được phân chia cho các
Agent khác nhau và khả năng phối hợp xử lý cùng nhau của
các Agent nên khả năng tính toán hiểu quả hơn.
Độ tin cậy cao: Nhờ vào việc phân chia tính toán và có cơ chế
giao tiếp giữa các Agent nên độ tin cậy tính toán được cho là
cao hơn.
Khả năng mở rộng: Việc mở rộng là khá dễ dàng do có thể
thêm bớt Agent, giúp hệ thống có tính mềm dẻo và linh hoạt.
Khả năng bảo trì: Do mỗi Agent là một thành phần độc lập, có
tính nhiệm vụ khác nhau nên hệ đa Agent dễ bảo trì.
Khả năng phản ứng: Khi môi trường của hệ thống thay đổi, các
Agent trong hệ thống sẽ phối hợp với nhau để đưa ra hành
động tương ứng với thay đổi đó.
Tính linh hoạt: Các Agent có thể chủ động tương tác với nhau
để giải quyết một nhiệm vụ của hệ thống.
Khả năng sử dụng lại: Mỗi Agent có chức năng riêng và có thể
sử dụng lại cho nhiều ứng dụng khác nhau.

2.3. JADE Platform
JADE (Java Agent DEvelopment Framwork) là một framework
phần mềm được cài đặt hoàn toàn bằng ngôn ngữ JAVA nhằm mục
đích đơn giản hóa việc cài đặt các hệ thống đa Agent. Môi trường
JADE gồm có:

-

Một môi trường thực thi được cái đặt trên máy để các Agent có
thể làm việc.
Một bộ công cụ cho phép quản lý và theo dõi hành vi của các
Agent đang hoạt động.
Thư viện lớp cho phép lập trình viên sử dụng để phát triển các
Agent.

19


Hình 2.3: Ki n trúc c a JADE
Mô tả kiến trúc JADE:
-

-

Mỗi một JADE Platform sẽ có rất nhiều Container, nhưng duy
nhất chỉ có một Main Container được khởi tạo khi cài đặt JADE.
Các Container khác có thể được tạo hoặc được gọi từ máy tính
khác.
Mỗi Container có thể sẽ chứa hoặc không chứa các Agent. Có
hai Agent đặc biệt của hệ thống sẽ sinh ra khi cài đặt JADE đó
là: AMS, DF, chúng tồn tại ở Main Container. Trong đó, AMS
cung cấp dịch vụ quản lý Agent và White page, còn DF cung
cấp dịch vụ Default yellow page của platform.

20



Hình 2.4: Giao di n kh i

n g c a JADE

Mỗi một Agent chỉ thuộc về một Container. Mỗi một Container
sẽ được chạy trên một tiến trình Java.
Vai trò của AMS Agent và DF Agent khi Main Container khởi động:
-

-

-

AMS Agent: Hệ thống quản lý Agent (AMS – Agent Management
System) là một Agent giám sát toàn bộ platform. Là điểm liên
lạc cho tất cả Agent cần tương tác để truy cập White pages của
platform cũng như để quản lý vòng đời của nó. Mọi Agent được
yêu cầu đăng ký với AMS (thực hiện một cách tự động bởi JADE
lúc Agent bắt đầu) để đạt được một AID hợp lệ (định danh của
một Agent).
DF Agent: Dịch vụ trang vàng của trong JADE, tuân theo đặc tả
quản lý Agent của FIPA, được cung cấp bởi một Agent đặc biệt
được gọi là DF (Directory Facilitator). Mọi platform theo chuẩn
FIPA đều chứa một DF Agent. Một “yellow pages” – trang vàng
cho phép Agent công bố các mô tả của một hoặc nhiều dịch vụ
mà nó cung cấp để các Agent khác có thể dễ dàng tìm ra và
khai thác một cách dễ dàng. Trong ví dụ dưới đây có thể thấy
các Agent A1, A2, A3 đăng ký với DF Agent các dịch vụ mình
cung cấp, các Agent A4, A5 tìm kiếm dựa vào DF Agent và khai

thác các dịch vụ từ A1, A2, A3.

21


Hình 2.5 Mô t Agent DF
Biểu đồ UML thể hiện mối quan hệ giữa các thành phần trong kiến
trúc của JADE:

Hình 2.6: Bi u

thành ph n c a JADE

22


2.4. Ngôn ngữ lập trình Java, JDBC và JSON
Java là ngôn ngữ lập trình hướng đối tượng. Java có cú pháp
hướng đối tượng đơn giản, dễ sửa lỗi và có khả năng chạy với hiệu
suất cao.
JDBC là API Java cơ sở, mà nó cung cấp một các lớp và các giao
diện được viết bằng Java để truy xuất và thao tác với nhiều loại hệ cơ
sở dữ liệu khác nhau.
JSON – “JavaScript Object Notation” [6] là một chuẩn định dạng
dữ liệu, phù hợp để sử dụng với JavaScript vì JSON chính là cách biểu
diễn một đối tượng trong ngôn ngữ này. Trong bài toán đặt ra, JSON
được dùng để truyền tải dữ liệu trung gian giữa máy chủ và máy
khách trực tiếp thông qua Ajax.

2.5. IPMS (Inter – Platform Mobility Service)

IPMS là một Jade – add on hỗ trợ xử lý di chuyển Agent.
IPMS cho phép Agent di chuyển đến môi trường thực thi tiếp
theo, mang theo đó dữ liệu (Data), trạng thái (State) và nối lại thực
thi khi đến đích.

23


Chương 3. PHÂN TÍCH YÊU CẦU HỆ THỐNG
VÀ CƠ CHẾ HOẠT ĐỘNG CỦA AGENT
3.1. Xây dựng mô hình tổng quan Client – Proxy –
Server
Xây dựng hệ thống theo mô hình cơ bản dưới đây:

Hình 3.7: Mô hình Client – Proxy – Server
Mô tả mô hình Client – Proxy – Server:
Proxy như một thiết bị trung
gian giữa Client và Server. Thông thường, Proxy nằm gần Client và
trong cùng cấu trúc mạng của Clients. Proxy giao tiếp với Server
thông qua Internet.
Cơ chế hoạt động: Client gửi yêu cầu đến Proxy. Tại đây, Proxy
sẽ xử lý một phần yêu cầu sau đó chuyển tiếp các yêu cầu đến
Server thông qua Internet. Server sẽ xử lý yêu cầu rồi gửi trả kết quả
cho Proxy thông qua Agent và sau đó Proxy gửi lại kết quả cho Client.

24


Mô tả chức năng cơ bản:
-


Client: Gửi các yêu cầu và nhận kết quả của các yêu cầu được

-

gửi từ Proxy.
Proxy: Bắt được các yêu cầu từ Client, định tuyến các yêu cầu
của Client tới Server. Nếu có Agent đáp ứng được yêu cầu của
Client thì trả về luôn cho Client. Proxy sẽ nhận kết quả của

-

yêu cầu chính là Agent được di trú từ Server đến.
Server: Xử lý các yêu cầu của Client được chuyển tiếp từ
Proxy và lấy dữ liệu từ cơ sở dữ liệu thông qua Agent. Kết quả
trả về Proxy cũng thông qua việc tạo các Agent chứa dữ liệu

-

của các yêu cầu.
Agent: Jade Agent được cài đặt trên Proxy và Server. Mỗi
Agent chứa dữ liệu cụ thể, và tự động cập nhật dữ liệu được.

Với mô hình trên, Agent được cài đặt trên Proxy và Server. Các
Agent được tạo trên Server khi có một yêu cầu lấy dữ liệu được gửi
đến và di trú về Proxy. Proxy lưu trữ được các Agent. Nhớ vậy mà hệ
thống sẽ tận dụng được tài nguyên của Proxy, dữ liệu sẽ được lưu trữ
gần với Client hơn. Khi đó, thời gian phản hồi của hệ thống cho Client
sẽ nhanh hơn.
Để hiểu rõ cơ chế hoạt động của hệ thống, chúng ta cần phải tìm

hiểu rõ các cơ chế hoạt dộng của Agent gồm các cơ chế:
- Cơ chế quản lý Agent.
- Cơ chế di trú của Agent tới nút mạng khác.
- Cơ chế cập nhật dữ liệu cho Agent.
Các cơ chế giúp cho hệ thống hoạt động và là chức năng chính
của hệ thống.

3.2. Cơ chế hoạt động của Agent
3.2.1. Cơ chế quản lý Agent

25


×