Tải bản đầy đủ (.pdf) (23 trang)

CÔNG NGHỆ GRID COMPUTING VÀ ỨNG DỤNG THỬ NGHIỆM TRONG BÀI TOÁN QUẢN TRỊ MẠNG - 9 pdf

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 (898.67 KB, 23 trang )









Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 170 -
7.1.4.2.2. Add Configuration Capturing colaboration diagram
3: // Enter configuration for node
: Nha quan tri
: MainForm
: ConfigureCtrl
: ConfigureEntity
: ConfigureForm
1: // Call ConfigureForm
4: // Add a configuration node
2: // Show
5: // Verify add a configuration
6: // Add configuration










Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 171 -
7.1.4.2.3. Update Configuration Capturing sequence diagram
: Nha quan tri
: MainForm : ConfigureForm
: ConfigureCtrl
: ConfigureEntity
// Call ConfigureForm
// Show
// Change conf iguration f or node
// Update a conf iguration node
// Verif y update a configuration
// Change configuration

7.1.4.2.4. Update Configuration Capturing colaboration diagram
5: // Verify update a configuration
: Nha quan tri
: MainForm
: ConfigureEntity
: ConfigureForm
: ConfigureCtrl
1: // Call ConfigureForm
3: // Change configuration for node
4: // Update a configuration node
2: // Show
6: // Change configuration










Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 172 -
7.1.4.2.5. Remove Configuration Capturing sequence diagram
: MainForm
: Nha quan tri
: ConfigureForm
: ConfigureCtrl
: ConfigureEntity
// Call ConfigureForm
// Show
// Remove conf iguration for node
// Remove a configuration node
// Verify remove a configuration
// Remove configuration

7.1.4.2.6. Remove Configuration Capturing colaboration diagram
: MainForm
: Nha quan tri
: ConfigureForm
: ConfigureCtrl
: ConfigureEntity
2: // Show
1: // Call ConfigureForm
3: // Remov e conf iguration f or node
4: // Remove a configuration node

5: // Verif y remove a conf iguration
6: // Remov e conf iguration









Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 173 -
7
7
.
.
1
1
.
.
4
4
.
.
3
3
.
.





U
U
s
s
e
e


c
c
a
a
s
s
e
e




C
C
a
a
p
p
t

t
u
u
r
r
e
e




7.1.4.3.1. Capture - Start Basic Flow sequence diagram
: Display
Thread
: Nha quan tri
: MainForm
: CaptureCtrl
: StartCapture
Thread
// Start capture
// Call capture
// Create thread Start
// Show packet
// Create thread Display
// send content of packet

7.1.4.3.2. Capture – Start Basic Flow colaboration diagram
: CaptureCtrl
: Nha quan tri
: MainForm

: StartCapture
Thread
: Display
Thread
1: // Start capture
2: // Call capture
6: // Show packet
3: // Create thread Start
4: // Create thread Display
5: // send content of packet









Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 174 -
7.1.4.3.3. Capture - Start Error Flow sequence diagram
: StartCapture
Thread
: Nha quan tri
: MainForm
: CaptureCtrl
: MessageBox
// Start capture
// Call capture

// Create thread Start
// Notify result
// Show error message

7.1.4.3.4. Capture – Start Error Flow colaboration diagram
: Nha quan tri
: MainForm
: CaptureCtrl
: StartCapture
Thread
: MessageBox
1: // Start capture
2: // Call capture
3: // Create thread Start
4: // Notify result
5: // Show error message









Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 175 -
7.1.4.3.5. Capture - Start Stop Flow sequence diagram
: Nha quan tri
: MainForm

: CaptureCtrl
: StartCapture
Thread
: MessageBox
// Stop capture
// Call stop
// Create thread Stop
// Message back
// Show message

7.1.4.3.6. Capture – Start Stop Flow colaboration diagram
: Nha quan tri
: MainForm
: StartCapture
Thread
: MessageBox
: CaptureCtrl
1: // Stop capture
2: // Call stop
3: // Create thread Stop
4: // Message back
5: // Show message










Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 176 -
7.1.4.3.7. Capture – Start Error Flow sequence diagram
: MessageBox
: StartCapture
Thread
: Nha quan tri
: MainForm
: CaptureCtrl
// Stop capture
// Call stop
// Create thread Stop
// Message back
// Show message Error

