Tải bản đầy đủ (.pdf) (20 trang)

Đề tài Xây dựng hệ thống quản lý công văn cơ quan ban ngành

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (785.51 KB, 20 trang )

<span class='text_page_counter'>(1)</span>ĐẠ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: 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.

<span class='text_page_counter'>(2)</span> LỜI CẢM ƠN Tôi chân thành cảm ơn cán bộ công nhân viên Trung Tâm Công Nghệ Thông Tin Phú Yên, nhất 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 trong suốt thời gian làm luận văn tốt nghiệp. Ngoài ra tôi còn chân thành cảm ơn Thầy TS. Nguyễn Thanh Bình trong thời gian qua đã thường xuyên quan tâm, có những buổi gặp mặt trao đổi hết sức bổ ích, giúp tôi có thêm một số kiến thức cần thiết kịp thời bổ sung những kiến thức còn thiếu trong bài luận văn tốt nghiệp này. Một lần nữa “em xin cảm ơn thầy”.. Lop1.net.

<span class='text_page_counter'>(3)</span> LỜI CAM ĐOAN Tôi xin cam đoan : 1. Những nội dung trong luận văn này là do tôi thực hiện dưới sự hướng dẫn trực tiếp của thầy TS. Nguyễn Thanh Bình và các cán bộ Trung tâm Công Nghệ Thông Tin Phú Yên trực tiếp là ThS Nguyễn Chí Sỹ.. 2. Mọi tham khảo dùng trong luận văn đều được trích dẫn trong tài liệu: phân tích và thiết kế Hệ Thống Thông Tin theo UML của 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.. 3. Mọi sao 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.

<span class='text_page_counter'>(4)</span> MỤC LỤC CƠ SỞ LÝ THUYẾT.......................................................................................2 I.. C# và kiến trúc NET...................................................................................................2 I.1. Tổng quan.......................................................................................................2 I.2. Mối quan hệ giữa C# và .NET........................................................................2 I.3. Common Language Runtime..........................................................................2 I.4. Intermediate Language ...................................................................................3 I.5. Các lớp .NET Framework ..............................................................................3 I.6. Tạo các ứng dụng .NET bằng C# ...................................................................4 II. Truy cập cơ sở dữ liệu với .NET ............................................................................6 II.1. Tổng quan về ADO.NET................................................................................6 II.2. Kiến trúc ADO.NET.......................................................................................7 III. Webservice và việc phát triển một dịch vụ Web....................................................8. 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 của hệ thống ............................................................................17 II.2. Xác định các Use Case .................................................................................18 Mô hình quan niệm...............................................................................................24 Biểu đồ tuần tự .....................................................................................................25 IV.1. Biểu đồ tuần tự của hành vi “Đăng nhập”................................................25 IV.2. Biểu đồ tuần tự của hành vi “Quản lý Tin” ..............................................26 IV.3. Biểu đồ tuần tự của hành vi “Quản lý User” ............................................27 IV.4. Biểu đồ tuần tự hành vi “Quản lý Loại công văn”....................................28 IV.5. Biểu đồ tuần tự 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 quả Demo chương trình .....................................................................................32 I.1. Giao diện chính của chương trình ................................................................32 I.2. Giao diện Xử lý công việc............................................................................33 I.3. Giao diện Văn bản đến .................................................................................34 I.4. Giao diện Văn bản đi....................................................................................35 I.5. Giao diện Thông báo ....................................................................................36 II. Các giải pháp đã được ứng dụng trong hệ thống..................................................36 II.1. Khả năng kết nối cơ sở dữ liệu .....................................................................36 II.2. Khả năng ứng dụng trên thực tế ...................................................................43. KẾT LUẬN.....................................................................................................44. 1 Lop1.net.

