LÊ HUY TUỆ BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LUẬN VĂN THẠC SỸ KHOA HỌC NGÀNH : CÔNG NGHỆ THÔNG TIN CÔNG NGHỆ THÔNG TIN ỨNG DỤNG XML XÂY DỰNG FRAMEWORK DỰA WEB GIẢI QUYẾT LỚP BÀI TOÁN QUẢN LÝ LÊ HUY TUỆ 2007 - 2009 Hà Nội 2009 HÀ NỘI 2009 BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - LUẬN VĂN THẠC SỸ KHOA HỌC ỨNG DỤNG XML XÂY DỰNG FRAMEWORK DỰA WEB GIẢI QUYẾT LỚP BÀI TOÁN QUẢN LÝ NGÀNH : CÔNG NGHỆ THÔNG TIN MÃ SỐ : ……………… LÊ HUY TUỆ Người hướng dẫn khoa học : PGS,TS HUỲNH QUYẾT THẮNG Hà Nội 2009 Mục lục LỜI CAM ĐOAN LỜI NÓI ĐẦU MỘT SỐ THUẬT NGỮ VIẾT TẮT DANH MỤC HÌNH VẼ DANH MỤC BẢNG BIỂU I CHƯƠNG – CƠ SỞ LÝ THUYẾT VỀ MẪU, FRAMEWORK VÀ UML TRONG PHÁT TRIỂN PHẦN MỀM I.1 Mẫu I.1.1 Khái niệm mẫu I.1.2 Mẫu kiến trúc .8 I.1.3 Mẫu thiết kế .17 I.1.4 Idioms 20 I.2 Framework 20 I.2.1 Khái niệm Framework 20 I.2.2 Phân loại framework 22 I.2.3 Mẫu kiến trúc phần mềm 23 I.3 UML .25 I.3.1 Các góc nhìn UML 26 I.3.2 Các biểu đồ UML 27 I.4 Kết chương 32 II CHƯƠNG – XML VÀ KHẢ NĂNG ỨNG DỤNG XÂY DỰNG FRAMEWORK DỰA WEB 33 II.1 Kỹ thuật XML .33 II.1.1 Khái niệm chung XML 33 II.1.2 XML Schema 35 II.1.3 Giao diện chương trình cho XML 39 II.1.4 Xử lý XML .40 II.1.5 XML với sở liệu 47 II.1.6 Biểu diễn dựa XML .50 II.2 Phát triển phần mềm 52 II.2.1 Quy trình phát triển phần mềm nói chung 52 II.2.2 Một số vấn đề phát triển phần mềm 57 II.3 Khả sử dụng XML phát triển Framework ứng dụng phát triển phần mềm 59 II.4 Kết chương 60 III CHƯƠNG – GIẢI PHÁP THIẾT KẾ 61 III.1 Lựa chọn mơ hình phát triển phần mềm 61 III.1.1 Fusebox 61 III.1.2 PHP .63 III.2 Xây dựng Framework .67 III.2.1 Tầng biểu diễn tầng logic 68 III.2.2 Tầng tích hợp liệu 78 III.3 Bài toán ứng dụng .79 III.3.1 Phân tích thiết kế toán 82 III.3.2 Cài đặt 91 III.4 Kết chương 98 KẾT LUẬN 99 TÀI LIỆU THAM KHẢO 102 11/2009 LỜI CAM ĐOAN Tôi – Lê Huy Tuệ, học viên lớp Cao học CNTT 2007-2009 Trường Đại học Bách Khoa Hà Nội – cam kết luận văn tốt nghiệp công trình nghiên cứu thân tơi hướng dẫn PGS,TS Huỳnh Quyết Thắng - Viện Công nghệ Thông tin Truyền thông - Trường Đại học Bách Khoa Hà Nội Các kết nêu luận văn tốt nghiệp trung thực, khơng chép tồn văn cơng trình khác Hà Nội, tháng 11 năm 2009 Học viên Lê Huy Tuệ Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 11/2009 LỜI NĨI ĐẦU Web bắt nguồn dự án CERN (Viện nghiên cứu vật lý hạt nhân Châu Âu) với mục tiêu ban đầu lưu trữ siêu văn máy tính để dễ dàng tìm kiếm, tra cứu Nhưng nhanh chóng trở nên phổ biến phần thiếu thời đại công nghệ thông tin ngày Ban đầu sử dụng trang web riêng lẻ Sau tập hợp trang web có quan hệ nội dung liên kết với siêu liên kết mà ngày ta gọi chúng website Không dừng lại việc chia sẻ thông tin tĩnh dạng trang web người sử dụng internet cịn muốn tìm kiếm, cập nhật, sửa đổi thơng tin Các khái niệm ứng dụng web phát triển từ Ứng dụng web ứng dụng client-server thường Browser đóng vai trị client Cũng kể từ nhiều framework để phát triển ứng dụng web đời với nhiều ngôn ngữ web phong phú phải kể đến viết ngơn ngữ Java có framework Spring, Struts; viết ngơn ngữ NET (C# hay VB.net, …) có số mơ mơ hình lớp ASP.NET, mơ hình ASP.NET AJAX (ASP.NET tích hợp AJAX) gần ASP.NET MVC; viết PHP có Symfony, CakePHP, Drupal,… ; viết Ruby có Ruby on Rails; nhiều ngôn ngữ khác Nội dung luận văn đề cập đến việc áp dụng kỹ thuật XML việc xây dựng framework ứng dụng dựa web Mục tiêu luận văn đưa framework ứng dụng dựa web hỗ trợ mạnh cho người phát triển trình xây dựng ứng dụng trình bảo trì, nâng cấp ứng dụng cho khách hàng Ở đặc điểm bật framework thể hai khía cạnh tự động tạo form nhập liệu, biểu diễn liệu lưu trữ liệu động Trong tự động tạo form nhập liệu hay biểu diễn liệu có nghĩa người phát triển cần khai báo form hình hiển thị chương trình tự động tạo form chạy Còn lưu trữ liệu động có nghĩa số liệu nhóm gộp lại cách tự động chương trình chạy thành dạng liệu XML lưu trữ vào CSDL theo ý đồ thiết kế người thiết kế Ta hình dung tính qua ví Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 11/2009 dụ đơn giản sau : Giả sử ứng dụng hồn thành đem triển khai cho khách hàng, form nhập liệu người sử dụng muốn bổ sung thêm thông tin cần nhập liệu Như công việc người phát triển lúc bổ sung thêm khai báo đối tượng nhập liệu form Chương trình tự động tạo form thỏa mãn người dùng chạy Dữ liệu nhập vào tự động lưu trữ vào CSDL dạng liệu XML mà khơng cần phải có bổ sung thêm code hiệu chỉnh CSDL Luận văn trình bày gồm ba chương Chương - Cơ sở lý thuyết Mẫu, Framework UML phát triển phần mềm đề cập đến vấn đề sở lý thuyết bao gồm lý thuyết Mẫu, Framework UML Chương – XML khả ứng dụng xây dựng Framework dựa Web chương tập trung vào trình bày vấn đề XML, vấn đề phát triển phần mềm nói chung từ rút việc khai thác sử dụng XML xây dựng Framework phát triển ứng dụng Chương - Giải pháp thiết kế trình bày giải pháp xây dựng framework ứng dụng dựa web cụ thể đồng thời mơ tả tốn thực tế điển hình áp dụng framework xây dựng để cài đặt Tôi xin chân thành cảm ơn thầy giáo PGS,TS Huỳnh Quyết Thắng tận tình hướng dẫn giúp đỡ mặt kiến thức tài liệu để tơi hồn thành tốt luận văn Tôi xin cảm ơn thầy giáo, cô giáo Khoa Công nghệ thông tin - Trường Đại học Bách Khoa Hà Nội thầy, cô giáo tham gia giảng dạy, bảo, giúp đỡ học viên chúng tơi suốt khóa học Xin cảm ơn Ban lãnh đạo Công ty Cổ phần Công nghệ Tin học ESS tạo điều kiện để tơi hồn thành tốt khố học này.Cuối xin cảm ơn tất người gia đình bạn bè thân thiết - người tin tưởng, giúp đỡ q trình học tập cơng tác Hà Nội, tháng 11 năm 2009 Học viên Lê Huy Tuệ Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 11/2009 MỘT SỐ THUẬT NGỮ VIẾT TẮT STT Tên thuật Ý nghĩa ngữ CGI Common Gateway Interface (Hệ giao tiếp cổng vào chung) CNTT Công nghệ thông tin CSDL Cơ sở liệu HĐND Hội đồng nhân dân HTML Hypertext Markup Language (Ngôn ngữ đánh dấu siêu văn) LAN Mạng cục MVC Model-View-Controller NSD Người sử dụng OMG Object Management Group 10 PAC Presentation-Abstraction-Control 11 SGML Standard Generalized Markup Languag (Ngôn ngữ đánh dấu tiêu chuẩn mở rộng) 12 TTĐT Trang thông tin điện tử phục vụ điều hành 13 TTHC Thủ tục hành 14 TTTHDL Trung tâm tích hợp liệu tỉnh 15 UBND Uỷ ban nhân dân 16 UC Ca sử dụng 17 UML Unified Modeling Language (Ngôn ngữ mô hình hóa thống nhất) 18 W3C World Wide Web Conrotium 19 WAN Mạng diện rộng 20 XML eXtensible Markup Language (Ngôn ngữ Đánh dấu Mở rộng) Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 11/2009 DANH MỤC HÌNH VẼ STT Hình Tên Trang Hình 1.1 Mơ hình OSI tầng Hình 1.2 Mơ hình compiler ngơn ngữ Mocha 11 Hình 1.3 Mơ hình nhận dạng tiếng nói 11 Hình 1.4 diện rộng Hình 1.5 Mơ hình hệ thống thơng tin thành phố chạy mạng Hình 1.6 Số liệu bầu cử biểu diễn theo cách khác Tương tác Người – Máy việc nhập xem liệu 12 13 15 Hình 1.7 Kiến trúc hình agent PAC 16 Hình 1.8 Framework ứng dụng với hot spot 21 Hình 1.9 Mơ hình lớp B với phương thức M1(), M2() M3() 21 10 Hình 1.10 Mơ hình lớp B1 kế thừa lớp B viết lại phương thức M2() 22 11 Hình 1.11 Các góc nhìn UML 26 12 Hình 1.12 Một số nút biểu đồ 28 13 Hình 1.13 Một số đường biểu đồ 28 14 Hình 1.14 Phân loại biều đồ UML 2.0 28 15 Hình 1.15 Biểu đồ Ca sử dụng 31 16 Hình 2.1 Mơ hình chuyển đổi tài liệu XML thành HTML sử dụng XSLT 43 17 Hình 2.2 Mơ hình quan hệ hai lớp Person Employee 51 18 Hình 3.1 Mơ hình sử dụng chương trình CGI 65 19 Hình 3.2 Sự phân tầng mơ hình ứng dụng 67 20 Hình 3.3 Kiến trúc tổng thể framework 69 21 Hình 3.4 Cấu tạo chung ứng dụng circuit 71 Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 11/2009 22 Hình 3.5 Ví dụ form nhập liệu thơng tin cá nhân 73 23 Hình 3.6 Mơ hình sử dụng XML tạo form tự động 74 24 Hình 3.7 Tạo chuỗi XML liệu để lưu trữ 77 25 Hình 3.8 Ví dụ form nhập liệu thơng tin cá nhân 78 26 Hình 3.9 Quy trình nghiệp vụ xử lý hồ sơ TTHC 83 27 Hình 3.10 Mơ hình chức tổng thể hệ thống quản lý TTHC 85 28 Hình 3.11 Mơ hình chức tiếp nhận hồ sơ trả kết 86 29 Hình 3.12 Mơ hình chức thụ lý hồ sơ 87 30 Hình 3.13 Mơ hình chức giao tiếp với cơng dân 88 31 Hình 3.14 Mơ hình chức trao đổi thơng tin 88 32 Hình 3.15 Mơ hình chức quản trị hệ thống 89 33 Hình 3.16 Cấu trúc thư mục chương trình EGATE 93 34 Hình 3.17 Quy trình hiển thị form cập nhật hồ sơ TTHC 95 35 Hình 3.18 Màn hình cập nhật TTHC Giải trợ cấp cho người cao tuổi 97 DANH MỤC BẢNG BIỂU STT Bảng Tên Trang Bảng 3.1 Chi tiết tầng mơ hình ứng dụng 67 Bảng 3.2 Danh sách TTHC áp dụng UBND cấp Huyện 80 Bảng 3.3 Chi tiết fuseaction file thực thi 92 Bảng 3.4 Chi tiết bảng T_ONEGATE_RECORD 94 Bảng 3.5 Danh sách thẻ XML khai báo form tiếp nhận TTHC 95 Luận văn thạc sỹ CNTT khóa 2007-2009 Trang Chương – Giải pháp thiết kế - Tên hộ kinh doanh - Địa điểm kinh doanh - Thuộc xã, phường - Ngành nghề kinh doanh - Vốn kinh doanh TTHC đăng ký kinh doanh hợp tác xã: Các thơng tin tiếp nhận bao gồm : - Hình thức hồ sơ (đăng ký lần đầu đăng ký thay đổi) - Thông tin người đại diện HTXH đứng tên đăng ký (tên, địa chỉ, số điện thoại, số CMT, …) - Tên hợp tác xã - Trụ sở giao dịch - Ngành nghề kinh doanh - Vốn điều lệ (tiền tệ, vàng, quyền sở hữu công nghiệp, tài sản khác) - Thời gian hoạt động - Biện pháp bảo vệ môi trường - Số lượng xã viên TTHC đề nghị chuyển nhượng quyền sử dụng đất: Các thông tin tiếp nhận bao gồm : - Thông tin bên chuyển nhượng (tên, địa chỉ, số điện thoại, số CMT, ngày cấp CMT, nơi cấp CMT người chuyển nhượng vợ (chồng) có…) - Số giấy chứng nhận quyền sử dụng đất - Nơi cấp giấy chứng nhận quyền sử dụng đất - Ngày cấp giấy chứng nhận quyền sử dụng đất - Nguồn gốc đất - Thông tin bên nhận chuyển nhượng (tên, địa chỉ, số điện thoại, số CMT, ngày cấp CMT, nơi cấp CMT người chuyển nhượng vợ (chồng) có…) - Diện tích đất chuyển nhượng (đất vườn, đất ở, đất khác) - Loại đất, hạng đất, đất số, tờ đồ số, thời hạn sử dụng đất, nguồn gốc đất Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 90 Chương – Giải pháp thiết kế TTHC xin trợ cấp xã hội: Các thông tin tiếp nhận bao gồm : - Thông tin người xin trợ cấp (tên, địa chỉ, số điện thoại, số CMT, ngày cấp CMT, nơi cấp CMT, …) - Thuộc đối tượng xin trợ cấp - Lý xin trợ cấp TTHC khiếu nại, tố cáo: Các thông tin tiếp nhận bao gồm : - Loại : Khiếu nại, Tố cáo - Hình thức KNTC : Có danh, Nặc danh - Thông tin cá nhân người gửi khiếu nại, tố cáo: Họ tên, thành phần, Địa chỉ, Thuộc xã-thị trấn, Số điện thoại, Số điện thoại di động, Số CMT, Ngày cấp CMT, Nơi cấp CMT, - Tên cá nhân tổ chức bị tố cáo - Đối tượng : Tập thể, cá nhân - Thuộc cấp : Chính quyền sở, cấp ngành - Nội dung khiếu nại, tố cáo - Thuộc lĩnh vực Như hồ sơ TTHC phong phú số lượng nội dung.Vấn đề đặt phải đảm bảo lưu trữ đầy đủ thông tin cho loại TTHC phục vụ cơng tác tìm kiếm, thống kê, báo cáo Đồng thời đảm tính khả thi việc xây dựng khả bảo trì phát triển mở rộng hệ thống sau III.3.2 Cài đặt Để minh họa cho hoạt động framework sử dụng XML phát triển ứng dụng ta mô tả UC tốn : UC – Tiếp nhận hồ sơ UC cho phép người sử dụng Cán tiếp nhận thực chức sau : - Xem danh sách hồ sơ TTHC tiếp nhận - Xem chi tiết cập nhật hồ sơ TTHC tiếp nhận - Thêm hồ sơ TTHC - Xóa nhiều hồ sơ TTHC tiếp nhận Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 91 Chương – Giải pháp thiết kế Về mặt vật lý file thực chức tổ chức thư mục : “root/record/received” Về mặt logic chức truy cập theo địa URL sau (chương trình cài đặt máy local) : “http://localhost/ record/received/index.php” Chi tiết file sử dụng tương ứng với fuseaction sau : Ý nghĩa Fuseaction/File DISPLAY_ALL_RECORD Xem danh sách hồ sơ TTHC tiếp nhận qry_all_record.php Truy vấn lấy danh sách TTHC tiếp nhận dsp_all_record.php Hiển thị danh sách TTHC tiếp nhận DISPLAY_SINGLE_RECORD Xem chi tiết TTCH đưa hình thêm TTHC qry_single_record.php Truy vấn lấy thông tin chi tiết TTCH dsp_single_record.php Hiển thị thông tin chi tiết TTCH đưa hình thêm TTHC UPDATE_RECORD Thêm hồ sơ TTHC act_update_record.php Thực cập nhật thơng tin TTHC vào CSDL DELETE_RECORD Xóa nhiều hồ sơ TTHC tiếp nhận act_delete_record.php Thực xóa nhiều hồ sơ TTCH tiếp nhận Bảng 3.3 - Chi tiết fuseaction file thực thi Thực tế file “qry_all_record.php”, “dsp_all_record.php”, “qry_single_record.php”, “dsp_single_record.php” sử dụng lại nhiều lần chức khác nên ta đặt file vào thư mục “root/record/record-lib” Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 92 Chương – Giải pháp thiết kế Hình 3.16 - Cấu trúc thư mục chương trình EGATE Về mặt thiết kế sở liệu, bảng liệu hồ sơ thủ tục hành bảng liệu Ta sử dụng loại liệu XML để tùy biến loại liệu khác Cụ thể sử dụng bảng liệu có tên T_ONEGATE_RECORD để lưu tồn thơng tin chung hồ sơ TTHC Trong với thơng tin bắt buộc loại hồ sơ phải có : loại thủ tục hành chính, ngày tiếp nhận hồ sơ, ngày hẹn trả kết quả, người tiếp nhận hồ sơ, đơn vị người Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 93 Chương – Giải pháp thiết kế thụ lý hồ sơ, số hồ sơ, tình trạng hồ sơ, vv… tổ chức lưu trữ cột tường minh với kiểu liệu tương ứng Cịn loại liệu khác mang tính đặc trưng loại hồ sơ tổ chức lưu trữ dạng liệu XML vào cột có kiểu liệu XML Ntext Chi tiết cấu trúc bảng sau : Tên cột STT Kiểu liệu Ý nghĩa [PK_RECORD] int Khóa bảng [FK_RECORDTYPE] Nvarchar(100) Id loại hồ sơ [FK_RECEIVER] int Id người tiếp nhận [FK_HANDLER] int Id cán thụ lý [FK_HANDLE_LEADER] Int Id lãnh đạo phòng [FK_APPROVE_LEADER] int Id lãnh đạo đơn vị [C_CODE] Nvarchar(100) Số hồ sơ [C_INPUT_DATE] Datetime Ngày cập tạo liệu [C_RECEIVED_DATE] Datetime Ngày nhận hồ sơ 10 [C_APPOINTED_DATE] Datetime Ngày hẹn trả kết 11 [C_SENT_DATE] Datetime Ngày chuyển giải 12 [C_VALID_DATE] Datetime Hạn trả kết 13 [C_CURRENT_STATUS] Nvarchar(100) Tình trạng hồ sơ 14 [C_RECEIVED_RECORD_XML_DATA] Ntext Các liệu khác hồ sơ lưu trữ dạng chuỗi XML 15 [C_LICENSE_XML_DATA] Ntext Dữ liệu trả kết hồ sơ lưu trữ dạng chuỗi XML 16 [C_RESULT_DATE] Datetime Ngày trả kết 17 [C_RESULT_RECEIVER] Nvarchar(100) Người nhận kết 18 [C_DETAIL_STATUS] int Tình trạng chi tiết hồ sơ 19 [FK_UNIT] Id đơn vị 20 [C_LEADER_IDEA] Ý kiến lãnh đạo Bảng 3.4 - Chi tiết bảng T_ONEGATE_RECORD Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 94 Chương – Giải pháp thiết kế Trong bảng ta có hai cột để lưu liệu XML C_RECEIVED_RECORD_XML_DATA C_LICENSE_XML_DATA C_RECEIVED_RECORD_XML_DATA lưu trữ loại liệu đặc trưng cho thủ tục hành khâu tiếp nhận C_LICENSE_XML_DATA lưu trữ loại liệu đặc trưng cho thủ tục hành trả kết Các loại liệu lưu CSDL dạng Ntext (với SQL Server 2000) với SQL Server 2005 trở ta sử dụng loại XML Mỗi loại hồ sơ TTHC tương ứng có file XML khai báo từ form nhập liệu đến hình hiển thị TTHC thuộc loại Các file XML gọi file cấu hình đặt thư mục thư mục XML tên thư mục trùng với mã TTHC Trường hợp với TTHC “đơn giản” sử dụng file cấu hình thư mục mặc định “XML\OTHER” Tạo lập hồ sơ TTHC Lấy file cấu hình theo mã TTHC Tồn file cấu hình? Khơng Lấy file cấu hình mặc định Có Hiển thị hình cho phép cập nhật thơng tin TTHC Hình 3.17 – Quy trình hiển thị form cập nhật hồ sơ TTHC Ví dụ với TTHC Giải chế độ trợ cấp cho người cao tuổi nội dung file XML cấu hình form nhập liệu thông tin đơn : Tên thẻ Dữ liệu Tên thẻ / tên cột lưu trữ XML liệu Luận văn thạc sỹ CNTT khóa 2007-2009 Ý nghĩa Trang 95 Chương – Giải pháp thiết kế loai_ho_so false FK_RECORDTYPE Loại hồ sơ ma_ho_so false C_CODE Mã hồ sơ ngay_tiep_nhan false C_RECEIVED_DATE Ngày tiếp nhận ngay_hen false C_APPOINTED_DATE Ngày hẹn (trả kết quả) registor_name true registor_name Họ tên Ơng (bà) registor_sex true registor_sex Giới tính registor_birthday true registor_birthday Ngày sinh registor_nation true registor_nation Dân tộc registor_address true registor_address Nguyên quán registor_card_id true registor_card_id Số CMT registor_card_place true registor_card_place Nơi cấp registor_card_date true registor_card_date Ngày cấp registor_address_resident true registor_address_resident Địa thường trú registor_province true registor_province Thuộc xã, thị trấn registor_tel true registor_tel Số điện thoại cố định registor_policy true registor_policy Tôi thuộc đối tượng registor_certify_number true registor_certify_number Giấy chứng nhận số include_document true include_document Các tài liệu kèm theo đơn doc_another true doc_another Nội dung tài liệu khác status_record true status_record Trạng thái hồ sơ(Chọn: Ứng với nộp thiếu hồ sơ; Không chọn: Ứng với nộp đủ hồ sơ) get_minus_documnent true get_minus_documnent Lấy danh sách giấy tờ thiếu từ danh sách tài liệu kèm theo đơn minus_documnent true minus_documnent Giấy tờ thiếu Bảng 3.5 – Danh sách thẻ XML khai báo form tiếp nhận TTHC Kết với file XML khai báo nội dung ta hình cập nhật thơng tin cho hồ sơ TTHC Giải chế độ trợ cấp cho người cao tuổi sau : Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 96 Chương – Giải pháp thiết kế Hình 3.18 - Màn hình cập nhật TTHC Giải trợ cấp cho người cao tuổi Với form nhập liệu thơng tin thủ tục hành trên, sau cán tiếp nhận nhập liệu xong, nhấn vào nút “Cập nhật” toàn liệu gửi lên server phần liệu XML thông tin TTHC Dựa vào cách khai báo form nhập liệu TTHC ta thu chuỗi liệu XML sau : Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 97 Chương – Giải pháp thiết kế NGUYỄN ĐẮC LÃO NAM 8/9/1929 Kinh Hà Nội Xã Vạn Thọ VAN_THO 037876900 22/9/2000 Công an tỉnh Người già neo đơn 1234 TLKT_10_01,TLKT_10_02,TLKT_10_03,TLKT _10_04,TLKT_10_05 false Dữ liệu XML sau với liệu khác lưu vào CSDL III.4 Kết chương Tóm lại chương tập chung vào trình bày giải pháp xây dựng framework phát triển ứng dụng quản lý đồng thời đưa tốn ứng dụng điển hình áp dụng framework để cài đặt Framework xây dựng dựa kiến trúc mẫu theo phân loại Presentation-Abstraction-Control thuộc hệ tương tác Với kiến trúc cho phép ta giải tốn địi hỏi tương tác liên tục người với máy Framework dùng phương pháp luận Fusebox để thể Bao gồm quy định phương pháp phân tích thiết kế, tổ chức mã nguồn, quy định đặt tên, … Ngôn ngữ sử dụng PHP ngôn ngữ mã nguồn mở phổ biến để phát triển web Phần cuối chương đề cập đến toán xây dựng hệ thống hành cơng cửa cho UBND cấp Huyện Với framework xây dựng toán cài đặt thành công Đặc biệt giải vấn đề mấu chốt tốn tính đa dạng phức tạp thủ tục hành Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 98 Kết luận KẾT LUẬN Nhiệm vụ hồn thành - Trình bày cách hệ thống vấn đề sở lý thuyết liên quan tới việc xây dựng Framework phát triển ứng dụng, vấn đề Mẫu, Framework UML o Mẫu : Phương tiện quan trọng cho việc xây dựng kiến trúc phần mềm chất lượng Mẫu giúp nắm bắt tri thức có chun gia sử dụng để tìm giải pháp cho toán lặp lặp lại thiết kế phần mềm o Framework : Các khái niệm framework, phân biệt framework hộp trắng framework hộp đen Mỗi loại framework có ưu nhược điểm riêng thường ban đầu người ta thiết kế framework hộp trắng bổ sung framework hộp đen tùy theo nhu cầu sử dụng hướng tới framework cung cấp cho người phát triển môi trường phát triển trực quan o UML : Các khái niệm UML bao gồm góc nhìn biểu đồ UML UML đưa góc nhìn với hệ thống Các góc nhìn khơng phải thành phần UML có giá trị mơ hình hóa xem mơ hình Các mơ hình UML có dạng biểu đồ - Giới thiệu XML kỹ thuật áp dụng XML phát triển ứng dụng Trên sở phân tích thực trạng phát triển phần mềm nay, rút yêu cầu xây dựng framework phát triển phần mềm Đó phải framework việc đảm bảo sử dụng triệt để kỹ thuật truyền thống đóng gói, ẩn thơng tin, modul hóa, … cịn đặc biệt trọng đến tính chất phi chức khả tái sử dụng, khả bảo trì, nâng cấp XML công cụ hữu hiệu giúp ta thực việc Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 99 Kết luận - Trình bày giải pháp xây dựng Framework phát triển ứng dụng sử dụng kỹ thuật XML Framework xây dựng dựa kiến trúc mẫu theo phân loại Presentation-Abstraction-Control thuộc hệ tương tác Bằng kỹ thuật XML, framework hỗ trợ mạnh việc tạo form động lưu trữ liệu động Các đóng góp khoa học - Về mặt nghiên cứu tổng hợp lý thuyết : Tổng hợp lý thuyết ứng dụng Mẫu, Framework, UML, XML o Tổng hợp mẫu từ rút quan hệ phân loại mẫu trình phát triển ứng dụng phần mềm o Phân tích ưu nhược điểm loại Framework phát triển phần mềm để có định hướng tốt xây dựng framework o Nghiên cứu ứng dụng XML việc xây dựng Framework phát triển phần mềm - Về mặt triển khai thực nghiệm : Xây dựng thành công Framework gồm ba tầng : Tầng biểu diễn, tầng logic tầng tích hợp liệu Giao diện tầng đề xuất đặc tả XML Framework áp dụng triển khai nhiều hệ thống ứng dụng : o Hệ thống quản lý TTHC cho UBND cấp Huyện, Thị, Sở ban ngành o Hệ thống quản lý Văn Hồ sơ công việc o Hệ thống quản lý đơn thư khiếu nại tố cáo o Hệ thống quản lý bảo hiểm Các triển khai mặt lý thuyết thực tế chứng minh tính hợp lý mơ hình framework đề xuất Hướng phát triển luận văn - Hoàn thiện bố sung thư viện khai báo đối tượng - Tạo công cụ hỗ trợ khai báo form trực quan vừa làm đơn giản hóa cơng việc khai báo form vừa tránh lỗi tầm thường khai báo tài liệu XML Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 100 Kết luận - Nghiên cứu sử dụng sở liệu XML nhằm tận dụng nhiều khả lưu trữ khả truy vấn liệu XML - Tổng quát hóa toán, xây dựng mẫu cho phép áp dụng triển khai mơ hình kiến trúc khác ngơn ngữ khác Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 101 Tài liệu tham khảo TÀI LIỆU THAM KHẢO Tiếng Việt 1) Nguyễn Văn Ba (2008), Phát triển hệ thống hướng đối tượng với UML 2.0 C++, Nhà xuất Đại học Quốc gia Hà Nội Tiếng Anh 2) Andrew Stopford (2002), PHP Programming for Windows, Sams 3) Ashish Wilfred, Meeta Gupta, Kartik Bhatnagar (2002), PHP Professional Projects, Course Technology PTR 4) Bernd Oestereich (2002), Developing software with UML Second edition, English edition © Pearson Education Ltd 5) Chelsea Valentine, Lucinda Dykes, Ed Tittel (2002), XML Schema, Sybex Inc 6) David Hunter, Jeff Rafter, Joe Fawcett, Eric van der Vlist, Danny yers, Jon Duckett, Andrew Watt, and Linda McKinnon (2007), Beginning XML, 4th Edition, Wiley Publishing, Inc 7) Doug Tidwell (2008), XSLT, O’Reilly Media, Inc 8) Erich Gamma (1995), Design Patterns : elements of Reusable ObjectOriented Software, Addison-Wesley 9) Frank Buschmann, Regine Meuier, Hans Rohnert, Peter Sommeriad, Michael Stal (1996), Pattern-Oriented Software Architecture, Volume – A system of patterns , John'Wiley & Sons Ltd 10) Jason Gerner, Morgan Owens, Elizabeth Naramore, Matt Warden, Jeremy Stolz (2006), Professional LAMP : Linux, Apache, MySQL and PHP Web Development, Wiley Publishing, Inc 11) Leon Atkinson (2000), Core PHP Programming: Using PHP to Build Dynamic Web Sites (2nd Edition), Pearson Education 12) Mark Birbeck, Jason Diamond, Jon Duckett, Oli Gauti Gudmundsson, Pete Kobak, Evan Lenz, Steven Livingstone, Daniel Marcus, Stephen Mohr, Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 102 Tài liệu tham khảo Nikola Ozu, Jon Pinnock, Keith Visco, Andrew Watt, Kevin Williams, Zoran Zaev (2001), Professional XML, 2nd Edition, Wrox Press Ltd 13) Mitch Amiano, Conrad D’Cruz, Kay Ethier, Michael D Thomas (2006), XML Problem Design Solution, Wiley Publishing, Inc 14) Peter Brown, European Parliament (2003), Information Architecture with XML, John Wiley & Sons Ltd 15) R Allen Wyke, Andrew Watt (2002), XML Schema Essentials, John Wiley & Sons, Inc 16) Raymond Camden, Arman Danesh, Hal Helms, Charles Mohnike, Selene Bainum, Guy Rish, John Colasante, William Baum, Shlomy Gantz, Kenneth N Fricklas, Matt Liotta, Jen deHaan, Peter deHaan (2003), ColdFusion MX Developer’s Handbook, Sybex Inc 17) Scott Klein (2006), Professional SQL Server™ 2005 XML, Wiley Publishing, Inc 18) Simone Nasser Matos, Clovis Torres Fernandes(2006), “Early Definition of Frozen and Hot Spots in the Development of Domain Frameworks”, Proceedings 14th FSE 06 19) Steve Nelson, Craig Girard (2000), Fusebox : Methodology and Techniques, JM Publishers, Inc 20) Vikram Vaswani (2002), XML and PHP, New Riders Publishing 21) W Pree (1994), “Meta Patterns - A Means For Capturing the Essentials of Reusable Object-Ortented Design”, Proceedings of ECOOP '94, pp 150-162 22) Wolfgang Pree (1997), “Essential Framework Design Patterns”, Object Magazine, SIGS Publications, New York City Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 103 Tóm tắt Luận văn trình bày gồm chương : Chương 1-Cơ sở lý thuyết mẫu, framework UML phát triển phần mềm : Đề cập đến vấn đề lý thuyết bao gồm Mẫu, Framework, UML Mẫu : Mẫu mô tả vấn đề thường xuyên xuất thiết kế, triển khai phần mềm giải pháp cho theo cách sử dụng lại Mẫu chia thành ba nhóm : Mẫu kiến trúc-Biểu diễn lược đồ tổ chức cấu trúc tảng cho hệ phần mềm Mẫu thiết kế- Cung cấp phối hợp để cải tiến hệ hay thành phần hệ phần mềm mối quan hệ chúng Cuối Idiom - Trường hợp cụ thể mẫu mức thấp cho ngơn ngữ lập trình Framework : Framework định nghĩa kiến trúc họ hệ cung cấp khối tạo nên chúng Các khái niệm framework, phân biệt framework hộp trắng framework hộp đen UML : UML đưa góc nhìn với hệ thống Các góc nhìn khơng phải thành phần UML có giá trị mơ hình hóa xem mơ hình Các mơ hình UML có dạng biểu đồ Chương – XML khả ứng dụng xây dựng Framework dựa Web Chương tập trung vào trình bày vấn đề XML, vấn đề phát triển phần mềm nói chung từ rút việc khai thác sử dụng XML xây dựng Framework phát triển ứng dụng Chương - Giải pháp thiết kế Trình bày giải pháp xây dựng framework ứng dụng dựa web cụ thể đồng thời mô tả tốn thực tế điển hình áp dụng framework xây dựng để cài đặt Framework xây dựng dựa kiến trúc mẫu theo phân loại PresentationAbstraction-Control thuộc hệ tương tác bao gồm ba tầng : tầng biểu diễn, tầng logic tầng tích hợp liệu Trong tầng biểu diễn tầng logic xây dựng ý tưởng phương pháp tổ chức mã nguồn fusebox Tầng tích hợp liệu xây dựng với việc sử dụng thư viện mã nguồn mở ADODB cho PHP Từ khóa : Framework, Web, XML, Partern, UML Luận văn thạc sỹ CNTT khóa 2007-2009 ... áp dụng kỹ thuật XML việc xây dựng framework ứng dụng dựa web Mục tiêu luận văn đưa framework ứng dụng dựa web hỗ trợ mạnh cho người phát triển trình xây dựng ứng dụng trình bảo trì, nâng cấp ứng. .. XML xây dựng Framework phát triển ứng dụng Chương - Giải pháp thiết kế trình bày giải pháp xây dựng framework ứng dụng dựa web cụ thể đồng thời mơ tả tốn thực tế điển hình áp dụng framework xây. .. khai xây dựng hệ phần mềm Luận văn thạc sỹ CNTT khóa 2007-2009 Trang 32 Chương – XML khả ứng dụng xây dựng Framework dựa Web II CHƯƠNG – XML VÀ KHẢ NĂNG ỨNG DỤNG XÂY DỰNG FRAMEWORK DỰA WEB II.1