7.1.4.3.8. Capture – Start Error Flow colaboration diagram
: Nha quan tri
: MainForm
: CaptureCtrl
: MessageBox
: StartCapture
Thread
1: // Stop capture
2: // Call stop
3: // Create thread Stop
4: // Message back
5: // Show message Error










Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 177 -
7
7
.
.
1
1
.
.
4
4
.
.
4
4
.
.




U

U
s
s
e
e


c
c
a
a
s
s
e
e




Q
Q
u
u
e
e
r
r
y
y





7.1.4.4.1. Query - Basic Flow sequence diagram
: Nha quan tri
: MainForm
: FilterCtrl
: FilterThread
// Call Filter
// Submit Filter
// Create Filter Thread
// Content of packet return
// Show content of message

7.1.4.4.2. Query - Basic Flow colaboration diagram
: Nha quan tri
: MainForm
: FilterCtrl
: FilterThread
1: // Call Filter
2: // Submit Filter
5: // Show content of message
3: // Create Filter Thread
4: // Content of packet return










Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 178 -
7.1.4.4.3. Query - Error Flow sequence diagram
: FilterThread
: Nha quan tri
: MainForm
: FilterCtrl
: MessageBox
// Call Filter
// Submit Filter
// Create Filter Thread
// Error return
// Show message error

7.1.4.4.4. Query - Error Flow sequence diagram
: Nha quan tri
: MainForm
: FilterThread
: MessageBox
: FilterCtrl
1: // Call Filter
2: // Submit Filter
3: // Create Filter Thread
4: // Error return
5: // Show message error










Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 179 -
7
7
.
.
2
2
.
.


T
T
h
h
i
i
ế
ế
t
t



k
k
ế
ế


7
7
.
.
2
2
.
.
1
1
.
.




S
S
ơ
ơ


đ

đ




c
c
á
á
c
c


đ
đ


i
i


t
t
ư
ư


n
n
g

g


c
c
à
à
i
i


đ
đ


t
t


Vì khi cài đặt phải kết hợp với mã nguồn của Ethereal (viết theo ngôn ngữ C) và
sử dụng các thư viện không hướng đối tượng nên chỉ có thể phát triển theo hướng
đối tượng một số xử lý liên quan đến Globus.
1. Sơ đồ các lớp đối tượng module GridManager
GL_GRAM_JOBS_CALLBACK
JobsTableMutex : globus_mutex_t
JobTable : map <string,GL_GRAM_JOB>
callback_contact : char *
Add( : string, : GL_GRAM_JOB *) : void
Remove( : char*) : void
GetURL() : char *

GetJob( : char *) : GL_GRAM_JOB *
Lock()
UnLock()
GL_CB
mutex : globus_mutex_t
cond : globus_cond_t
done : globus_bool_t
IsDone()
SetDone()
Continue()
Wait()
GL_GLOBUS_FTP_CLIENT
fd : FILE *
buffer : globus_byte_t
handle : globus_ftp_client_handle_t
StartTransfer()
Transfer()
Host
hostName : string
cpu : long
GetHostName() : string
GetCPU() : Long
GL_GRAM_JOB
failed : globus_bool_t
jobcontact : char *
callback : GL_GRAM_JOBS_CALLBACK
HasFailed() : globus_bool_t
SetFailed()
Submit( : )
Cancel()

SetJobContact( : )
Wait()
1
name
1
name
11
Broker
GetLinuxNodes()

Hình 7-3 Sơ đồ lớp cài đặt lớp đối tượng.








Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 180 -
2. Danh sách các lớp đối tượng
STT Tên lớp
Loại đối
tượng
Diễn giải
1.
GL_CB
Control Lớp cung cấp các hàm gọi
cho việc bắt đầu, chờ đợi

và kết thúc của một công
việc
2.
GL_GRAM_JOBS_CALLBAC
K
Control Lớp quản lý việc gọi thực
hiện một danh sách các
công việc thông qua định
danh của công việc
3.
GL_GRAM_JOB
Control Lớp chịu quản lý việc thực
thi và kết thúc một công
việc.
4.
GL_GLOBUS_FTP_CLIENT
Control Lớp chịu trách nhiệm quản
lý truyền dữ liệu với
GridFTP.
5.
GL_BROKER
Control Tìm kiếm thông tin về các
máy trong hệ thống Grid
Bảng 7-3 Danh sách các đối tượng cài đặt.
7
7
.
.
2
2