<span class='text_page_counter'>(5)</span> CHƯƠNG 1. 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ủa 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) chứ không phải là một ngôn ngữ lập trình. Tóm lại ASP.NET là một công nghệ. Giữa ASP.NET và ASP cổ điển tuy có cùng tên họ nhưng ta không thể đánh đồng chúng với nhau bởi ASP.NET cung cấp một phương pháp làm việc hoàn toàn khác ASP. Mặc dù vậy ASP.NET và ASP vẫn có thể sống chung dưới một mái nhà IIS. ASP có thể hỗ trợ đến 25 ngôn ngữ Lập trình : C#, VB.NET,… Trong đó C# là một ngôn ngữ lập trình mới, và được biết đến với hai lời chào:  Nó được thiết kế riêng để dùng cho Microsoft's .NET Framework (Một nền khá mạnh cho sự phát triển, triển khai, hiện thực và phân phối các ứng dụng)  Nó là một ngôn ngữ hoàn toàn hướng đối tượng được thiết kế dựa trên kinh nghiệm của các ngôn ngữ hướng đối tượng khác.. I.2.. Mối quan hệ giữa C# và .NET. C# được xem là một trình biên dịch hướng .NET, nghĩa là tất cả các mã của C# luôn luôn chạy trên trên môi trường .NET Framework. Sự phụ thuộc của C# với .NET được thể hiện qua:  Cấu trúc và các lập luận C# được phản ánh các phương pháp luận của .NET ngầm bên dưới.  Trong nhiều trường hợp, các đặc trưng của C# thậm chí được quyết định dựa vào các đặc trưng của .NET, hoặc thư viện lớp cơ sở của .NET. Một điều quan trọng chúng ta nên biết C# là một ngôn ngữ độc lập. Nó được thiết kế để có thể sinh ra mã đích trong môi trường .NET, nó không phải là một phần của .NET bởi vậy có một vài đặc trưng được hỗ trợ bởi .NET nhưng cũng có những đặc trưng C# hỗ trợ mà .NET không hỗ trợ (chẳng hạn như quá tải toán tử).. I.3.. Common Language Runtime. Trung tâm của .NET frameword.rk là môi trường thời gian chạy, gọi là Common Language Runtime (CLR) hoặc .NET runtime. Mã của các điều khiển trong CLR thường là mã có quản.. 2 Lop1.net.

<span class='text_page_counter'>(6)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 3. Tuy nhiêu, trước khi được thực thi bởi CLR, mã được phát triển trong C# (hoặc các ngôn ngữ khác) cần phải được biên dịch.Quá trình biên dịch trong .NET xảy ra theo hai bước: 1. Dịch mã nguồn thành Microsoft Intermediate Language (MS-IL) 2. Dịch IL thành mã nền cụ thể bởi CLR Mới nhìn có vẻ hơi dài dòng. Nhưng thật sự, một tiến trình dịch hai mức là rất cần thiết, bởi vì trạng thái của Microsoft Intermediate Language (mã có quản) là chìa khóa cung cấp nhiều lợi ích trong .NET. Các lợi ích của mã có quản: Độc lập nền, Sự cải tiến trong thực thi, Tương hoạt giữa các ngôn ngữ. I.4.. Intermediate Language. Intermediate Language hoạt động như là bản chất của .NET Framework. Là lập trình viên C#, chúng ta nên biết rằng mã C# sẽ luôn được dịch sang Intermediate Language trước khi nó được thực thi (thật vậy, trình biên dịch C# chỉ dịch sang mã có quản). Chúng ta hãy cùng khám phá các tính năng chính của IL, bất kì ngôn ngữ nào hướng .NET cũng sẽ hỗ trợ các đặc tính chính của IL. Những đặc tính chính của Intermediate Language đó là:  Hướng đối tượng và dùng interfaces  Sự tách biệt giữa 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ẽ một trong những lợi ích lớn nhất của viết mã có quản, ít nhất là đối với một nhà phát triển, đó là bạn có thể sử dụng thư viện lớp cơ sở của .NET. Thư viện lớp cơ sở của .NET là một tập hợp lớn các lớp mã có quản được viết bởi Microsoft, những lớp này cho phép bạn thao tác rất nhiều các tác vụ sẵn có trong Windows. Bạn có thể tạo các lớp của mình từ các lớp có sẵn trong thư viện lớp cơ sở của .NET dựa trên cơ chế thừa kế đơn. Thư viện lớp cơ sở của .NET rất trực quan và rất dễ sử dụng. Ví dụ, để tạo một tiến trình mới, bạn đơn giản gọi phương thức Start() của lớp Thread. Để disable một TextBox, bạn đặt thuộc tính Enabled của đối tượng TextBox là false. Thư viện này được thiết kế để dễ xài như là Visual Basic và Java. Tất nhiên là nó dễ sử dụng hơn các lớp của C++: các vỏ bọc ngoài các hàm API thô như GetDIBits(), RegisterWndClassEx(), và IsEqualIID(). Mặt khác, những nhà phát triển C++ luôn dễ dàng truy cập đến các API, ngược lại những nhà phát triển Visual Basic và Java đã bị giới hạn trong những thao tác hệ thống cơ bản mà. Lop1.net.

