- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于ASP.NET AJAX的OA系统设计
0 引言
办公自动化(Office Automation,OA)系统,是指利用计算机技术和网络技术,使办公室部分工作逐步物化于各种现代化设备中,由办公室人员与设备共同构成服务于某种目标的人机信息处理系统。办公自动化已经成为现代企事业单位实现管理现代化的一个重要途径。
办公自动化系统的开发技术主要分为三大类:基于C/S结构的应用程序、结合C/S结构和Web技术的复合应用程序、基于B/S结构的’Web应用程序。B/S结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在客户机前端实现,大部分事务逻辑在服务器端(后端)实现,相关系统数据存在系统数据库中,形成一个三层结构。在网络应用程序开发、配置以及软件的移植性方面,B/S结构比C/S结构具有更大的优点。
在此设计一个采用B/S结构,基于ASP.NETAJAX框架的通用办公自动化系统。
1 AJAX与ASP.NET AJAX
1.1 AJAX概述
AJAX(Asynehronous JavaScript and XML)是多种技术的综合,它打破了页面刷新的范式,使用户快速方便地与Web应用程序交互。
使用 AJAX以后,相当于在客户端和服务器之间加了一个中间层即AJAX引擎。AJAX提供与服务器异步通信的能力,使用户从请求/响应的循环中解脱出来。借助AJAX,可以在用户单击按钮时,使用JavaScript和DHTML立即更新用户界面,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS相应地更新用户界面,而不是刷新整个页面。整个过程就像操作本地应用程序响应一样,用户甚至不知道浏览器正在与服务器通信。AJAX的工作原理如图1所示。
AJAX的核心包括:
(1)基于XHTML和CSS标准的表示;
(2) 使用Document Object Model进行动态显示和交互;
(3)用XMLHttpRequest与服务器进行异步通信;
(4) 使用JavaScript操作XMLHttpRequest来与数据库进行交互。
1.2 ASP.NET AJAX概述
ASP.NET AJAX是微软公司推出与ASP.NET紧密集成的AJAX框架。依托.NET平台与Visual Studio的强大功能,并基于ASP.NET AJAX,可以很方便地创建兼容绝大多数浏览器的Web应用程序。
ASP.NET AJAX的核心部分包括核心AJAX类型系统、网络协议层(Networking Stack)、组件模型、扩展器(Extender)基类以及与ASP.NET集成的服务器端功能等。
ASP.NET AJAX服务器端控件有ScriptManager,ScriptManagerProxy,UpdatePanel,Update Progress和Timer控件。
ScriptManager控件用来处理页面上的所有组件及页面局部更新,生成相关的客户端代理脚本,以便能够在JavaScript中访问Web服务。所有需要支持ASP.NET AJAX的ASP.NET页面上有且只能有一个ScriptManager控件。
ScriptManagerProxy控件在 ASP.NET AJAX中,由于一个ASPX页面上只能有一个ScriptManager控件,所以在有MasterPage的情况下,如果需要在MasterPage 和ContentPage中引入不同的脚本时,就要在ContentPage中使用ScriptManagerProxy。
UpdatePanel 控件用来创建局部更新Web应用程序,不用编写任何客户端脚本,只要在页面上添加UpdatePanel控件和ScriptManager控件就可以自动实现局部更新。
UpdageProgress控件用来显示UpdatePanel控件更新的进度信息。当页面上有多个 UpdatePanel控件时,updateProgress控件可以指定显示某个UpdatePanel控件的更新进度。
Timer控件 设置进行异步或同步刷新页面的时间间隔。
ASP.NET AJAX架构大大减少了开发者所需的代码量,提高了开发效率。这种架构将页面中的内容、样式、行为和代码清晰地分开。典型的ASP.NETAJAX应用程序设计模式是直接在客户端调用Web服务的,而无需通过中介层,避免了使用中介层对通信效率的影响,同时也避免了增加中介层对应用程序设计、实现和部署带来的复杂性。
1.3 ASP.NET AJAX的安装与配置
安装Visual Studio 2008后,ASP.NET AJAX直接包含在ASP.NET3.5框架中,如果要在安装.NET 2.0框架上进行ASP.NET AJAX的应用开发,需在ASP.NET官方网站下载相关组件进行安装。
安装ASP.NET AJAX后,在Visual Studio 2008中新建Web Site,则项目模板中会出现“ASP.NET网站”选项,选择该项创建新网站即可。新建完成的项目中会自动在Web.config中做好相关的配置。
2 通用办公自动化系统的设计
通用办公自动化系统采用基于B/S结构实现,具有简单,操作方便,易于使用的特点,且可以显著降低维护费用;整个系统采用模块化设计与实现,使系统具有很强的稳定性、可扩充等性能。系统主要包括3大模块,如图2所示。
(1)个人事务。个人事务包括个人邮件管理、内部信息管理、工作事务管理(查看、发送、接收、审批)、个人信息管理等。个人事务只面向系统中有使用权限的最终工作人员,其中在审批功能为有权限的管理层人员,其他人员只有接收领导批示的权利。
(2)公文管理。公文管理主要针对有流程的公文进行管理,包括公文起草与提交(系统提供各种类型公文模板,可以在线或下载后起草提交)、公文审批(根据流程进行公文的流转)、归档公文查询(所有公文流转后都要进行归档处理,可以对归档的公文进行查询)、公文流转流程维护(公文流转流程可以由用户自定义管理,包括流程的建立,已有流程的修改、删除)。
(3)系统管理。系统管理内容包括系统维护(系统基本信息设置、启用与暂停、系统界面样色、数据库备份与回复等功能)、权限设置、人事管理(人事档案管理、部门管理)、事务类别管理、角色管理等。
3 ASP.NET AJAX在系统中的应用
在Web网站应用程序中应用ASP.NET AJAX技术能使页面实现无刷新更新,使系统响应速度加快,服务器负荷有效降低,并使用户有较好体验。ASP.NET AJAX在通用办公自动化系统中的应用包括登陆界面、日历控件、查看事务等所有需要交互的大部分操作。
以在页面中添加日历控件为例,说明 ASP.NETAJAX在系统中的应用。在Visual Studio 2008的网站项目中,直接添加“ASP.NET AJAX窗体”项目(该项目已内置“ScriptManager”控件);然后在该网页的设计视图中,添加AJAX Extensions下的“UpdatePanel”控件,再把日历控件“Calendar”拖放到设计视图中“UpdatePanel"容器中。这样,不需要编写额外代码,就可以轻松实现页面日历部分的局部刷新。该部分的关键代码如下:
4 结语
这里主要完成一个基于ASP.NET AJAX的通用办公自动化系统设计,完成了系统的个人事务管理、公文管理、系统管理等三大模块功能。其中,大部分涉及到交互的操作都结合了ASP.NET AJAX技术,实现了数据的异步请求操作。在企事业单位的实际使用中,该系统运行稳定,系统响应速度快,执行效率高,用户体验良好。