Ứ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, preWS MDS, GridFTP, 
              
                                            
                                
            
 
            
                
23 trang | 
Chia sẻ: oanh_nt | Lượt xem: 1430 | Lượt tải: 0
              
            Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
 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 : Conf igureForm : Conf igureCtrl : Conf igureEntity
// Call Conf igureForm // Show
// Change conf iguration f or node
// Update a conf iguration node
// Verif y update a conf iguration
// Change conf iguration
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 : Conf igureForm : Conf igureCtrl : Conf igureEntity
// Call Conf igureForm // Show
// Remov e conf iguration f or node
// Remov e a conf iguration node
// Verif y remov e a conf iguration
// Remov e conf iguration
7.1.4.2.6. Remove Configuration Capturing colaboration diagram 
 : MainForm : Nha quan tri
 : Conf igureForm : Conf igureCtrl
 : Conf igureEntity
2: / / Show
1: // Call Conf igureForm
3: // Remov e conf iguration f or node
4: // Remov e a conf iguration node
5: // Verif y remov e 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.1.4.3. Use case “Capture” 
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: // Cal l 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
// Notif y 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 // Cal l 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 // Cal l 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.1.4.4. Use case “Query” 
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
 : Fi lterThread
 : MessageBox
 : Fi lterCtrl
1: // Call Fi lter
2: // Submit Filter
3: // Create Fi lter 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.2. Thiết kế 
7.2.1. Sơ đồ các đối tượng cài đặ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 
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
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.2.2. Thiết kế giao diện 
7.2.2.1. Danh sách các màn hình 
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.2.2.2. Chi tiết các màn hình 
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.3. Cài đặt & Triển khai 
7.3.1. Công cụ và môi trường phát triển ứng dụng 
Ứ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.3.2. Mô hình cài đặt 
1. Mô hình 
TETHEREAL
(Fi le 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.3.3. Mô hình triển khai 
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.3.4. Thử nghiệm 
7.3.4.1. Mô hình thử nghiệ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 - 
Chương 8. Kết luận 
8.1. Đánh giá 
8.1.1. Về luận vă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.1.2. Về ứng dụng 
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.2. Hướng phát triển, mở rộng của luận văn 
8.2.1. Về luận vă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.2.2. Về ứng dụng 
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.3. Lời kế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 - 
Phụ lục 
A. Các tiêu chí đánh giá tính khả khi của một dự án 
Grid 
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. Định dạng file GWSDL 
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 : . 
2. Viết đặc tả . 
3. Viết các đặc tả nhập xuất cho các phương thức của 
PortType. 
4. Viết thành phần . 
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 name="MathService" 
 targetNamespace="" 
 xmlns:tns="" 
 xmlns:ogsi="" 
 xmlns:gwsdl="" 
 xmlns:xsd="" 
 xmlns=""> 
Thành phần 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 
Phụ lục 
 - 192 - 
</gwsdl:portType 
Tag 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 chứa tag cho phép định nghĩa các 
phương thức của portType các tham số đầu vào (tag ), các giá trị trả về (tag 
), các giá trị lỗi (). Lưu ý, tất cả đều có thuộc tính , đượ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ả nhập xuất 
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 , ). 
Mỗi message gồm nhiều phần , mỗi 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 
types> 
<xsd:schema 
targetNamespace="
" 
 attributeFormDefault="qualified" 
 elementFormDefault="qualified" 
 xmlns=""> 
            Các file đính kèm theo tài liệu này:
grid_computing_va_quan_tri_mang_9_3636.pdf