<span class='text_page_counter'>(7)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 4. ngôn ngữ đã từng ngôn ngữ đã cung cấp sẵn. Cái mới của thư viện lớp cơ sở .NET là kết hợp tính đơn giản của các thư viện Visual Basic và Java với hầu hết các đặc tính trong các hàm Windows API. Có nhiều đặc tính của Windows không sẵn có trong các lớp của thư viện .NET, trong trường hợp đó bạn cần phải gọi các hàm API, những đặ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 đều đã được hỗ trợ đầy đủ trong thư viện lớp của .NET. Và nếu bạn muốn gọi một hàm API, .NET gọi là "platform-invoke", cơ chế này luôn bảo đảm tính đúng đắn của kiểu dữ liệu, vì vậy thao tác này không khó hơn việc gọi trực tiếp từ mã C++, nó được hỗ trợ cho cả C#, C++, và VB.NET. WinCV, một 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ê trong 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 bởi 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 cơ sở của .NET được viết bằng C#!. I.6.. Tạo các ứng dụng .NET bằng C#. C# có thể dùng để tạo các ứng dụng console: các ứng dụng thuần văn bản chạy trên DOS window. Hầu như bạn chỉ tạo các ứng dụng console khi cần kiểm tra các thư viện lớp, hoặc cho các tiến trình daemon Unix/Linux. Tất nhiên, bạn cũng 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 về các kiểu ứng dụng khác nhau có thể tạo ra bằng C#.. I.6.1.. Tạo các ứng dụng ASP.NET. ASP là một công nghệ của Microsoft dùng để tạo các trang web có nội dung động. Một trang ASP thực chất là một file HTML có nhúng các khối server-side VBScript hay JavaScript. Khi một trình duyệt khách yêu cầu một trang ASP page, web server sẽ sinh ra mã HTML, xử lí các server-side script khi chúng đến. Thường thì các script sẽ truy cập vào một cơ sở dữ liệu để lấy dữ liệu, và biểu diễn trên trang HTML. ASP là cách đơn giản nhất để tạo các ứng dụng browser-based.. Lop1.net.

<span class='text_page_counter'>(8)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 5. ASP tất nhiên cũng có một vài hạn chế. Trước tiên, các trang ASP thỉnh thoảng trở nên rất chậm bởi vì mã server-side được thông dịch thay vì được biên dịch. Thứ hai, các file ASP khó bảo trì bởi vì chúng không có cấu trúc; mã server-side ASP và HTML được trộn lẫn với nhau. Thứ ba, ASP đôi khi kho phát triển bởi nó không quan tâm đến bẫy lỗi và kiểm tra kiểu. Cụ thể, nếu bạn dùng VBScript và muốn bẫy lỗi trên các trang của bạn, bạn phải dùng câu lệnh On Error Resume Next, và cho phép tất cả các thành phần gọi thông qua một Err.Number để chắc rằng tất cả đều tốt.. I.6.2.. Các đặc tính của 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à mỗi trang là thực tế là một lớp được thừa kế từ lớp .NET System.Web.UI.Page, và có thể ghi đè một tập các phương thức sẽ dùng trong thời gian sống của trang web (bạn hãy tưởng tượng rằng những sự kiện này như là anh em bà con với các sự kiện OnApplication_Start và OnSession_Start trong file global.asa của ASP cũ.) Bởi vì bạn có thể chuyển các thao tác của một trang thành các sự kiện sáng nghĩa hơn, chính vì thể mà các trang ASP.NET dễ hiểu hơn. Một điểm mạnh khác là các trang ASP.NET có thể được tạo trong VS.NET, cùng chung môi trường với các thành phần luận lí và dữ liệu sẽ được dùng trong các trang web này. Một nhóm đề án VS.NET, hoặc solution, chứa tất cả các file liên quan đến một ứng dụng. Hơn thế nữa bạn có thể bẫy lỗi các trang ASP của bạn ngay trong 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 hiện 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 một trang web. ASP.NET cho phép bạn tách biệt các chức năng server-side của trang thành một lớp, biên dịch lớp đó thành một DLL, và đặt DLL đó vào một thư mục bên dưới phần HTML. Một code-behind chi phối đỉnh của một trang web tương đương với file DLL của nó. Khi một trình duyệt yêu cầu trang, web server phát ra các sự kiện trong lớp của page's code-behind DLL. Cuối cùng không kém phần quan trọng, ASP.NET thật sự đáng chú ý với khả năng tăng cường sự thực thi. Ngược lại với các trang ASP được thông dịch cho mỗi 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 của một trang ASP.NET sẽ thực thi nhanh hơn trang đầu tiên.. I.6.3.. Tạo các Windows Form. Mặc dù C# và .NET được thiết kế để phát triển web, nhưng chúng vẫn hỗ trợ mạnh mẽ cho cái gọi là ứng dụng "fat client", các ứng dụng có thể được cài đặt trên một 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 của .NET cho VB 6 Form. Dùng để thiết kế một giao diên window sinh động, bạn chỉ đơn giản kéo các control từ vào trên Windows Form. Để xác định cách xử của window, bạn viết các thủ tục quản lí sự kiện cho form controls. Một đề án Windows Form được dịch thành một EXE phải được cài đặt trong một môi trường ở máy tính người dùng cuối. Giống như các kiểu đề án .NET khác, đề án Windows Form được hỗ trợ cho cả VB.NET và C#.. Lop1.net.