.
.
2
2
.
.




T
T
h
h
i
i
ế
ế
t
t


k
k
ế
ế


g
g

i
i
a
a
o
o


d
d
i
i


n
n


7
7
.
.
2
2
.
.
2
2
.
.

1
1
.
.




D
D
a
a
n
n
h
h


s
s
á
á
c
c
h
h


c
c

á
á
c
c


m
m
à
à
n
n


h
h
ì
ì
n
n
h
h


Giao diện ứng dụng Grid NetManager thử nghiệm ngoài sử dụng lại các giao
diện của Ethereal, có thêm một số điểm mới sau:
STT
Tên màn
hình
Diễn giải

1.
Grid
NetManager
Sử dụng lại màn hình chính của Ethreal, thêm các
chức năng mới, thể hiện của các usecase Capture,
Query Packet Information, Search nodes, cho phép
tìm kiếm các máy tính thỏa các điều kiện yêu cầu về
tài nguyên, cho phép nhập câu truy vấn các thông tin
về packet và xuất kết quả ra màn hình, cho phép khởi
tạo và kết thúc quá trình bắt packet. Màn hình này
cho phép sử dụng lại các chức năng phân tích của
Ethereal.
2.
Packet
Capture
Configure
Thể hiện usecase Configure Packet Capturing, cho
phép người dùng cấu hình các thông tin phục vụ bắt
packet như node thực thi, tên file lưu trữ, node lưu dữ
liệu, capture filter.
Bảng 7-4 Danh sách các giao diện.








Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng

- 181 -
7
7
.
.
2
2
.
.
2
2
.
.
2
2
.
.




C
C
h
h
i
i


t

t
i
i
ế
ế
t
t


c
c
á
á
c
c


m
m
à
à
n
n


h
h
ì
ì
n

n
h
h


7.2.2.2.1. Màn hình Grid NetManager

Hình 7-4 Màn hình chính ứng dụng Grid NetManager thử nghiệm
Mô tả màn hình (danh sách các control được thêm vào màn hình chính
cùa ethereal)
STT Tên control
Tên
trên
giao
diện
Kiểu Diễn giải
1.
mds_server_te
MDS
Server
Textbox Cho phép nhập vào tên của MDS
Server đang quản lý thông tin của
hệ thống Grid
2.
filter_te
Filter Textbox Chứa nội dung truy vấn cơ sở dữ
liệu. Sau khi nhận đầy đủ câu truy
vấn, hệ thống sẽ cho gọi thực thi
module PacketInfoProvider trên các
máy ở xa, chờ nhận kết quả và xuất

ra màn hình.
3.
node_cb
Nodes Combo Chứa danh sách Node thoả điều
kiện tìm kiếm hiện đang có trong
Grid.
4.
nodes_bt
Nodes Button Thực hiện tìm kiếm các Node thỏa
điều kiện yêu cầu về tài nguyên từ
MDS server và đưa ra cboNodes








Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 182 -
5.
Start_bt
Start Button Bắt đầu quá trình bắt packet trên các
node.
6.
stop_bt
Stop Button Kết thúc quá trình bắt packet.
Bảng 7-5 Mô tả màn hình chính.
7.2.2.2.2. Màn hình Packet Capture Configure


Hình 7-5 Màn hình Packet Capture Configue

Mô tả màn hình (danh sách các control)
STT Tên control
Tên trên
giao
diện
Kiểu Diễn giải
1.
clist_Node
Listbox Hiện thị các chọn lựa cấu hình bắt
packet của người dùng.
2.
file_te
File Textbox Chứa tên file lưu trữ dữ liệu khi bắt
xuống.
3.
filter_te
Argument Textbox Chứa nội dung cấu hình bắt packet
của từng module Sensor.
4.
computer_cb
Sensor Combo Chứa danh sách Node thoả điều kiện
tìm kiếm tài nguyên, hiện đang có
trong Grid, dùng để chọn máy thực









Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 183 -
thi module Sensor.
5.
store_cb
Database
Computer
Combo Chứa danh sách Node thoả điều kiện
tìm kiếm tài nguyên, hiện đang có
trong Grid, dùng để chọn máy lưu
trữ dữ liệu.
6.
btnOK
OK Button Lưu lại cấu hình các module.
7.
btnAdd
Add Button Thêm cấu hình cho một module mới
8.
btnUpdate
Update Button Cập nhật lại cấu hình của một
module.
9.
btnRemove
Remove Button Loại bỏ một cấu hình module.
Bảng 7-6 Mô tả màn hình cấu hình bắt packet.
7

