Ứ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: 1266 | 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