<span class='text_page_counter'>(9)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. I.6.4.. 6. Windows Controls. Mặc dù Web Forms và Windows Forms được phát triển theo cùng một cách, bạn dùng các loại khác nhau của controls để định vị chúng. Web Forms dùng Web Controls, và Windows Forms dùng Windows Controls. Một Windows Control là một ActiveX control. Đằng sau sự thực thi của một Window control, là sự biên dịch sang một DLL để có thể cài đặt trên máy khách. Thật vậy, .NET SDK cung cấp một tiện ích dùng để tạo một vỏ bọc cho các ActiveX control, vì thể chúng có thể được đặt trong Windows Forms. Giống trường hợp này các Web Control, Windows Control được tạo thành từ một lớp khác System.Windows.Forms.Control.. I.6.5.. Windows Services. Một Windows Service là một chương trình được thiết kế để chạy trên nền Windows NT/2000/XP (không hỗ trợ trên Windows 9x). Các dịch vụ này rất hữu ích khi bạn muốn một chương trình có thể chạy liên tục và sẵn sàng đáp ứng các sự kiện mà không cần người dùng phải khởi động. Ví dụ như một 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ụ trong C#. Với thư viện lớp cơ sở .NET Framework sẵn có trong 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 một đề án C# Windows Service, với các mã nguồn cơ bản ban đầu.. II. Truy cập cơ sở dữ liệu với .NET II.1. Tổng quan về ADO.NET Hiện nay, ADO.NET là một công nghệ truy xuất cơ sở dữ liệu hoàn toàn mới và rất mạnh. ADO.NET hỗ trợ rất 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 như hầu hết các thành phần của .NET Framework, ADO.NET không chỉ là vỏ bọc của một vài API sẵn có. Nó chỉ giống ADO ở cái tên - các lớp và phương thức truy xuất dữ liệu đều khác hoàn toàn. ADO (Microsoft's ActiveX Data Objects) là một thư viên của các thành phần COM. Các thành phần chủ yếu của ADO là Connection, Command, Recordset, và các Field object. Một connection có thể mở cơ sở dữ liệu, một vài dữ liệu được chọn vào một recordset, bao gồm các trường, dữ liệu này sau đó có thể thao tác, cập nhập lên server, và connection cần phải được đóng lại. ADO cũng giới thiệu một disconnected recordset, cái được dùng khi không muốn giữ kếp nối trong một thời gian dài. ADO.NET chứa hai không gian tên cơ sơ dữ liệu - một cho SQL Server, và một cái khác cho các cơ sở dữ liệu được trình bày thông qua một giao diện OLE DB. Nếu cơ sở dữ liệu của bạn chọn là một bộ phận của OLE DB, bạn có thể dễ dàng kết nối với nó từ .NET - chỉ cần dùng các lớp OLE DB và kết nối thông qua các driver cơ sở dữ liêu hiện hành của bạn.. Lop1.net.