7
.
.
3
3
.
.


C
C
à
à
i
i


đ
đ


t
t


&
&


T

T
r
r
i
i


n
n


k
k
h
h
a
a
i
i


7
7
.
.
3
3
.
.
1

1
.
.




C
C
ô
ô
n
n
g
g


c
c




v
v
à
à


m

m
ô
ô
i
i


t
t
r
r
ư
ư


n
n
g
g


p
p
h
h
á
á
t
t



t
t
r
r
i
i


n
n




n
n
g
g


d
d


n
n
g
g



Ứng dụng “Grid NetManager” được xây dựng trên môi trường và công cụ sau:
+ Công cụ phân tích thiết kế : Rational Rose 2000, Microsoft Visio 2003.
+ Môi trường xây dựng và thực thi : Linux Redhat 9.0 (kernel 2.4.20-8).
+ Ngôn ngữ lập trình : C/C++
+ Môi trường phát triển ứng dụng :
Editor : KDevelop 2.1.
Compiler : GCC, G++
Debugger : GDB.
+ Môi trường Grid : Globus Toolkit 3.2. và các phần mềm đi kèm.
+ Sử dụng mã nguồn Ethereal 0.10.0a
+ Sử dụng các thư viện:
Thư viện giao diện đồ họa : GTK+ 1.2
Các thư viện phát triển ứng dụng của GT3.2 : GSI, pre-WS GRAM, pre-
WS MDS, GridFTP, …








Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 184 -
7
7
.
.
3

3
.
.
2
2
.
.


M
M
ô
ô


h
h
ì
ì
n
n
h
h


c
c
à
à
i

i


đ
đ


t
t


1. Mô hình
TETHEREAL
(File chuong trinh thuc thi)
Grid NetManager
(Module Quan tri)

Hình 7-6 Mô hình cài đặt.
2. Diễn giải
STT Tên thành phần Ý nghĩa
1.
tEthereal
Là file chương trình tethereal, chương trình tethereal
được sử dụng thực thi chức năng của 2 module
Sensor và module PacketInfoProvider.
2.
Grid
NetManager
Là file chương trình thực thi chức năng quản trị và
trình diễn.

Bảng 7-7 Các thành phần triển khai.
7
7
.
.
3
3
.
.
3
3
.
.


M
M
ô
ô


h
h
ì
ì
n
n
h
h



t
t
r
r
i
i


n
n


k
k
h
h
a
a
i
i


Hệ thống có thể được triển khai trong hệ thống mạng máy tính cần quản trị với
cấu hình như sau:














Hình 7-7 Sơ đồ triển khai ứng dụngGrid NetManager thử nghiệm.








Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng
- 185 -
Giải thích:
Các máy tính tham gia Grid đều được cài đặt bộ Globus Toolkit 3.2, các máy
tính này không cần phải dành riêng cho Grid mà có thể sử dụng cho các ứng dụng
khác. Ứng dụng sẽ tự động hoặc cho nhà quản trị chọn các máy tính “rảnh rỗi”(theo
một tiêu chí nào đó) để thực thi các module. Nên có một mạng cục bộ dành riêng
cho Grid (Grid Network) để không ảnh hưởng đến năng lực mạng của tổ chức. Các
máy tính Grid ngoài việc kết nối với mạng nội bộ củ
a tổ chức, có thêm một kết nối
đến mạng Grid dành riêng. Các máy tính chạy module Sensor nhất thiết phải kết nối
với một LAN segment cần bắt packet, một LAN segment chỉ cần một máy chạy
module Sensor là đủ. Nhà quản trị sử dụng một máy tính Grid chạy gói Quản trị

(gồm module Presentation và PacketInfoManager) để quản trị toàn hệ thống.

