Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng 7.1.4.2.2. Add Configuration Capturing colaboration diagram : Nha quan tri 1: // Call ConfigureForm 3: // Enter configuration for node 4: // Add a configuration node 2: // Show : ConfigureForm : MainForm 5: // Verify add a configuration 6: // Add configuration : ConfigureCtrl : ConfigureEntity - 170 - Chương 7. Phân tích, thiết kế và cài đặt thử nghiệm ứng dụng 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...
Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.2.2 Add Configuration Capturing colaboration diagram : Nha quan tri 1: // Call ConfigureForm 3: // Enter configuration for node 4: // Add a configuration node 2: // Show : ConfigureForm : MainForm 5: // Verify add a configuration 6: // Add configuration : ConfigureEntity : ConfigureCtrl - 170 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.2.3 Update Configuration Capturing sequence diagram : Nha quan tri : MainForm : Conf igureForm // Call Conf igureForm : Conf igureCtrl : Conf igureEntity // 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 1: // Call ConfigureForm : Nha quan tri 3: // Change configuration for node 4: // Update a configuration node : MainForm 2: // Show 5: // Verify update a configuration : ConfigureForm : ConfigureCtrl 6: // Change configuration : ConfigureEntity - 171 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.2.5 Remove Configuration Capturing sequence diagram : Nha quan tri : MainForm // Call Conf igureForm : Conf igureForm : Conf igureCtrl : Conf igureEntity // 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 1: // Call Conf igureForm : MainForm : Nha quan tri 3: // Remov e conf iguration f or node 4: // Remov e a conf iguration node 2: // Show 5: // Verif y remov e a conf iguration : Conf igureForm : Conf igureCtrl 6: // Remov e conf iguration : Conf igureEntity - 172 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.3 Use case “Capture” 7.1.4.3.1 Capture - Start Basic Flow sequence diagram : Nha quan tri : MainForm // Start capture : StartCapture Thread : CaptureCtrl : Display Thread // Call capture // Create thread Start // Create thread Display // send content of packet // Show packet 7.1.4.3.2 Capture – Start Basic Flow colaboration diagram 1: // Start capture : MainForm : Nha quan tri 2: // Call capture 6: // Show packet : StartCapture Thread 3: // Create thread Start : CaptureCtrl 4: // Create thread Display 5: // send content of packet : Display Thread - 173 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.3.3 Capture - Start Error Flow sequence diagram : Nha quan tri : MainForm // Start capture : StartCapture Thread : CaptureCtrl : MessageBox // Call capture // Create thread Start // Notif y result // Show error message 7.1.4.3.4 Capture – Start Error Flow colaboration diagram 1: // Start capture 2: // Call capture : Nha quan tri : MainForm 3: // Create thread Start : StartCapture Thread 4: // Notify result : CaptureCtrl 5: // Show error message : MessageBox - 174 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.3.5 Capture - Start Stop Flow sequence diagram : Nha quan tri : MainForm // Stop capture : StartCapture Thread : CaptureCtrl : MessageBox // Call stop // Create thread Stop // Message back // Show message 7.1.4.3.6 Capture – Start Stop Flow colaboration diagram 1: // Stop capture : MainForm : Nha quan tri 2: // Call stop 5: // Show message : CaptureCtrl 4: // Message back 3: // Create thread Stop : StartCapture Thread : MessageBox - 175 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.3.7 Capture – Start Error Flow sequence diagram : Nha quan tri : MainForm // Stop capture : StartCapture Thread : CaptureCtrl : MessageBox // Call stop // Create thread Stop // Message back // Show message Error 7.1.4.3.8 Capture – Start Error Flow colaboration diagram 1: // Stop capture 2: // Call stop : MainForm : Nha quan tri 5: // Show message Error : MessageBox : CaptureCtrl 4: // Message back 3: // Create thread Stop : StartCapture Thread - 176 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.4 Use case “Query” 7.1.4.4.1 Query - Basic Flow sequence diagram : Nha quan tri // Call Filter : FilterThread : FilterCtrl : MainForm // Submit Filter // Create Filter Thread // Content of packet return // Show content of message 7.1.4.4.2 Query - Basic Flow colaboration diagram 1: // Call Filter : MainForm : Nha quan tri 5: // Show content of message 2: // Submit Filter 3: // Create Filter Thread : FilterCtrl 4: // Content of packet return : FilterThread - 177 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.1.4.4.3 Query - Error Flow sequence diagram : Nha quan tri // Call Filter : FilterThread : FilterCtrl : MainForm : MessageBox // Submit Filter // Create Filter Thread // Error return // Show message error 7.1.4.4.4 Query - Error Flow sequence diagram 1: // Call Filter : MainForm : Nha quan tri 2: // Submit Filter : FilterThread 4: // Error return 3: // Create Filter T hread : FilterCtrl 5: // Show message error : MessageBox - 178 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.2 Thiết kế 7.2.1 Sơ đồ đối tượng cài đặt Vì cài đặt phải kết hợp với mã nguồn Ethereal (viết theo ngôn ngữ C) sử dụng thư viện khơng hướng đối tượng nên phát triển theo hướng đối tượng số xử lý liên quan đến Globus Sơ đồ lớp đối tượng module GridManager GL_CB GL_GLOBUS_FTP_CLIENT mutex : globus_mutex_t cond : globus_cond_t done : globus_bool_t fd : FILE * buffer : globus_byte_t handle : globus_ftp_client_handle_t IsDone() SetDone() Continue() Wait() StartT ransfer() Transfer() name 1 GL_GRAM_JOB GL_GRAM_JOBS_CALLBACK failed : globus_bool_t jobcontact : char * callback : GL_GRAM_JOBS_CALLBACK JobsTableMutex : globus_mutex_t JobTable : map callback_contact : char * HasFailed() : globus_bool_t SetFailed() Submit( : ) Cancel() SetJobContact( : ) Wait() Add( : string, : GL_GRAM_JOB *) : void Remove( : char*) : void GetURL() : char * GetJob( : char *) : GL_GRAM_JOB * Lock() UnLock() Host Broker hostName : string cpu : long GetLinuxNodes() GetHostName() : string GetCPU() : Long Hình 7-3 Sơ đồ lớp cài đặt lớp đối tượng - 179 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng Danh sách lớp đối tượng STT Loại đối tượng Tên lớp GL_CB Control GL_GRAM_JOBS_CALLBAC K Control GL_GRAM_JOB Control GL_GLOBUS_FTP_CLIENT Control GL_BROKER Control Diễn giải Lớp cung cấp hàm gọi cho việc bắt đầu, chờ đợi kết thúc công việc Lớp quản lý việc gọi thực danh sách công việc thông qua định danh công việc Lớp chịu quản lý việc thực thi kết thúc công việc Lớp chịu trách nhiệm quản lý truyền liệu với GridFTP Tìm kiếm thơng tin máy hệ thống Grid Bảng 7-3 Danh sách đối tượng cài đặt 7.2.2 Thiết kế giao diện 7.2.2.1 Danh sách hình Giao diện ứng dụng Grid NetManager thử nghiệm sử dụng lại giao diện Ethereal, có thêm số điểm sau: STT Tên hình Grid NetManager Packet Capture Configure Diễn giải Sử dụng lại hình Ethreal, thêm chức mới, thể usecase Capture, Query Packet Information, Search nodes, cho phép tìm kiếm máy tính thỏa điều kiện u cầu tài nguyên, cho phép nhập câu truy vấn thông tin packet xuất kết hình, cho phép khởi tạo kết thúc trình bắt packet Màn hình cho phép sử dụng lại chức phân tích Ethereal Thể usecase Configure Packet Capturing, cho phép người dùng cấu hình thông tin phục vụ bắt packet node thực thi, tên file lưu trữ, node lưu liệu, capture filter Bảng 7-4 Danh sách giao diện - 180 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.2.2.2 Chi tiết hình 7.2.2.2.1 Màn hình Grid NetManager Hình 7-4 Màn hình ứng dụng Grid NetManager thử nghiệm Mơ tả hình (danh sách control thêm vào hình cùa ethereal) STT Tên control Tên giao diện mds_server_te MDS Server filter_te Filter node_cb Nodes nodes_bt Nodes Kiểu Diễn giải Textbox Cho phép nhập vào tên MDS Server quản lý thông tin hệ thống Grid Textbox Chứa nội dung truy vấn sở liệu Sau nhận đầy đủ câu truy vấn, hệ thống cho gọi thực thi module PacketInfoProvider máy xa, chờ nhận kết xuất hình Combo Chứa danh sách Node thoả điều kiện tìm kiếm có Grid Button Thực tìm kiếm Node thỏa điều kiện yêu cầu tài nguyên từ MDS server đưa cboNodes - 181 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng Start_bt Start Button stop_bt Stop Button Bắt đầu trình bắt packet node Kết thúc trình bắt packet Bảng 7-5 Mơ tả hì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ả hình (danh sách control) STT Tên Tên control giao diện Kiểu clist_Node Listbox file_te File filter_te Argument Textbox computer_cb Sensor Textbox Combo - 182 - Diễn giải Hiện thị chọn lựa cấu hình bắt packet người dùng Chứa tên file lưu trữ liệu bắt xuống Chứa nội dung cấu hình bắt packet module Sensor Chứa danh sách Node thoả điều kiện tìm kiếm tài nguyên, có Grid, dùng để chọn máy thực Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng store_cb Database Combo Computer btnOK btnAdd btnUpdate OK Add Update Button Button Button btnRemove Remove Button thi module Sensor Chứa danh sách Node thoả điều kiện tìm kiếm tài nguyên, có Grid, dùng để chọn máy lưu trữ liệu Lưu lại cấu hình module Thêm cấu hình cho module Cập nhật lại cấu hình module Loại bỏ cấu hình module Bảng 7-6 Mơ tả hình cấu hình bắt packet 7.3 Cài đặt & Triển khai 7.3.1 Công cụ môi trường phát triển ứng dụng Ứng dụng “Grid NetManager” xây dựng môi trường 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 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 phần mềm kèm + Sử dụng mã nguồn Ethereal 0.10.0a + Sử dụng 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 GT3.2 : GSI, pre-WS GRAM, preWS MDS, GridFTP, … - 183 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng 7.3.2 Mơ hình cài đặt Mơ hình Gri d NetManager (M odule Quan tri) T ET HEREAL (Fi le chuong trinh thuc thi) Hình 7-6 Mơ hình cài đặt Diễn giải STT Tên thành phần tEthereal Grid NetManager Ý nghĩa Là file chương trình tethereal, chương trình tethereal sử dụng thực thi chức module Sensor module PacketInfoProvider Là file chương trình thực thi chức quản trị 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 triển khai hệ thống mạng máy tính cần quản trị với cấu sau: Hình 7-7 Sơ đồ triển khai ứng dụngGrid NetManager thử nghiệm - 184 - Chương Phân tích, thiết kế cài đặt thử nghiệm ứng dụng Giải thích: Các máy tính tham gia Grid cài đặt Globus Toolkit 3.2, máy tính khơng cần phải dành riêng cho Grid mà sử dụng cho ứng dụng khác Ứng dụng tự động cho nhà quản trị chọn máy tính “rảnh rỗi”(theo tiêu chí đó) để thực thi module Nên có mạng cục dành riêng cho Grid (Grid Network) để không ảnh hưởng đến lực mạng tổ chức Các máy tính Grid việc kết nối với mạng nội tổ chức, có thêm kết nối đến mạng Grid dành riêng Các máy tính chạy module Sensor thiết phải kết nối với LAN segment cần bắt packet, LAN segment cần máy chạy module Sensor đủ Nhà quản trị sử dụng máy tính Grid chạy gói Quản trị (gồm module Presentation PacketInfoManager) để quản trị tồ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 triển khai hình 7-8 Đã thử nghiệm thành cơng chức gửi thực thi cơng việc máy tính xa, chức bắt packet, xử lý truy vấn - 185 - Chương Kết luận Chương 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 thu kết sau : + Tìm hiểu chi tiết, tổng quan khía cạnh tảng cơng nghệ Grid Computing chất khái niệm, thách thức u cầu, lợi ích ứng dụng, mơ hình kiến trúc, chuẩn nay, tìm hiểu so sánh middleware Grid phổ biến + Tìm hiểu đầy đủ, tổng quan Globus Toolkit 3.2 mơ hình, cách thức giải thách thức công nghệ Grid, dịch vụ bản, yêu cầu, lưu ý xây dựng dự án ứng dụng Grid với Globus Toolkit + Bên cạnh đó, vấn đề quản trị mạng, hệ thống quản trị mạng, hệ thống Intrusion Detection System, tìm hiểu, làm sở để đưa mơ hình ứng dụng Grid NetManager Các kiến thức sử dụng để định hướng tìm hiểu, nghiên cứu sâu cơng nghệ Grid Computing Globus Toolkit, 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 tốn quản trị mạng hướng mới, chưa có dự án công bố 8.1.2 Về ứng dụng Dựa kết nghiên cứu, tìm hiểu từ cơng nghệ Grid Computing hệ thống quản trị mạng, nhóm thực đạt kết sau : + Đề xuất mơ hình hệ thống quản trị mạng dựa công nghệ Grid Computing, đưa định hướng xây dựng ứng dụng + Đọc hiểu sửa chữa mã nguồn phần phần mềm Ethereal cho phù hợp với tính + Cài đặt cấu hình thành cơng Globus Toolkit 3.2 mơi trường mạng máy tính Linux, cho phép thực thi ứng dụng Grid - 186 - Chương Kết luận + Thiết kế cài đặt chức tìm kiếm máy tính Grid, gửi thực thi module bắt packet (Sensor), xử lý truy vấn node (PacketInfoProvider), lấy thông tin từ file liệu Việc cài đặt thử nghiệm số chức cho thấy tính khả thi mơ hình khả cài đặt thành công ứng dụng môi trường Grid với middleware Globus Toolkit Ứng dụng Grid NetManager dự án lớn, đòi hỏi đầu tư nhiều cơng sức thời gian Trong q trình làm luận văn, phải dành thời gian tìm hiểu cơng nghệ làm quen với môi trường (hệ điều hành Linux, công cụ phát triển ứng dụng,…) nên kết bước đầu, việc phát triển ứng dụng địi hỏi có nghiên cứu, phân tích, thiết kế, cài đặt kỹ lưỡng giai đoạn sau 8.2 Hướng phát triển, mở rộng luận văn 8.2.1 Về luận văn Thực nghiên cứu sâu công nghệ Grid Computing GlobusToolkit, mã nguồn module, thuật toán để ứng dụng tốt thực tế, từ phát triển, xây dựng thành phần Grid tham gia dự án nghiên cứu 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 tốn lớn với chi phí thấp vào dự án nghiên cứu khoa học, kinh tế, thương mại đất nước, thực theo chủ trương “đi tắt đón đầu”, góp phần phát triển khoa học công nghệ nước nhà 8.2.2 Về ứng dụng Hiện ứng dụng dừng lại mức thử nghiệm, tương lai dự định phát triển tiếp thành ứng dụng hồn chỉnh để áp dụng vào thực tế: + Phát triển chức thiếu module + Thiết kế, cài đặt module cịn lại mơ hình ứng dụng + Phát triển chức quản lý liệu, quản lý Grid để nâng cao hiệu suất Grid - 187 - Chương Kết luận + Cài đặt ứng dụng theo mơ hình Grid Service để tận dụng khả công nghệ 8.3 Lời kết Trong thời gian có hạn, chúng em nghiên cứu phần nhỏ công nghệ Grid Computing, lĩnh vực mẻ xem cơng nghệ tính tốn tảng tương lai Có thể kiến thức chúng em thu nhận từ công nghệ chưa nhiều thời gian làm luận văn, nhờ kỹ kiến thức chúng em thu nhận, rèn luyện qua trình học tập trường Đại học, chúng em phát triển nhiều kỹ : kỹ tìm kiếm thơng tin, kỹ phân tích xử lý vấn đề (trouble shooting), tinh thần vượt qua khó khăn, khả phối hợp làm việc, khả thích nghi với mơi trường cơng nghệ hồn tồn (Linux công nghệ Grid Computing) thời gian ngắn,…, tạo điều kiện để có phát triển tới Chúng em nghĩ đạt quý cho chúng em sau tin việc trang bị kỹ thực tế mục đích quan trọng việc làm luận văn Chúng em vui hạnh phúc thực luận văn Xét mục tiêu đặt ban đầu, kết đạt với nỗ lực, cố gắng thời gian làm luận văn, chúng em xin tự đánh giá hoàn thành xuất sắc luận văn - 188 - Phụ lục Phụ lục A Các tiêu chí đánh giá tính khả dự án Grid Lược đồ đánh giá tính khả ứng dụng trình bày hình 0-1 Nó đưa tiêu chí u cầu cần thiết giải pháp Grid, qua trình lượng giá tiêu chí cho biết tính khả thi ứng dụng có cao hay khơng Ứng với tiêu chí có cột sau: + Tầm vực : Tổng kết khả tiêu chí + Độ quan trọng : Trọng số cho biết mức độ quan trọng tiêu chí so sánh với yêu cầu ứng dụng + Nỗ lực : Trọng số cho biết mức độ nỗ lực cần thiết để đạt tiêu chí + Kỹ : Trọng số cho biết trình độ đội ngũ phát triển + Tài nguyên : Trọng số cho biết khả kiểu tài nguyên Grid + Các ghi : Mỗi tiêu chí cần đánh giá cho điểm tương ứng theo độ đo Ở đề nghị độ đo với giá trị H (cao), M(vừa), L (thấp), sử dụng độ đo khác Lưu ý, thêm 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í STT Mục Luồng công việc Số công việc khác Độ sâu công việc Kiểu công việc Trọng số (H-M-L) Tầm vực (tăng dần theo nỗ lực) Song song -> Mạng -> Tuần tự Một công việc -> nhiều cơng việc Khơng có cơng việc -> Rất sâu Theo lô -> Đơn giản -> Song song -> Dựa EJB -> Phức tạp Độc lập -> Phụ thuộc chặt chẽ Mức độ phụ thuộc Hệ điều hành Dung lượng Nhỏ -> Lớn nhớ cho - 189 - Độ quan trọng Nỗ lực Kỹ Tài nguyên Ghi Phụ lục công việc 10 11 12 13 14 15 16 17 18 19 Có sẵn chỗ -> Cần có DLL đặc biệt Khơng cần cấu hình -> Cấu hình Cấu hình chuẩn ->Cần trình biên cấu hình đặc biệt dịch Khơng cần -> Môi Môi trường trường chuẩn ->Cần thực thi môi trường đặc biệt Server ứng Không cần -> JSP -> EJB -> server đặc biệt dụng Không cần -> Ứng dụng chuẩn -> Địi hỏi Ứng dụng cấu hình/cài đặt đặc bên ngồi biệt Khơng Cần -> Các Thiết Bị IT Chuẩn -> Mức độ Các Thiết Bị IT Đặc phụ thuộc phần cứng Biệt -> Các thiết bị đặc biệt khác Thực thi dự Khơng cần thiết -> Rất phịng cơng cần thiết việc Tham số dịng lệnh -> Nhập/Xuất Hàng đợi thông điệp -> liệu cho File liệu -> Cơ sở công việc liệu -> APIs RO file -> RO DBMS Truy cập > RW File -> RW liệu chi DBMS sẻ Không gian Nhỏ -> Không giới hạn lưu trữ tạm thời Băng thông Nhỏ -> LAN tốc độ cao -> WAN mạng Dữ liệu hợp lệ -> Dữ liệu Dữ liệu thay đổi theo theo thời thời gian gian Unicode thông thường mạng SBCS -> Kiểu Các unicode khác liệu : Sử DBCS -> Bộ Mã dụng mã ký tự không xác định Các DLL Bảng 8-1 Các tiêu chí đánh giá tính khả thi ứng dụng Grid - 190 - Phụ lục B Định dạng file GWSDL Phần giới thiệu bước để viết tài liệu GWSDL đặc tả Grid Service, việc viết đặc tả GWSDL tương tự viết tài liệu WSDL phát triển Web service, gồm bước: Viết thành phần gốc : Viết đặc tả Viết đặc tả nhập xuất cho phương thức PortType Viết thành phần Chi tiết bước trình bày thơng qua ví dụ nhỏ, viết Grid service MathService với chức giới thiệu phần Triển khai cài đặt Grid Service Bước 1: Viết thành phần gốc Thành phần có thuộc tính: + name : Tên file GWSDL, không liên quan đến tên service + targetNamspace : Khai báo không gian tên file GWSDL Điều có nghĩa tất portType phương thức khai báo thuộc không gian tên Thành phần dùng để khai báo tất không gian tên sử dụng tài liệu GWSDL Tiếp theo, phải khai báo import file OSGI GWSDL chức khai báo, định nghĩa sử dụng phần sau Bước : Định nghĩa portType với tag