<span class='text_page_counter'>(10)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 7. 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 1. 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 dữ liệu và thành phần lưu trữ xử lý dữ liệu. Thành phần thứ nhất là .NET Framework Data Providers, được thiết kế để thực hiện các thao tác kết nối, gửi các lệnh xử lý đến cơ sở dữ liệu, thành phần này còn được gọi với một tên khác là lớp kết nối. Trong ADO.NET, có 4 đối tượng chính để xử lý phần kết nối và tương tác với dữ 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 cơ sở dữ như: Oracle, SQL Server, ODBC và OLEDB. Command: cho phép truy cập cơ sở dữ liệu và thực thi phát biều SQL hay thủ tục Store Procedure của cơ sở dữ liệu, truyền tham số và trả về dữ liệu. DataReader: bộ đọc, dùng để đọc nhanh dữ liệu nguồn theo một chiều. DataAdapter: bộ điều phối hay cầu nối, dùng để chuyển dữ liệu truy vấn được cho các đối tượng lưu trữ và xử lý như DataSet, DataTable. DataAdapter chủ yếu sẽ thực hiện các thao tác truy vấn (SELECT), thêm mới (INSERT), chỉnh sửa (UPDATE) và xóa (DELETE).. Lop1.net.

<span class='text_page_counter'>(11)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 8. Thành phần thứ hai là DataSet được xem như Container dùng để lưu trữ đối tượng liên quan đến dữ liệu như DataTable, DataRelation, DataView đôi khi còn gọi là lớp không kết nối (Disconnectet Layer). Bạn có thể hình dung DataSet như một cơ sở dữ liệu hay Database thu nhỏ. Trong DataSet, bạn có thể chứa các đối tượng như bảng, View, ràng buộc, quan hệ. Sở dĩ gọi là Disconnected Layer là do toàn bộ thông tin dữ liệu sẽ được đọc một lần duy nhát và lưu vào DataSet hay các đối tượng dữ liệu như DataTable và quá trình kết nối chấm dứt. Dữ liệu sau đó được 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 của 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ụ được số lượng kết nối lớn. Sau đây là kiến trúc của mô hình truy xuất dữ 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 2. Kiến trúc của mô hình truy xuất dữ liệu ADO.NET.. III. Webservice và việc phát triển một dịch vụ Web III.1.1.. Định nghĩa về service. Theo định nghĩa trong 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 của service trong 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ể hiện một hành động của user như duyệt thư email, hay kiểm tra tỷ số hối đoái… Một System Service thể hiện yêu cầu của kiến trúc hệ thống và sự quản lý như bảo mật , lưu trữ và chịu lỗi, quản lý transaction hay messaging.. Lop1.net.

<span class='text_page_counter'>(12)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 9.  Một Dịch vụ có hai đặc điểm chính : Interface và Registration. Sử dụng Interface, một Dịch vụ có thể được gọi từ một chương trình khác. Một Service được đăng ký trong một Registry. Các ví dụ về 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 chỉ rõ giao thức để yêu cầu các dịch vụ từ các hệ thống. Web Service là một 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 giữa các hệ thống. Một Web Service có thể được mô tả như là một chức năng có thể duy trì trên web, và có thể được gọi bởi bất kỳ ứng dụng nào hay Dịch vụ nào. Nó có thể là một business application hay một system function. Một tập hợp các modular service có thể được cung cấp bởi cùng công ty hay bởi nhiều cty khác nhau được mix và match lại để trở thành một business process. Lấy ví dụ đơn giản dễ nhận thấy nhất về webservice là hệ thống .NET passport của Hotmail. Vấn đề đăng nhập trở nên đơn giản giữa các web site nếu giải quyết bằng 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 được chia xẻ giữa chúng. Một user khi điền thông tin đăng nhập chỉ một lần duy nhất, và có thể dùng nó cho Dịch vụ email, và dùng cùng login user cùng mật khẩu trong một “accounting package service site”.. III.1.2.. Tổng quan về Web Service. Dịch vụ web (tiếng Anh: Web service) là sự kết hợp các máy tính cá nhân với các thiết bị khác, các cơ sở dữ liệu và các mạng máy tính để tạo thành một cơ 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 sẽ chạy trên các máy phục vụ trên nền Internet chứ không phải là các máy tính cá nhân, do vậy 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 bất kỳ loại máy nào có hỗ trợ Web Service và có truy cập Internet, kể cả các thiết bị cầm tay. Do đó các Web Service sẽ làm Internet biến đổi thành một nơi làm việc chứ không phải là một phương tiện để xem và tải nội dung. Điều này cũng sẽ đưa các dữ 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ụ của một nhà cung cấp dịch vụ Web. Các máy phục vụ này cũng cần trở thành nguồn cung cấp cho người sử dụng cả về độ an toàn, độ riêng tư và khả nǎng truy nhập. Các máy phục vụ ứng dụng sẽ là một phần quan trọng của các Web Service bởi vì thường thì các máy phục vụ này thực hiện các hoạt động ứng dụng phức tạp dựa trên sự chuyển giao giữa người sử dụng và các chương trình kinh doanh hay các cơ sở dữ liệu của một tổ chức nào đó. Một số nhà quan sát ngành công nghiệp này cho rằng Web Service không thực sự là một khái niệm mới và phản ánh một phần không nhỏ khái niệm mạng máy tính vốn đã trở nên. Lop1.net.