7
7
.
.
3
3
.
.
4
4
.
.


T
T
h
h




n
n
g
g
h
h

i
i


m
m


7
7
.
.
3
3
.
.
4
4
.
.
1
1
.
.




M
M

ô
ô


h
h
ì
ì
n
n
h
h


t
t
h
h




n
n
g
g
h
h
i
i



m
m



Hình 7-8 Mô hình cài đặt thử nghiệm
Các máy tính thử nghiệm được triển khai như hình 7-8. Đã thử nghiệm thành
công chức năng gửi và thực thi công việc trên máy tính ở xa, chức năng bắt packet,
xử lý truy vấn.








Chương 8. Kết luận
- 186 -
C
C
h
h
ư
ư
ơ
ơ
n

n
g
g


8
8
.
.




K
K
ế
ế
t
t


l
l
u
u


n
n



8
8
.
.
1
1
.
.


Đ
Đ
á
á
n
n
h
h


g
g
i
i
á
á


8

8
.
.
1
1
.
.
1
1
.
.






V
V




l
l
u
u


n

n


v
v
ă
ă
n
n


Ở mức luận văn, nhóm thực hiện đã thu được những kết quả sau :
+ Tìm hiểu khá chi tiết, tổng quan về các khía cạnh nền tảng công nghệ Grid
Computing hiện nay như bản chất khái niệm, các thách thức và yêu cầu, lợi ích và
ứng dụng, mô hình kiến trúc, các chuẩn hiện nay, tìm hiểu và so sánh các
middleware Grid phổ biến hiện nay.
+ Tìm hiểu khá đầy đủ, tổng quan về bộ Globus Toolkit 3.2 về mô hình,
cách thức giải quyết các thách thức cơ b
ản của công nghệ Grid, các dịch vụ cơ bản,
các yêu cầu, lưu ý khi xây dựng các dự án ứng dụng Grid với bộ Globus Toolkit.
+ Bên cạnh đó, các vấn đề cơ bản về quản trị mạng, hệ thống quản trị mạng,
hệ thống Intrusion Detection System, cũng đã được tìm hiểu, làm cơ sở để đưa ra
mô hình ứng dụng Grid NetManager.
Các kiến thức ở đây có thể được s
ử dụng để định hướng tìm hiểu, nghiên cứu
sâu hơn về công nghệ Grid Computing và bộ Globus Toolkit, cũng như sử dụng để
phát triển ứng dụng Grid. Hướng tiếp cận sử dụng công nghệ Grid Computing vào
bài toán quản trị mạng là một hướng mới, hiện chưa có dự án nào được công bố.
8
8

.
.
1
1
.
.
2
2
.
.


V
V






n
n
g
g


d
d



n
n
g
g


Dựa trên những kết quả nghiên cứu, tìm hiểu từ công nghệ Grid Computing và
các hệ thống quản trị mạng, nhóm thực hiện đã đạt được những kết quả sau :
+ Đề xuất mô hình hệ thống quản trị mạng dựa trên nền công nghệ Grid
Computing, đưa ra định hướng xây dựng ứng dụng.
+ Đọc hiểu và sửa chữa mã nguồn phần phần mềm Ethereal cho phù hợp với
các tính nă
ng mới.
+ Cài đặt và cấu hình thành công bộ Globus Toolkit 3.2 trên môi trường
mạng máy tính Linux, cho phép thực thi các ứng dụng Grid.








Chương 8. Kết luận
- 187 -
+ Thiết kế và cài đặt các chức năng tìm kiếm máy tính trong Grid, gửi và
thực thi các module bắt packet (Sensor), xử lý truy vấn trên các node
(PacketInfoProvider), lấy thông tin từ các file dữ liệu.
Việc cài đặt thử nghiệm một số chức năng cho thấy tính khả thi của mô hình và
khả năng cài đặt thành công của ứng dụng trong môi trường Grid với middleware

Globus Toolkit.
Ứng dụng Grid NetManager là một dự án lớn, đòi hỏi đầu tư nhiều về công sức
và thời gian. Trong quá trình làm lu
ận văn, do phải dành thời gian tìm hiểu công
nghệ và làm quen với các môi trường mới (hệ điều hành Linux, công cụ phát triển
ứng dụng,…) nên những kết quả trên đây mới chỉ là bước đầu, việc phát triển ứng
dụng đòi hỏi có những nghiên cứu, phân tích, thiết kế, cài đặt kỹ lưỡng hơn trong
các giai đoạn sau.
8
8
.
.
2
2
.
.


