基于Web Service技术的校园数字化办公系统的设计与实现二(页1) - 信息 ...

基于 Web Service技术的校园数字化办公系统的设计与实现 二

四、技术方案
1.        三层系统架构
本系统采用B/S/D(浏览器/服务器/ 数据库)三层结构设计(如图4),其三级结构组成如下:

图4 三层结构示意图
第一层,浏览器是表示层,完成用户接口功能。在客户端向URL指定的Web服务器发出HTTP请求,Web服务器用HTTP协议把所需 文件 资料传给用户,客户端接受 资料并显示在WWW浏览器上。客户端浏览器要求Microsoft internet Explore5.0以上。
第二层,Web服务器是功能层,完成客户申请的应用。即Web服务器接受客户请求,以CGI或ASP与数据库连接,进行申请处理,而后将处理的结果返回Web服务器,再由Web服务器传至客户端。由于服务器 操作系统采用Microsoft windows 2000 Server,所以Web Server软件我们采用Win2000内置的IIS5.0。
第三层,后台数据库是数据层。数据库服务器应客户请求独立地进行各种处理。因为我们采用.NET技术,考虑到系统的兼容性和低成本问题,选用Microsoft SQL Server数据库系统。
2.        关键技术
C#语言是2001年 微软公司推出的可以在.NET 平台的网络环境中开发软件的新一代面向对象的编程语言。它采用虚拟机技术使其具有强大的可移植性和安全性,为建立复杂的、可扩展、可移植的WEB应用提供了强有力的支持,被称为一种划时代的程序设计语言。
.NET提供了基于组件的多层体系结构 ,使得C#应用程序兼有组件技术和多层体系结构的优点,编写十分简单,因为业务逻辑被封装成为可复用的组件,并且.NET服务器以容器的形式为所有组件类型提供后台服务,使开发者将精力集中在业务逻辑的开发中,而不必关心底层细节。对于最终用户来说,.NET技术的实现将使计算机的功能得到大幅度的提升,而计算机的操作却变得更加简单。他们将完全摆脱人为的硬件束缚,利用任何设备、通过任何系统、在任何时间、任何地点访问互联网的多维时空,并对其进行跨应用程序的集成。对于网络开发来说,借助.NET技术所提供的基于XML的松散偶合技术,真正的将应用程序逻辑分发在网络上,实现跨平台访问。
我们选用成熟、流行的 Windows 2000 Server网络操作系统;C#+ASP.NET作为WEB开发工具;同时考虑到系统的兼容性和低成本问题,选用Microsoft SQL Server数据库系统。由C#+ASP.NET + Microsoft SQL Server+ Windows 2000 Server构成的系统统一使用了微软开发环境,构建在.NET FRAMEWORK平台上,因此,减少了系统冲突的问题,开发效率高、并使得系统的性能易于达到最优。
3.界面原则
整个系统以蓝色为主体基调,界面简洁,方便实用。同时保持了多方面的一致性原则,包括:
(1)外观一致性。 所有模块的显示界面均要按照一致规范,如页面背景、表格、文本框、下拉框、单选框、复选框、按钮等的位置、大小、颜色、字体、排列方法、所用图片等均要求一致。
(2)操作一致性。各功能模块的操作方法要求一致,这包括按钮的位置、排列顺序等。
(3)代码原则。所有的程序代码编写均要采用缩进式,并要求附有函数功能说明、参数说明、关键代码说明等。
(4)操作界面约定。由于考虑到系统今后的可扩展性及用户操作的方便,整个系统的主页面分为三个部份,左为操作树,用于折叠显示各功能模块;右上为常用功能工具条,用于快捷地打开常用功能,右下边为主要操作区,提供数据显示及相关的操作。如图6所示。


图6 数字化办公系统界面
五、课程管理模块
课程管理是教学管理子系统的核心部分,该模块帮助教学秘书完成教师课程信息,开课信息和信息的管理,包括三个具体的查询和编辑模块。
1.课程管理模块功能
(1)教师查询:在教师姓名的文本框中输入姓名,即可获得该教师所授的课程信息。

图7  教师任课查询
(2)课程查询:在课程名的文本框内添加课程,可查询现在和以前所有开过该课程的教师及课程的其他相关信息。
(3)信息编辑:新的课程编排,需要添加新的课程纪录,点击“课程信息添加”即可在提示框中添加相关信息,在添加完成后会出现编辑的界面,可以进行相关的更改和删除。
2.数据库的实现
使用Microsoft SQLServer 2000建立名为CLASS的数据库,在建立一个同名的表,以classId为主键,包括的列如下表。
classId        className        classTeacher        classGrade        classTime        classWeek        classAddress
课程号        课程名称        开课教师        开课年级        开课学期        上课时间        上课地点
……
        ……        ……        ……        ……        ……        ……
其中:第一行为数据库中的列名,第二行为相关的中文说明,第三行的省略号代表表中的具体纪录。
3.通过ADO.NET访问数据库
ASP.NET 通过ADO.NET访问数据库。ADO.NET是ADO的改进版本。ADO.NET 的两个核心组件是.NET Framework 数据提供程序和 DataSet。
ADO.NET Framework 数据提供程序,是一组包括 Connection、Command、DataReader 和 DataAdapter 对象在内的组件,其组件的设计目的相当明确:为了实现数据操作和对数据的快速、只进、只读访问。Connection 对象提供与数据源的连接。Command 对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader 从数据源中提供高性能的数据流。最后,DataAdapter 提供连接 DataSet 对象和数据源的桥梁。DataAdapter 使用 Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对 DataSet 中数据的更改与数据源保持一致。
      ADO.NET DataSet 是 ADO.NET 的断开式结构的核心组件。DataSet 的设计目的很明确:为了实现独立于任何数据源的数据访问。因此,它可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。DataSet 包含一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关 DataTable 对象中数据的关系信息组成。