<span class='text_page_counter'>(13)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 10. quen thuộc trong nhiều nǎm qua. Web Service chủ yếu dựa trên một lời gọi thủ tục từ xa không chặt chẽ mà có thể thay thế 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 đang phổ biến hiện nay. Dịch vụ Web sử dụng XML chứ 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 rằng Web Service là một 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 nền Java 2 (J2EE) hay các server ứng dụng .NET. Giống như các phần mềm trung gian, Web Service sẽ kết nối server ứng dụng với các chương trình khách hàng.. Hình 3. Việc truyền thông của Web service.. III.1.3.. Cách tạo một Web Service đơn giản trong Visual Studio 2005 :. Chúng ta vào Add New Item  Web Service  add sẽ xuất hiện giao diện như Hình 4. Tạo mới 1 WebService.. Lop1.net.

<span class='text_page_counter'>(14)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 11. Hình 4. Tạo mới 1 WebService. Lúc này ta sẽ được một trang Webservice đơn giản gồm 2 file WebService.asmx và WebService.cs có nội dung như 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 = " [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.

<span class='text_page_counter'>(15)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 12. Sau khi ta biên dịch trang trên ta sẽ có xuất hiện giao diện như Hình 5. Trang web service sau khi chạy thử, Hình 6. Cách thức mô tả dữ liệu của HelloWorld(), Hình 7. Một phân tài liệu WSDL của WebService, Hình 8. Dữ liệu trả về từ HelloWorld() bằng trang XML.. Hình 5. Trang web service sau khi chạy thử.. Hình 6. Cách thức mô tả dữ liệu của HelloWorld().. Lop1.net.

<span class='text_page_counter'>(16)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 13. Hình 7. Một phân tài liệu WSDL của WebService.. Hình 8. Dữ liệu trả về từ HelloWorld() bằng trang XML. Cách triệu gọi một 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 sẽ xuất hiện hợp thoại như Hình 9. Hộp thoại thêm Web Reference... Lop1.net.

<span class='text_page_counter'>(17)</span> Xây Dựng Hệ Thống Quản Lý Công Văn Cơ Quan Ban Nghành. 14. Hình 9. Hộp thoại thêm Web Reference. Khi hoàn thành bạn sẽ có giao diện như 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 một dịch vụ web vào hệ thống, lúc này bạn chỉ cần triệu gọi câu lệnh: localhost.WebService webservice = new localhost.WebService(); string s = webservice.HelloWorld();. Lop1.net.