H
H
ư
ư


n
n
g
g



p
p
h
h
á
á
t
t


t
t
r
r
i
i


n
n
,
,


m
m





r
r


n
n
g
g


c
c


a
a


l
l
u
u


n
n


v
v

ă
ă
n
n


8
8
.
.
2
2
.
.
1
1
.
.


V
V




l
l
u
u



n
n


v
v
ă
ă
n
n


Thực hiện các nghiên cứu sâu hơn về công nghệ Grid Computing và bộ
GlobusToolkit, về mã nguồn các module, các thuật toán để ứng dụng tốt hơn trong
thực tế, từ đó có thể phát triển, xây dựng các thành phần Grid hoặc tham gia các dự
án nghiên cứu và triển khai ứng dụng Grid, tiến tới làm chủ công nghệ Grid
Computing, đưa sức mạnh tính toán lớn với chi phí thấp vào các dự án nghiên cứu
khoa học, kinh tế, thương mại của đất nướ
c, thực hiện theo chủ trương “đi tắt đón
đầu”, góp phần phát triển nền khoa học công nghệ nước nhà.
8
8
.
.
2
2
.
.

2
2
.
.


V
V






n
n
g
g


d
d


n
n
g
g



Hiện tại ứng dụng mới chỉ dừng lại ở mức thử nghiệm, trong tương lai dự định
sẽ phát triển tiếp thành một ứng dụng hoàn chỉnh để có thể áp dụng vào thực tế:
+ Phát triển các chức năng còn thiếu của các module hiện tại.
+ Thiết kế, cài đặt các module còn lại trong mô hình ứng dụng.
+ Phát triển các chức năng quản lý dữ liệu, quản lý Grid để nâng cao hi
ệu suất
Grid.








Chương 8. Kết luận
- 188 -
+ Cài đặt ứng dụng theo mô hình Grid Service để tận dụng các khả năng của
công nghệ mới.
8
8
.
.
3
3
.
.





L
L


i
i


k
k
ế
ế
t
t


Trong thời gian có hạn, chúng em mới chỉ nghiên cứu được một phần nhỏ về
công nghệ Grid Computing, một lĩnh vực mới mẻ và được xem là công nghệ tính
toán nền tảng trong tương lai. Có thể những kiến thức chúng em thu nhận được từ
công nghệ chưa nhiều nhưng trong thời gian làm luận văn, nhờ những kỹ năng và
kiến thức chúng em thu nhận, rèn luyện được qua quá trình học tập ở trường
Đại
học, chúng em đã phát triển được nhiều kỹ năng mới như : kỹ năng tìm kiếm thông
tin, kỹ năng phân tích và xử lý vấn đề (trouble shooting), tinh thần vượt qua khó
khăn, khả năng phối hợp làm việc, khả năng thích nghi với môi trường và công
nghệ hoàn toàn mới (Linux và công nghệ Grid Computing) trong thời gian ngắn,…,
tạo điều kiện để có những phát triển trong sắp tới. Chúng em nghĩ những gì đã đạt
được rất quý cho chúng em sau này và tin rằng việc trang bị những kỹ năng thực tế
cũng là một mục đích quan trọng của việc làm luận văn. Chúng em rất vui và hạnh

phúc khi đã được thực hiện luận văn này. Xét về các mục tiêu đặt ra ban đầu, các
kết quả đạt được cùng với những nỗ lực, cố gắng trong thời gian làm luận văn,
chúng em xin tự đánh giá hoàn thành khá xuất sắc luậ
n văn.








Phụ lục
- 189 -
P
P
h
h




l
l


c
c



A
A
.
.


C
C
á
á
c
c


t
t
i
i
ê
ê
u
u


c
c
h
h
í
í



đ
đ
á
á
n
n
h
h


g
g
i
i
á
á


t
t
í
í
n
n
h
h



k
k
h
h




k
k
h
h
i
i


c
c


a
a


m
m


t
t



d
d




á
á
n
n


