Trước tiên ta tiến hành tạo dựng một trang quản lý công văn nội bộ tương tự một chương trình check mail của yahoo với cơ sở dữ liệu chuẩn được quản lý bằng SQL Sever 2005, và sử dụng ngô[r]
(1)ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel (84-511) 736 949, Fax (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : XÂY DỰNG HỆ THỐNG QUẢN LÝ CÔNG VĂN CƠ QUAN BAN NGÀNH Mã số : 06TLT-212 Ngày bảo vệ : 10/06/2008 SINH VIÊN : NGUYỄN VIỆT TUẤN LỚP : 06TLT CBHD : TS NGUYỄN THANH BÌNH ĐÀ NẴNG, 06/2008 Lop1.net (2) LỜI CẢM ƠN Tôi chân thành cảm ơn cán công nhân viên Trung Tâm Công Nghệ Thông Tin Phú Yên, là anh Nguyễn Chí Sỹ phó giám đốc Trung Tâm Công Nghệ Thông Tin Phú Yên đã gần gủi và tận tình giúp đỡ tôi suốt thời gian làm luận văn tốt nghiệp Ngoài tôi còn chân thành cảm ơn Thầy TS Nguyễn Thanh Bình thời gian qua đã thường xuyên quan tâm, có buổi gặp mặt trao đổi bổ ích, giúp tôi có thêm số kiến thức cần thiết kịp thời bổ sung kiến thức còn thiếu bài luận văn tốt nghiệp này Một lần “em xin cảm ơn thầy” Lop1.net (3) LỜI CAM ĐOAN Tôi xin cam đoan : Những nội dung luận văn này là tôi thực hướng dẫn trực tiếp thầy TS Nguyễn Thanh Bình và các cán Trung tâm Công Nghệ Thông Tin Phú Yên trực tiếp là ThS Nguyễn Chí Sỹ Mọi tham khảo dùng luận văn trích dẫn tài liệu: phân tích và thiết kế Hệ Thống Thông Tin theo UML TS Dương Kiều Hoa – Tôn Thất Hoà An, Beginning ASP.NET 2.0 in C# 2005 From Novice to Professional - Hew MacDonald Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi xin chịu hoàn toàn trách nhiệm Sinh viên, Nguyễn Việt Tuấn Lop1.net (4) MỤC LỤC CƠ SỞ LÝ THUYẾT .2 I C# và kiến trúc NET I.1 Tổng quan .2 I.2 Mối quan hệ C# và NET I.3 Common Language Runtime I.4 Intermediate Language I.5 Các lớp NET Framework I.6 Tạo các ứng dụng NET C# II Truy cập sở liệu với NET II.1 Tổng quan ADO.NET II.2 Kiến trúc ADO.NET .7 III Webservice và việc phát triển dịch vụ Web PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .16 I II III IV V Mô tả hệ thống 16 I.1 Đặc tả yêu cầu .16 I.2 Mô tả hệ thống 16 Mô hình hóa Use Case 17 II.1 Các tác nhân hệ thống 17 II.2 Xác định các Use Case 18 Mô hình quan niệm .24 Biểu đồ .25 IV.1 Biểu đồ hành vi “Đăng nhập” 25 IV.2 Biểu đồ hành vi “Quản lý Tin” 26 IV.3 Biểu đồ hành vi “Quản lý User” 27 IV.4 Biểu đồ hành vi “Quản lý Loại công văn” 28 IV.5 Biểu đồ hành vi “Quản lý Công văn” 29 Xây dựng biểu đồ lớp chi tiết .30 XÂY DỰNG CHƯƠNG TRÌNH 32 I Kết Demo chương trình .32 I.1 Giao diện chính chương trình 32 I.2 Giao diện Xử lý công việc 33 I.3 Giao diện Văn đến 34 I.4 Giao diện Văn 35 I.5 Giao diện Thông báo 36 II Các giải pháp đã ứng dụng hệ thống 36 II.1 Khả kết nối sở liệu .36 II.2 Khả ứng dụng trên thực tế 43 KẾT LUẬN 44 Lop1.net (5) CHƯƠNG CƠ SỞ LÝ THUYẾT I I.1 C# và kiến trúc NET Tổng quan ASP.NET là viết tắt cụm từ Active Server Pages NET (.NET đây là NET framework) ASP.NET là phương pháp tổ chức hay khung tổ chức (framework) để thiết lập các ứng dựng cho mạng dựa trên CLR (Common Language Runtime) không phải là ngôn ngữ lập trình Tóm lại ASP.NET là công nghệ Giữa ASP.NET và ASP cổ điển có cùng tên họ ta không thể đánh đồng chúng với ASP.NET cung cấp phương pháp làm việc hoàn toàn khác ASP Mặc dù ASP.NET và ASP có thể sống chung mái nhà IIS ASP có thể hỗ trợ đến 25 ngôn ngữ Lập trình : C#, VB.NET,… Trong đó C# là ngôn ngữ lập trình mới, và biết đến với hai lời chào: Nó thiết kế riêng để dùng cho Microsoft's NET Framework (Một khá mạnh cho phát triển, triển khai, thực và phân phối các ứng dụng) Nó là ngôn ngữ hoàn toàn hướng đối tượng thiết kế dựa trên kinh nghiệm các ngôn ngữ hướng đối tượng khác I.2 Mối quan hệ C# và NET C# xem là trình biên dịch hướng NET, nghĩa là tất các mã C# luôn luôn chạy trên trên môi trường NET Framework Sự phụ thuộc C# với NET thể qua: Cấu trúc và các lập luận C# phản ánh các phương pháp luận NET ngầm bên Trong nhiều trường hợp, các đặc trưng C# chí định dựa vào các đặc trưng NET, thư viện lớp sở NET Một điều quan trọng chúng ta nên biết C# là ngôn ngữ độc lập Nó thiết kế để có thể sinh mã đích môi trường NET, nó không phải là phần NET có vài đặc trưng hỗ trợ NET có đặc trưng C# hỗ trợ mà NET không hỗ trợ (chẳng hạn quá tải toán tử) I.3 Common Language Runtime Trung tâm NET frameword.rk là môi trường thời gian chạy, gọi là Common Language Runtime (CLR) NET runtime Mã các điều khiển CLR thường là mã có quản Lop1.net (6) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành Tuy nhiêu, trước thực thi CLR, mã phát triển C# (hoặc các ngôn ngữ khác) cần phải biên dịch.Quá trình biên dịch NET xảy theo hai bước: Dịch mã nguồn thành Microsoft Intermediate Language (MS-IL) Dịch IL thành mã cụ thể CLR Mới nhìn có vẻ dài dòng Nhưng thật sự, tiến trình dịch hai mức là cần thiết, vì trạng thái Microsoft Intermediate Language (mã có quản) là chìa khóa cung cấp nhiều lợi ích NET Các lợi ích mã có quản: Độc lập nền, Sự cải tiến thực thi, Tương hoạt các ngôn ngữ I.4 Intermediate Language Intermediate Language hoạt động là chất NET Framework Là lập trình viên C#, chúng ta nên biết mã C# luôn dịch sang Intermediate Language trước nó thực thi (thật vậy, trình biên dịch C# dịch sang mã có quản) Chúng ta hãy cùng khám phá các tính chính IL, bất kì ngôn ngữ nào hướng NET hỗ trợ các đặc tính chính IL Những đặc tính chính Intermediate Language đó là: Hướng đối tượng và dùng interfaces Sự tách biệt kiểu giá trị và kiểu tham chiếu Định kiểu mạnh Quản lỗi thông qua các ngoại lệ Sự dụng các thuộc tính I.5 Các lớp NET Framework Có lẽ lợi ích lớn viết mã có quản, ít là nhà phát triển, đó là bạn có thể sử dụng thư viện lớp sở NET Thư viện lớp sở NET là tập hợp lớn các lớp mã có quản viết Microsoft, lớp này cho phép bạn thao tác nhiều các tác vụ sẵn có Windows Bạn có thể tạo các lớp mình từ các lớp có sẵn thư viện lớp sở NET dựa trên chế thừa kế đơn Thư viện lớp sở NET trực quan và dễ sử dụng Ví dụ, để tạo tiến trình mới, bạn đơn giản gọi phương thức Start() lớp Thread Để disable TextBox, bạn đặt thuộc tính Enabled đối tượng TextBox là false Thư viện này thiết kế để dễ xài là Visual Basic và Java Tất nhiên là nó dễ sử dụng các lớp C++: các vỏ bọc ngoài các hàm API thô GetDIBits(), RegisterWndClassEx(), và IsEqualIID() Mặt khác, nhà phát triển C++ luôn dễ dàng truy cập đến các API, ngược lại nhà phát triển Visual Basic và Java đã bị giới hạn thao tác hệ thống mà Lop1.net (7) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành ngôn ngữ đã ngôn ngữ đã cung cấp sẵn Cái thư viện lớp sở NET là kết hợp tính đơn giản các thư viện Visual Basic và Java với hầu hết các đặc tính các hàm Windows API Có nhiều đặc tính Windows không sẵn có các lớp thư viện NET, trường hợp đó bạn cần phải gọi các hàm API, đặc tính này thường là các đặc tính lạ, ít sử dụng Những đặc tính thông dụng đã hỗ trợ đầy đủ thư viện lớp NET Và bạn muốn gọi hàm API, NET gọi là "platform-invoke", chế này luôn bảo đảm tính đúng đắn kiểu liệu, vì thao tác này không khó việc gọi trực tiếp từ mã C++, nó hỗ trợ cho C#, C++, và VB.NET WinCV, tiện ích Windows-based, bạn có thể dùng để tham khảo các lớp, cấu trúc, giao diện, kiểu liệt kê thư viện NET base class Một cách tổng quát NET base classes bao gồm các vấn đề: Các đặc tính lõi cung cấp IL Hỗ trợ Windows GUI và controls Web Forms Data Access Directory Access File system và registry access Networking và web browsing NET attributes và reflection Truy xuất vào hệ điều hành Windows COM interoperability Một cách tình cờ, hầu hết các thư viện lớp sở NET viết C#! I.6 Tạo các ứng dụng NET C# C# có thể dùng để tạo các ứng dụng console: các ứng dụng văn chạy trên DOS window Hầu bạn tạo các ứng dụng console cần kiểm tra các thư viện lớp, cho các tiến trình daemon Unix/Linux Tất nhiên, bạn có thể dùng C# để tạo các ứng dụng dùng cho các công nghệ tương thích NET Trong phần này, chúng ta xem qua các kiểu ứng dụng khác có thể tạo C# I.6.1 Tạo các ứng dụng ASP.NET ASP là công nghệ Microsoft dùng để tạo các trang web có nội dung động Một trang ASP thực chất là file HTML có nhúng các khối server-side VBScript hay JavaScript Khi trình duyệt khách yêu cầu trang ASP page, web server sinh mã HTML, xử lí các server-side script chúng đến Thường thì các script truy cập vào sở liệu để lấy liệu, và biểu diễn trên trang HTML ASP là cách đơn giản để tạo các ứng dụng browser-based Lop1.net (8) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành ASP tất nhiên có vài hạn chế Trước tiên, các trang ASP trở nên chậm vì mã server-side thông dịch thay vì biên dịch Thứ hai, các file ASP khó bảo trì vì chúng không có cấu trúc; mã server-side ASP và HTML trộn lẫn với Thứ ba, ASP đôi kho phát triển nó không quan tâm đến bẫy lỗi và kiểm tra kiểu Cụ thể, bạn dùng VBScript và muốn bẫy lỗi trên các trang bạn, bạn phải dùng câu lệnh On Error Resume Next, và cho phép tất các thành phần gọi thông qua Err.Number để tất tốt I.6.2 Các đặc tính ASP.NET Trước tiên, và có lẽ là quan trọng nhất, các trang ASP.NET là các trang có cấu trúc Có nghĩa là trang là thực tế là lớp thừa kế từ lớp NET System.Web.UI.Page, và có thể ghi đè tập các phương thức dùng thời gian sống trang web (bạn hãy tưởng tượng kiện này là anh em bà với các kiện OnApplication_Start và OnSession_Start file global.asa ASP cũ.) Bởi vì bạn có thể chuyển các thao tác trang thành các kiện sáng nghĩa hơn, chính vì thể mà các trang ASP.NET dễ hiểu Một điểm mạnh khác là các trang ASP.NET có thể tạo VS.NET, cùng chung môi trường với các thành phần luận lí và liệu dùng các trang web này Một nhóm đề án VS.NET, solution, chứa tất các file liên quan đến ứng dụng Hơn bạn có thể bẫy lỗi các trang ASP bạn trình thiết kế; trước đây, thật là khó khăn để có thể cấu hình InterDev và các đề án web server để thực bẫy lỗi Rõ ràng, đặc tính ASP.NET's code-behind giúp các bạn có thể dễ dàng cấu trúc trang web ASP.NET cho phép bạn tách biệt các chức server-side trang thành lớp, biên dịch lớp đó thành DLL, và đặt DLL đó vào thư mục bên phần HTML Một code-behind chi phối đỉnh trang web tương đương với file DLL nó Khi trình duyệt yêu cầu trang, web server phát các kiện lớp page's code-behind DLL Cuối cùng không kém phần quan trọng, ASP.NET thật đáng chú ý với khả tăng cường thực thi Ngược lại với các trang ASP thông dịch cho yêu cầu, web server lưu giữ lại các trang ASP.NET sau quá trình biên dịch Nghĩa là các yêu cầu sau trang ASP.NET thực thi nhanh trang đầu tiên I.6.3 Tạo các Windows Form Mặc dù C# và NET thiết kế để phát triển web, chúng hỗ trợ mạnh mẽ cho cái gọi là ứng dụng "fat client", các ứng dụng có thể cài đặt trên máy người dùng cuối Hỗ trợ này gọi là Windows Forms Một Windows Form là câu trả lời NET cho VB Form Dùng để thiết kế giao diên window sinh động, bạn đơn giản kéo các control từ vào trên Windows Form Để xác định cách xử window, bạn viết các thủ tục quản lí kiện cho form controls Một đề án Windows Form dịch thành EXE phải cài đặt môi trường máy tính người dùng cuối Giống các kiểu đề án NET khác, đề án Windows Form hỗ trợ cho VB.NET và C# Lop1.net (9) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành I.6.4 Windows Controls Mặc dù Web Forms và Windows Forms phát triển theo cùng cách, bạn dùng các loại khác controls để định vị chúng Web Forms dùng Web Controls, và Windows Forms dùng Windows Controls Một Windows Control là ActiveX control Đằng sau thực thi Window control, là biên dịch sang DLL để có thể cài đặt trên máy khách Thật vậy, NET SDK cung cấp tiện ích dùng để tạo vỏ bọc cho các ActiveX control, vì thể chúng có thể đặt Windows Forms Giống trường hợp này các Web Control, Windows Control tạo thành từ lớp khác System.Windows.Forms.Control I.6.5 Windows Services Một Windows Service là chương trình thiết kế để chạy trên Windows NT/2000/XP (không hỗ trợ trên Windows 9x) Các dịch vụ này hữu ích bạn muốn chương trình có thể chạy liên tục và sẵn sàng đáp ứng các kiện mà không cần người dùng phải khởi động Ví dụ World Wide Web Service trên các web server luôn lắng nghe các yêu cầu từ trình khách Thật dễ dàng để viết các dịch vụ C# Với thư viện lớp sở NET Framework sẵn có không gian tên System.ServiceProcess namespace chuyên dùng để tổ chức các tác vụ boilerplate kết hợp với các dịch vụ, ngoài ra, Visual Studio NET cho phép bạn tạo đề án C# Windows Service, với các mã nguồn ban đầu II Truy cập sở liệu với NET II.1 Tổng quan ADO.NET Hiện nay, ADO.NET là công nghệ truy xuất sở liệu hoàn toàn và mạnh ADO.NET hỗ trợ mạnh cho các ứng dụng phân tán, ứng dụng Internet, các ứng dụng đòi hỏi tốc độ và khối lượng người truy cập đồng thời lớn Giống hầu hết các thành phần NET Framework, ADO.NET không là vỏ bọc vài API sẵn có Nó giống ADO cái tên - các lớp và phương thức truy xuất liệu khác hoàn toàn ADO (Microsoft's ActiveX Data Objects) là thư viên các thành phần COM Các thành phần chủ yếu ADO là Connection, Command, Recordset, và các Field object Một connection có thể mở sở liệu, vài liệu chọn vào recordset, bao gồm các trường, liệu này sau đó có thể thao tác, cập nhập lên server, và connection cần phải đóng lại ADO giới thiệu disconnected recordset, cái dùng không muốn giữ kếp nối thời gian dài ADO.NET chứa hai không gian tên sơ liệu - cho SQL Server, và cái khác cho các sở liệu trình bày thông qua giao diện OLE DB Nếu sở liệu bạn chọn là phận OLE DB, bạn có thể dễ dàng kết nối với nó từ NET - cần dùng các lớp OLE DB và kết nối thông qua các driver sở liêu hành bạn Lop1.net (10) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành II.2 Kiến trúc ADO.NET Application NET ADO.NET 2.0 Sql/Oracle Provider OLEDB Provider Factory Provider ODBC Provider OLEDB ODBC SQL Native Oracle Native Native Library SQL Server Oracle Fox/Access,… Hình Kiến trúc ADO.NET Trong kiến trúc ADO.NET có hai thành phần chính đó là thành phần truy cập liệu và thành phần lưu trữ xử lý liệu Thành phần thứ là NET Framework Data Providers, thiết kế để thực các thao tác kết nối, gửi các lệnh xử lý đến sở liệu, thành phần này còn gọi với tên khác là lớp kết nối Trong ADO.NET, có đối tượng chính để xử lý phần kết nối và tương tác với liệu mà bạn bè phải thường xuyên làm việc là: Connection: cho phép kết nối đến các nguồn sở như: Oracle, SQL Server, ODBC và OLEDB Command: cho phép truy cập sở liệu và thực thi phát biều SQL hay thủ tục Store Procedure sở liệu, truyền tham số và trả liệu DataReader: đọc, dùng để đọc nhanh liệu nguồn theo chiều DataAdapter: điều phối hay cầu nối, dùng để chuyển liệu truy vấn cho các đối tượng lưu trữ và xử lý DataSet, DataTable DataAdapter chủ yếu thực các thao tác truy vấn (SELECT), thêm (INSERT), chỉnh sửa (UPDATE) và xóa (DELETE) Lop1.net (11) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành Thành phần thứ hai là DataSet xem Container dùng để lưu trữ đối tượng liên quan đến liệu DataTable, DataRelation, DataView đôi còn gọi là lớp không kết nối (Disconnectet Layer) Bạn có thể hình dung DataSet sở liệu hay Database thu nhỏ Trong DataSet, bạn có thể chứa các đối tượng bảng, View, ràng buộc, quan hệ Sở dĩ gọi là Disconnected Layer là toàn thông tin liệu đọc lần nhát và lưu vào DataSet hay các đối tượng liệu DataTable và quá trình kết nối chấm dứt Dữ liệu sau đó xử lý độc lập phía ứng dụng máy khách (client) Disconnected có thể xem là mô hình bắt buộc ADO.NET Bằng cách này, các ứng dụng có thể đảm bảo tài nguyên cho hệ thống và phục vụ số lượng kết nối lớn Sau đây là kiến trúc mô hình truy xuất liệu ADO.NET NET Framework Data Provider Connection DataSet Connection DataTableCollection SelectCommand Transaction DataTable DataRowCollection InsertCommand Command UpdateCommand Parameters DataColumnCollection ConstraintCollection DeleteCommand DataReader DataRelationCollection XML Database Hình Kiến trúc mô hình truy xuất liệu ADO.NET III Webservice và việc phát triển dịch vụ Web III.1.1 Định nghĩa service Theo định nghĩa dictionary.com : Service là ‘Work done for others as an occupation or business’ Định nghĩa này phù hợp với cách hiểu service Web sites Service có hai loại : Dịch vụ ứng dụng và dịch vụ hệ thống (Application and System Service ) Một Application Service thể hành động user duyệt thư email, hay kiểm tra tỷ số hối đoái… Một System Service thể yêu cầu kiến trúc hệ thống và quản lý bảo mật , lưu trữ và chịu lỗi, quản lý transaction hay messaging Lop1.net (12) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành Một Dịch vụ có hai đặc điểm chính : Interface và Registration Sử dụng Interface, Dịch vụ có thể gọi từ chương trình khác Một Service đăng ký Registry Các ví dụ công nghệ liên quan đến hệ thống hướng Dịch vụ (service-oriented system) là Remote Method Invocation (RMI), Jini, CORBA và Distributed Computing Environment (DCE) Một vấn đề tổng quát với service hệ thống là các client cần thiết rõ giao thức để yêu cầu các dịch vụ từ các hệ thống Web Service là hệ thống phát triển từ hệ thống hướng dịch vụ , dùng giao tiếp tổng quát để chuyển tải các message các hệ thống Một Web Service có thể mô tả là chức có thể trì trên web, và có thể gọi ứng dụng nào hay Dịch vụ nào Nó có thể là business application hay system function Một tập hợp các modular service có thể cung cấp cùng công ty hay nhiều cty khác mix và match lại để trở thành business process Lấy ví dụ đơn giản dễ nhận thấy webservice là hệ thống NET passport Hotmail Vấn đề đăng nhập trở nên đơn giản các web site giải webservice Web site tương tác với các site khác thông qua Web Service, điều này cho phép thông tin người dùng chia xẻ chúng Một user điền thông tin đăng nhập lần nhất, và có thể dùng nó cho Dịch vụ email, và dùng cùng login user cùng mật “accounting package service site” III.1.2 Tổng quan Web Service Dịch vụ web (tiếng Anh: Web service) là kết hợp các máy tính cá nhân với các thiết bị khác, các sở liệu và các mạng máy tính để tạo thành cấu tính toán ảo mà người sử dụng có thể làm việc thông qua các trình duyệt mạng Bản thân các dịch vụ này chạy trên các máy phục vụ trên Internet không phải là các máy tính cá nhân, có thể chuyển các chức nǎng từ máy tính cá nhân lên Internet Người sử dụng có thể làm việc với các dịch vụ thông qua loại máy nào có hỗ trợ Web Service và có truy cập Internet, kể các thiết bị cầm tay Do đó các Web Service làm Internet biến đổi thành nơi làm việc không phải là phương tiện để xem và tải nội dung Điều này đưa các liệu và các ứng dụng từ máy tính cá nhân tới các máy phục vụ nhà cung cấp dịch vụ Web Các máy phục vụ này cần trở thành nguồn cung cấp cho người sử dụng độ an toàn, độ riêng tư và khả nǎng truy nhập Các máy phục vụ ứng dụng là phần quan trọng các Web Service vì thường thì các máy phục vụ này thực các hoạt động ứng dụng phức tạp dựa trên chuyển giao người sử dụng và các chương trình kinh doanh hay các sở liệu tổ chức nào đó Một số nhà quan sát ngành công nghiệp này cho Web Service không thực là khái niệm và phản ánh phần không nhỏ khái niệm mạng máy tính vốn đã trở nên Lop1.net (13) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 10 quen thuộc nhiều nǎm qua Web Service chủ yếu dựa trên lời gọi thủ tục từ xa không chặt chẽ mà có thể thay các lời gọi thủ tục từ xa chặt chẽ, đòi hỏi các kết nối API phù hợp phổ biến Dịch vụ Web sử dụng XML không phải C hay C++, để gọi các quy trình Tuy nhiên các chuyên gia khác lại cho Web Service là dạng API dựa trên phần mềm trung gian, có sử dụng XML để tạo phần giao diện trên Java (J2EE) hay các server ứng dụng NET Giống các phần mềm trung gian, Web Service kết nối server ứng dụng với các chương trình khách hàng Hình Việc truyền thông Web service III.1.3 Cách tạo Web Service đơn giản Visual Studio 2005 : Chúng ta vào Add New Item Web Service add xuất giao diện Hình Tạo WebService Lop1.net (14) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 11 Hình Tạo WebService Lúc này ta trang Webservice đơn giản gồm file WebService.asmx và WebService.cs có nội dung sau: WebService.asmx <%@ WebService Language="C#" Class="WebService" %> CodeBehind="~/App_Code/WebService.cs" WebService.cs using using using using using System; System.Web; System.Collections; System.Web.Services; System.Web.Services.Protocols; /// <summary> /// Summary description for WebService /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] public class WebService : System.Web.Services.WebService { public WebService () { //Uncomment the following line if using designed components //InitializeComponent(); } [WebMethod] public string HelloWorld() { return "Hello World"; } } Lop1.net (15) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 12 Sau ta biên dịch trang trên ta có xuất giao diện Hình Trang web service sau chạy thử, Hình Cách thức mô tả liệu HelloWorld(), Hình Một phân tài liệu WSDL WebService, Hình Dữ liệu trả từ HelloWorld() trang XML Hình Trang web service sau chạy thử Hình Cách thức mô tả liệu HelloWorld() Lop1.net (16) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 13 Hình Một phân tài liệu WSDL WebService Hình Dữ liệu trả từ HelloWorld() trang XML Cách triệu gọi trang WebService từ nhà dịch vụ khác: Right-click vào dự án khách trên Solution Explorer, chọn Add Web Reference xuất hợp thoại Hình Hộp thoại thêm Web Reference Lop1.net (17) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 14 Hình Hộp thoại thêm Web Reference Khi hoàn thành bạn có giao diện Hình 10 Hộp thoại thêm Web Reference Hình 10 Hộp thoại thêm Web Reference Vậy là bạn đã hoàn thành việc add dịch vụ web vào hệ thống, lúc này bạn cần triệu gọi câu lệnh: localhost.WebService webservice = new localhost.WebService(); string s = webservice.HelloWorld(); Lop1.net (18) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 15 với s là kiểu trả mà dịch vụ web đã cung cấp cho bạn III.1.4 Web Service ứng dụng “chương trình quản lý công văn nội các quan ban ngành” Trước tiên ta tiến hành tạo dựng trang quản lý công văn nội (tương tự chương trình check mail yahoo) với sở liệu chuẩn quản lý SQL Sever 2005, và sử dụng ngôn ngữ lập trình web ASP.NET để xây dựng giao diện giao tiếp người dùng với hệ thống, như: Việc gửi công văn có nôi dung xxxx, với file đính kèm là yyyy từ người dùng là A đến người dùng là B cùng hệ thống Việc gửi công văn từ người dùng cấp cao đến các người dùng cấp thấp giống thông báo (công văn) lãnh đạo cấp trên (người dùng cấp cao) xuống các phòng ban (người dùng cấp thấp) Nhờ vào công nghệ Web Service mà ta nguyên cứu ta tiến hành tạo dựng trang cung cấp các dịch vụ cần thiết, tạo điều kiện cho việc giao tiếp liệu Website chúng ta và website khác, với ý tưởng là user hệ thống này đăng nhập, ngoài việc người đó có thể nhìn thấy người dùng cùng hệ thống online, ngoài người dùng này có thể thấy các người dùng khác online hệ thống khác thiết kế tương đương Ngoài ra, ta có thể sử dụng Web Service giúp người dùng khác hệ thống có thể trao đổi thông tin qua lại với Với hổ trơ công nghệ Web Service ta có thể xây dựng hệ thống luân chuyển công văn các quan ban ngành, với quan là nhà cung cấp dịch vụ web (Web Service) Lop1.net (19) CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG I Mô tả hệ thống I.1 Đặc tả yêu cầu Mục tiêu các dự án “Tin học hóa quản lý hành chính Nhà nước” các giai đoạn 2001-2005 là tạo hệ thống thông tin thống phục vụ điều hành và quản nhà nước các UBND tỉnh, thành phố các bộ, ngành Một các phân hệ thông tin quan trọng là Phân hệ Điều hành tác nghiệp Bài toán quản công văn giấy tờ, theo dõi luồng công việc là các bài toán quan trọng thuộc phân hệ này Phần mềm quản lý công văn đến xây dựng trên công nghệ phát triển ứng dụng Web hay còn gọi là mô hình công nghệ lớp Mô hình lớp triển khai trên hạ tầng mạng có kiến trúc phổ biến (dial-up, LAN, WAN, Internet) tùy thuộc vào khả cung cấp tài chính, vì nó đơn giản và không đòi hỏi người dùng phải biết nhiều công nghệ thông tin Mô hình ứng dụng sau: CHỨC NĂNG, NGHIỆP VỤ CHÍNH CỦA CHƯƠNG TRÌNH I.2 Mô tả hệ thống Hệ thống quản lý công văn quan ban ngành trải qua giai đoạn sau: 16 Lop1.net (20) Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành 17 Giai đoạn đầu: Xác định yêu cầu sử dụng Hệ thống quản lý công văn quan bán ngành Giai đoạn này đòi hỏi Ban Giám Đốc phải xác định quy trình gửi và nhận công văn quan mình Việc xác định quy trình gửi và nhận này trải qua các bước sau: Bước thứ nhất: xác định tên các loại công văn cần sử dụng Bước thứ hai: mô tả quy trình, chức làm việc công văn Bước thứ ba: Xác định luồng loại công văn mô tả Luồng loại công văn hiểu là quá trình gửi công văn Để có thể xác định quy trình gửi nhận công văn này, đòi hỏi ban giàm đốc phải phân tích quá trình làm việc và hoạt động trên thực tế quan, cần phải sử dụng các loại công giấy tờ gì? Công văn đó phải gửi đến đâu và đối tượng nhận là ai? Từ yêu cầu thực tế đó, ta có xây dựng quy trình gửi, nhận loại loại công văn, đáp ứng nhu cầu sử dụng thực tế quan Giai đoạn thứ hai: Dựa vào chức năng, quy trình gửi và nhận loại công văn đã xác định giai đoạn đầu, tùy vào đặc thù loại công việc, các cán công nhân viên quan sử dụng loại công văn khác nhau, đáp ứng yêu cầu làm việc mình Việc gửi công văn đòi hỏi người sử dụng phải xác định xác yêu cầu: loại công văn, nội dung công văn cần gửi đi, tài liệu đính kèm có Khi đã xác định các yêu cầu, công văn hệ thống gửi đến nơi thích hợp Trong quá trình công văn gửi đi, người gửi có thể biết trạng thái công văn mà họ gửi, thông qua chức đã tích hợp hệ thống Giai đoạn thứ ba: sau công văn đã gửi, tùy vào loại công văn, hệ thống gửi công văn đến người nhận Vì tương ứng với loại công văn ta có luồng cho công văn Ta có thể phân thành dạng công văn: Công văn dạng thông báo: giúp người sử dụng gửi thông báo, tài liệu tham khảo, hay trao đổi thông tin đến người, hay phòng ban mình muốn Công văn dạng xét duyệt: đây là loại công văn sử dụng cho các cán nhân viên phòng ban muốn gửi yêu cần xác nhận, hay xét duyệt công văn lên cấp trên Tùy vào loại công văn lựa chọn, hệ thống tự động gửi đến phòng bang có thẩm quyền, công văn duyệt hệ thống tự động gửi công văn đến phòng ban có Việc xét duyệt công văn có hai trường hợp xảy ra: công văn không xét duyệt (công văn bị từ chối duyệt quá trình gửi đi) và công văn đã duyệt (công văn đã lần lược gửi đến phòng bang và đã cán phòng ban duyệt), tùy vào trường hợp mà hệ thống thông báo đến cho người gửi biết Ba giai đoạn này hoặt động bổ sung cho nhau, giúp ta có hệ thống làm việc linh động, thống từ trên xuống Tạo cho ta môi trường làm việc chuyên nghiệp, đem lại hiệu công việc Lop1.net (21)