<span class='text_page_counter'>(18)</span> 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ả về mà dịch vụ web đã cung cấp cho bạn.. III.1.4.. Web Service ứng dụng trong “chương trình quản lý công văn nội bộ giữa các cơ quan ban ngành”. 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ôn ngữ lập trình web ASP.NET để xây dựng giao diện giao tiếp giữa người dùng với hệ thống, như:  Việc gửi một 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 trong cùng một hệ thống.  Việc gửi một công văn từ một người dùng cấp cao đến các người dùng cấp thấp giống như một thông báo (công văn) của 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 sẽ ta tiến hành tạo dựng một 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 dữ liệu giữa Website của chúng ta và website khác, với ý tưởng là user của hệ thống này khi đăng nhập, ngoài việc người đó có thể nhìn thấy một người dùng cùng trong một hệ thống đang online, ngoài ra người dùng này cũng có thể thấy được các người dùng khác đang online trong hệ thống khác được thiết kế tương đương. Ngoài ra, ta có thể sử dụng Web Service giúp 2 người dùng khác hệ thống có thể trao đổi thông tin qua lại với nhau. Với sự hổ trơ của công nghệ Web Service ta có thể xây dựng được một hệ thống luân chuyển công văn giữa các cơ quan ban ngành, với mỗi cơ quan là một nhà cung cấp dịch vụ web (Web Service).. Lop1.net.

<span class='text_page_counter'>(19)</span> CHƯƠNG 2. 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ơ bản của các dự án “Tin học hóa quản lý hành chính Nhà nước” trong các giai đoạn 2001-2005 là tạo được một hệ thống thông tin thống nhất phục vụ điều hành và quản nhà nước tại các UBND tỉnh, thành phố cũng như ở các bộ, ngành. Một trong 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à một trong 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 đi đến được 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ệ 3 lớp. Mô hình 3 lớp được 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ả năng cung cấp tài chính, vì vậy nó đơn giản và không đòi hỏi người dùng phải biết nhiều về công nghệ thông tin. Mô hình ứng dụng như 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 của 1 cơ quan ban ngành được trải qua 3 giai đoạn sau:. 16 Lop1.net.

<span class='text_page_counter'>(20)</span> 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 cơ 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 của cơ quan mình. Việc xác định quy trình gửi và nhận này sẽ 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 năng làm việc của từng công văn.  Bước thứ ba: Xác định luồng đi của từng loại công văn được mô tả. Luồng đi của từng loại công văn được hiểu như là quá trình gửi đi của công văn. Để có thể xác định được 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ế của cơ quan, cần phải sử dụng các loại công giấy tờ gì? Công văn đó phải được gửi đến đâu và đối tượng nhận là ai? Từ những yêu cầu thực tế đó, ta sẽ có xây dựng được quy trình gửi, nhận của từng loại loại công văn, đáp ứng nhu cầu sử dụng thực tế của cơ quan. Giai đoạn thứ hai: Dựa vào chức năng, quy trình gửi và nhận của từng loại công văn đã được xác định ở giai đoạn đầu, tùy vào đặc thù của từng loại công việc, các cán bộ công nhân viên trong cơ quan sẽ sử dụng từng loại công văn khác nhau, đáp ứng yêu cầu làm việc của mình. Việc gửi công văn đi đò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 nếu có. Khi đã xác định các yêu cầu, công văn sẽ được hệ thống gửi đến nơi thích hợp. Trong quá trình công văn được gửi đi, người gửi có thể biết được trạng thái của công văn mà họ gửi, thông qua chức năng đã được tích hợp trong hệ thống. Giai đoạn thứ ba: sau khi công văn đã được gửi, tùy vào loại công văn, hệ thống sẽ gửi công văn đến người nhận. Vì tương ứng với mỗi loại công văn ta sẽ có một luồng đi cho từng công văn. Ta có thể phân ra thành 2 dạng công văn:  Công văn dưới 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ưới dạng xét duyệt: đây là loại công văn sử dụng cho các cán bộ 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 từng loại công văn được lựa chọn, hệ thống sẽ tự động gửi đến phòng bang có thẩm quyền, khi công văn được duyệt hệ thống sẽ tự động gửi công văn đến phòng ban tiếp theo nếu có. Việc xét duyệt công văn sẽ có hai trường hợp xảy ra: công văn không được xét duyệt (công văn bị từ chối duyệt trong quá trình gửi đi) và công văn đã được duyệt (công văn đã lần lược gửi đến từng phòng bang và đã được cán bộ trong phòng ban duyệt), tùy vào từng trường hợp mà hệ thống sẽ 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ó được một hệ thống làm việc linh động, thống nhất từ trên xuống dưới. Tạo ra cho ta một môi trường làm việc chuyên nghiệp, đem lại hiệu quả trong công việc.. Lop1.net.

<span class='text_page_counter'>(21)</span>

×