G
G
r
r
i
i
d
d


Lược đồ đánh giá tính khả khi của ứng dụng được trình bày trong hình 0-1. Nó
đưa ra các tiêu chí và các yêu cầu cần thiết của một giải pháp Grid, qua quá trình
lượng giá các tiêu chí sẽ cho biết tính khả thi của ứng dụng có cao hay không.
Ứng với mỗi tiêu chí có các cột sau:
+ Tầm vực : Tổng kết các khả năng có thể của tiêu chí.
+ Độ quan trọng : Trọng số cho biết mức độ quan trọng của tiêu chí khi so

sánh với các yêu cầu của ứng d
ụng.
+ Nỗ lực : Trọng số cho biết mức độ nỗ lực cần thiết để đạt được tiêu chí đó.
+ Kỹ năng : Trọng số cho biết trình độ hiện tại của đội ngũ phát triển.
+ Tài nguyên : Trọng số cho biết khả năng và các kiểu của tài nguyên Grid.
+ Các ghi chú :

Mỗi tiêu chí cần được đánh giá và cho điểm tương ứng theo một độ đo nào đó.
Ở đây đề nghị độ đo với các giá trị H (cao), M(vừa), L (thấp), cũng có thể sử dụng
các độ đo khác. Lưu ý, có thể thêm các tiêu chí khác vào bảng để đánh giá cho phù
hợp với tình hình thực tế.

Tiêu chí Trọng số (H-M-L)
STT
Mục
Tầm vực (tăng dần
theo nỗ lực)
Độ
quan
trọng
Nỗ
lực
Kỹ
năng
Tài
nguyên
Ghi
chú
1.
Luồng công

việc
Song song -> Mạng ->
Tuần tự

2.
Số công
việc khác
nhau
Một công việc -> nhiều
công việc.

3.
Độ sâu của
các công
việc con.
Không có công việc
con -> Rất sâu

4.
Kiểu công
việc
Theo lô -> Đơn giản ->
Song song -> Dựa trên
EJB -> Phức tạp

5.
Mức độ
phụ thuộc
Hệ điều
hành

Độc lập -> Phụ thuộc
chặt chẽ.

6.
Dung lượng
bộ nhớ cho
Nhỏ -> Lớn








Phụ lục
- 190 -
từng công
việc
7.
Các DLL
Có sẵn tại chỗ -> Cần
có DLL đặc biệt

8.
Cấu hình
trình biên
dịch
Không cần cấu hình ->
Cấu hình chuẩn ->Cần

cấu hình đặc biệt.

9.
Môi trường
thực thi.
Không cần -> Môi
trường chuẩn ->Cần
môi trường đặc biệt.

10.
Server ứng
dụng
Không cần -> JSP ->
EJB -> server đặc biệt.

11.
Ứng dụng
bên ngoài
Không cần -> Ứng
dụng chuẩn -> Đòi hỏi
cấu hình/cài đặt đặc
biệt

12.
Mức độ
phụ thuộc
phần cứng
Không Cần -> Các
Thiết Bị IT Chuẩn ->
Các Thiết Bị IT Đặc

Biệt -> Các thiết bị đặc
biệt khác.

13.
Thực thi dự
phòng công
việc
Không cần thiết -> Rất
cần thiết.

14.
Nhập/Xuất
dữ liệu cho
công việc.
Tham số dòng lệnh ->
Hàng đợi thông điệp ->
File dữ liệu -> Cơ sở
dữ liệu -> APIs

15.
Truy cập
dữ liệu chi
sẻ
RO file -> RO DBMS -
> RW File -> RW
DBMS

16.
Không gian
lưu trữ tạm

thời
Nhỏ -> Không giới hạn
17.
Băng thông
mạng
Nhỏ -> LAN tốc độ cao
-> WAN

18.
Dữ liệu
theo thời
gian.
Dữ liệu luôn hợp lệ ->
Dữ liệu thay đổi theo
thời gian.

19.
Kiểu dữ
liệu : Sử
dụng bộ mã
Unicode thông thường
trên mạng SBCS ->
Các unicode khác nhau
trên DBCS -> Bộ Mã
ký tự không xác định
được.

Bảng 8-1 Các tiêu chí đánh giá tính khả thi của ứng dụng Grid