从 ASP.NET 访问 SQL 数据库的步骤 :
(1)使用 SqlConnection 类创建一个数据库连接。
public void Search_Click(Object sender,EventArgs E)
{
        //连接到本地计算机的class数据库
        SqlConnection cn=new SqlConnection("Server=localhost;uid=sa;pwd=;database=class");
        ……
        //打开class数据库的连接
        cn.Open();
        ……
        //关闭class数据库的连接
        cn.Close();
}
(2)本程序使用了两种方法获取数据结果
1)建立数据连接后,用Command对象来执行命令并从数据源返回结果。 本程序用Command的构造函数来创建Command对象,指定了要执行的SQL语句和Connection对象。然后使用了参数查询,如果要创建一个使用多次但每次使用不同值的查询,那么应该在查询中使用参数,即创建参数查询。参数是查询时所提供值的占位符,它在SQL语句中用@号加标识符(对于SQL Server.NET Data Provider)。Command 对象包含一个Parameters属性,它是所有参数的集合。可以使用Parameters的Add()方法来建立参数。Add()方法的第一个参数是参数的名称,第二个参数是参数的类型,第三个参数是参数的长度。最后使用了ExecuteReader()方法返回一个DataReader对象,并将该对象绑定到DataGrid控件。DataReader对象是一个仅向前的只读数据流。
public void Search_Click(Object sender,EventArgs E)
{
        //构造SQL语句,该语句用于查询教师姓名与输入文本框中内容相符的教师的开课信息
        String strSQL="select className,classGrade,classTime from class where classTeacher=@classTeacher";
        //创建Command对象cm
        SqlCommand cm=new SqlCommand(strSQL,cn);
        //添加一个参数@classTeacher
        cm.Parameters.Add(new SqlParameter("@classTeacher",SqlDbType.VarChar,12));
        //给参数赋值,即将开课教师的文本框中的信息赋值给@classTeacher
        cm.Parameters["@classTeacher"].Value=classTeacher.Text;
        cn.Open();
        //执行ExecuteReader()方法
        SqlDataReader dr=cm.ExecuteReader();
        //将DataReader对象绑定到DataGrid控件
        dgCust.DataSource=dr;
        dgCust.DataBind();
        cn.Close();
}
2)使用 SqlDataAdapter 类从数据库中选择一组记录。 再使用 SqlDataAdapter 类填充新的 DataSet。最后将服务器控件DataGrid绑定到 DataSet。
public void BindGrid()
{
        //创建DataAdapter对象da,选择class数据库中的所有信息
        SqlDataAdapter da=new SqlDataAdapter("select * from class",cn);
        //创建并填充DataSet
        DataSet ds=new DataSet();
        da.Fill(ds);
        //绑定到DataGrid控件
        dgCust.DataSource=ds;
        dgCust.DataBind();
}
(3)使用DataGrid控件以表格形式显示数据项的内容,它支持数据项的选择、排序、分页和修改。
<asp:DataGrid id="dgCust" runat="server"
        Width="700" BackColor=""
        BorderColor="black" ShowFooter="false"
        CellPadding=3 CellSpacing="0"
        Font-Name="Verdana" Font-Size="8pt"
        HeaderStyle-BackColor=""
        //可以自行控制数据表格中列的表现形式和布局
        AutoGenerateColumns="false"
        MaintainState="false">
        //<Columns>和</Columns>标记之间定义了要包含和定义的列,HeaderText属性设置显示在列表头中的文本,DataField属性设置列对应的数据原字段。
<Columns>
        // BoundColumn将数据源中的一个字段绑定到数据表格的一个列中
        <asp:BoundColumn HeaderText="课程名称" DataField="className"/>
        <asp:BoundColumn HeaderText="开课年级" DataField="classGrade"/>
        <asp:BoundColumn HeaderText="开课学期" DataField="classTime"/>
</Columns>
</asp:DataGrid>

六、总结
电子商务学院数字化办公系统以 电子商务学院日常工作流程为基础,整理并且规范了学院日常工作包括的大多数主要事务,实现了二级学院日常办公、教学和科研管理工作的需要。由于各校各院系行政工作流程相似,并且在系统得开发过程中考虑到系统的扩展性,为二次开发和其他系统提供了接口,所以该系统具有良好的通用性,不仅局限于 电子商务学院的管理应用,更可以推广到其他高校二级院系的管理中。
参考文献
[1] 李洪心 姜明:基于J2ME和Web服务的移动电子商务应用的研究与实现,第七届国际电子商务大会会议论文集,2005.8. p.928 -931
[2]李长树.办公自动化系统的设计方法与实施策略[J].计算机应用研究,2000,(7).
[3]胡迎松,彭利文,池楚兵.基于.net的Web应用三层结构设计技术[J].计算机工程,2003,29(8).
[4][美]Richard Anderson , Brian Francis. ASP. NET高级编程[M].王毅,杨浩,等译. 北京:清华大学出版社,2002.
[5] 孟晓娜 杨连贺:浅析校园网中应用软件的组成,教育 信息化,2004年第9期
[6] Li Hongxin, Magang, Cui Lili: Digitized OA System Construction of University Based on Web Service Technology. icec2005:Towards Ubiquiyous Business, Seventh International Conference on Electronic Commerce 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值