Phụ lục
- 191 -
B
B
.
.


Đ
Đ


n
n
h
h


d
d


n
n

g
g


f
f
i
i
l
l
e
e


G
G
W
W
S
S
D
D
L
L


Phần này giới thiệu các bước cơ bản để viết một tài liệu GWSDL đặc tả Grid
Service, việc viết một đặc tả GWSDL cũng tương tự như viết một tài liệu WSDL
khi phát triển các Web service, gồm các bước:
1. Viết thành phần gốc : <definitions>.

2. Viết đặc tả <gwsdl:PortType>.
3. Viết các đặc tả <message> nhập xuất cho các phương thức của
PortType.
4. Viết thành phần <types>.

Chi tiết các bước sẽ
được trình bày dưới đây thông qua một ví dụ nhỏ, viết Grid
service MathService với các chức năng đã được giới thiệu ở phần Triển khai cài đặt
các Grid Service

Bước 1: Viết thành phần gốc <definitions>
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="MathService"
targetNamespace="
xmlns:tns="
xmlns:ogsi="
xmlns:gwsdl="
xmlns:xsd="
xmlns="

</definitions>

Thành phần <definitions> có 2 thuộc tính:
+ name : Tên của file GWSDL, không liên quan đến tên service.
+ targetNamspace : Khai báo không gian tên của file GWSDL. Điều này có
nghĩa là tất cả các portType và phương thức khai báo ở đây đều thuộc không gian
tên này.
Thành phần này cũng được dùng để khai báo tất cả các không gian tên sử dụng
trong tài liệu GWSDL.
Tiếp theo, phải khai báo import file OSGI GWSDL chức các khai báo, định

nghĩa sẽ sử dụng trong phần sau.

<import location=" / /ogsi/ogsi.gwsdl"
namespace="

Bước 2 : Định nghĩa portType với tag <gwsdl:portType>

<definitions ">

<gwsdl:portType name="MathPortType" extends="ogsi:GridService">
<operation name="add">
<input message="tns:AddInputMessage"/>
<output message="tns:AddOutputMessage"/>
<fault name="Fault" message="ogsi:FaultMessage"/>
</operation>








Phụ lục
- 192 -
<operation name="subtract">
<input message="tns:SubtractInputMessage"/>
<output message="tns:SubtractOutputMessage"/>
<fault name="Fault" message="ogsi:FaultMessage"/>
</operation>

<operation name="getValue">
<input message="tns:GetValueInputMessage"/>
<output message="tns:GetValueOutputMessage"/>
<fault name="Fault" message="ogsi:FaultMessage"/>
</operation>
</gwsdl:portType

Tag <gwsdl:portType> có 2 thuộc tính:
+ name : tên của portType
+ extends : Đây là một sự khác biệt đối với một file WSDL truyền thống.
Thuộc tính này cho phép chúng ta mở rộng từ một portType có sẵn, ở đây
MathService được mở rộng từ portType GridService chuẩn.
Bên trong tag <gwsdl:portType> chứa tag <operation> cho phép định nghĩa các
phương thức của portType các tham số đầu vào (tag <input>), các giá trị trả về (tag
<output>), các giá trị lỗi (<fault>). Lưu ý, tất cả đều có thuộc tính <message>, được
định ngh
ĩa dưới đây, xác định những gì cần trao đổi trong lúc gọi phương thức.

Bước 3 : Viết đặc tả <message> nhập xuất

<?xml version="1.0" encoding="UTF-8"?>
<definitions >

<message name="AddInputMessage">
<part name="parameters" element="tns:add"/>
</message>
<message name="AddOutputMessage">
<part name="parameters" element="tns:addResponse"/>
</message>


<! PortType >

</definitions>

Lưu ý, tên của message phải trùng với tên đã được khai báo trong phương thức
(trong thuộc tính message của các tag <input>, <output>).
Mỗi message gồm nhiều phần <part>, mỗi <part> có một kiểu đại diện cho kiểu
của giá trị, được định nghĩa ở bước sau.

Bước 4 : Viết các thành phần <type>

types>
<xsd:schema
targetNamespace=" />"
attributeFormDefault="qualified"
elementFormDefault="qualified"
xmlns="


<xsd:element name="add">
<xsd:complexType>

×