公共资源管理与共享子系统——公共资源共享模块

目 录

摘要 ……………………………………………………………………………………………1

一、引言 ………………………………………………………………………………………1

( 一 ) 开发公共资源管理与共享子系统的意义 ………………………………………………1

( 二 ) 应用技术简介 ……………………………………………………………………………2

1 . 开发工具 (Microsoft Visual Studio.net 、 C# 、 SQL SEVER) 的 简介

2 .关键技术 ADO.NET 的介绍

二、 需求分析 …………………………………………………………………………………4

三、系统设计 …………………………………………………………………………………5

( 一 ) 体系结构 …………………………………………………………………………………5

( 二 ) 公共资源共享模块详细设计 ……………………………………………………………7

( 三 )WebService 层的界面和源代码 ………………………………………………………7

( 四 ) 对系统进行的软件方面的优化 ………………………………………………………14

( 五 ) 应用示例 ………………………………………………………………………………15

四、结论 ………………………………………………………………………………………15

五、致谢 ………………………………………………………………………………………15

六、主要参考文献与附录 ……………………………………………………………………16

( 一 ) 主要参考文献 …………………………………………………………………………16

( 二 ) 附录 ……………………………………………………………………………………16

附录 1 :体系结构图 …………………………………………………………………………16

附录 2 : 公共资源共享模块中学生信息的调用过程图 ……………………………………17

附录 3 : 公共资源共享模块中院系信息的调用过程图 ……………………………………18


** 公共资源管理与共享子系统 **

—— 公共资源共享模块

帅琳娜 ** **

西南师范大学计算机与信息科学学院,重庆 400715


** 摘要 ** 公共资源管理与共享子系统提供了 MyCollege.Net 中各种应用系统最常使用的公共数据资源,应用系统可以通过网络受控的使用这些数据资源。不同的应用系统对于不同的资源类型及资源属性有不同的访问权限。这样各应用系统的开发将有很强的灵活性,开发者可以针对该系统未来的运行环境(如网络状况等)制定出相应的数据访问方案,在减少数据的冗余性,增强数据更新的同步性,数据使用的跨平台性等方面获得最好的效果。

** Abstract ** ** ** The system of common resource management & share provides common data resource for kinds of application systems in Mycollege.Net. In control of qualification, application systems can use these data resource by network .Different application systems have their access qualifications for different resource types and resource attributions. So, programmers can flexibly develop various application systems and they also can design proper data access scenarios in according to the running environments in the future (e.g. the statements of network).Besides these advantages, our system can reduce data redundancy, enhance the synchronization of the data update and application systems can use data in different develop environments.

** 关键词 ** ** ** 公共资源 管理 共享 信息 权限 ** **


** 一、引言 **


公共资源管理与共享系统模块是由我们小组两人共同努力完成的。其中公共资源管理模块,数据库设计及部分数据访问层的代码由郑亚芬完成;公共资源共享模块,权限控制及部分数据访问层的代码由帅琳娜完成。其它的工作由我们两人共同完成。


** ( ** ** 一 ) 开发公共资源管理与共享子系统的意义 **


公共资源管理与共享子系统主要是对学生资料以及院系资料的管理。学校里各个管理系统都需要学生或院系的资料。比如说:图书馆管理系统,学校机房管理系统,学费收费管理系统等等。假如每个管理系统的数据库中都必须存储学生资料的话,那么同样的工作需要重复进行。这样不仅会造成资源的浪费,增加系统开发的难度;而且容易出现数据的冗余和数据访问的不一致。我们开发本系统就是为了解决上述这些问题。

本系统的 开发是基于 WebService 模式的, 目标是实现公共资源的集中管理,并通过网络实现公共资源在不同系统、不同平台下的共享。 其它管理系统只需调用本系统提供的公共调用接口就可以直接访问所需的公共资源信息,没必要自己再设计此方面的数据库 。这样一方面可以避免公共资源信息重复存储造成的资源浪费和数据冗余,另外也简化了其它管理系统的开发。


** ( ** ** 二 ) ** ** 应用系统简介 ** ** **


** 1 . 开发工具简介 **

** ** ** Microsoft Visual Studio.net ** ** ** 是全方位的开发平台 , 可以使用它来开发一般的应用程序 、 数据库应用程序 , 硬件的驱动程序或是 Web-based 应用程序。 Visual Studio.net 包含了 Visual Basic,C/C++ 以及 C #等不同的语言,开发者可以根据需要选择采用何种语言,当然它也提供了不同程序语言间的整合性功能,例如COM+。另外在Visual Studio.net 中还提供了可视化的开发环境,你可以快速完成应用程序的接口设计。对于本系统我们采用Visual Studio.net 中的C#作为开发语言。

** C# ** 是一种面向对象的程序设计语言,它的基本语法与 C/C++ 相同,其将软件开发中的逻辑分成 5 大部分:商业外观层( BusinessFacade ),商业规则层( BusinessRules ),数据访问层( DataAccess ), Model 层等。这种逻辑上的划分使得软件的开发更加方便,并使语句和数据库的访问分开,而由商业规则层单独提出规则,便于软件的扩展和维护。

** Microsoft SQL Sever ** 是高性能的客户/服务器关系数据库管理系统。有许多重要的新特性,如透明分布式处理、简明管理、基于对象嵌入与链接技术 (0LE) 的程序设计接口,以及与 Internet 的集成等。选择 Microsoft SQL Sever 最重要的原因是由于它的可扩展性。因为 Microsoft SQL Sever 是基于多线程并行数据库内核,它能够发挥附加处理器的优势。在许多情况下,只有使用特定的并行数据库和操作系统才能获得对对称多处理技术的支持。当然它还具备很高的安全性,对用户资料进行有效的保护。


** 2. ** ** 开发本系统所使用的关键技术 **

本系统的代码编写完全采用了面向对象化的编程思想,其中很多函数类都是封装和继承的。我们的 整个系统 MyCollege.Net 采用了 . Net 技术 作为 主要的 开发 技术,而作为 MyCollege.Net 中的一个模块——公共资源管理与共享子系统,由其所实现的功能性质决定了其需要管理的数据量很大,提供给用户调用的数据也很多。为了保证用户能够高效准确的调用数据,我们采用了三层构建模式,并在数据访问层采用了 ADO.NET 技术。

** ADO.NET ** ** 技术的介绍 **

(1) ADO.NET 的编程基础:

ADO.NET 是在 .NET Framework 平台中负责数据存储的对象。

(2) 什么是 ADO.NET 技术及使用的必要性?

ADO.NET 是 Active Data Objects2.6(ADO) 的后续版本。 ADO.NET 的主要目的是可以在 ** . ** NET Framework 中更容易的创建分布式的数据共享的应用程序。 ADO.NET 建立在如 XML 的业界的基础之上,就像 ADO ,它提供了一个数据访问接口,以便和 OLE DB 兼容的数据源进行通信,如 SQL Server 或 Oracle 。应用程序可以使用 ADO.NET 连接这些数据源,并检索,处理和更新数据。

可能大家已经学过 ADO ,那么在旧版本还能正常工作时,为什么还要学习新的数据访问对象模型呢?如果需要,也可以在 NET.Framework 中使用 ADO ,但需要为 COM 层方面付出一些性能上的代价,另外, NET.Framework 并不支持 COM Variant 数据类型,这是 ADO 用于 Recordset 对象中的 Field 对象值的数据类型,也就是说,如果在 ** . ** NET 中使用 ADO Recordset 对象,为了访问数据, NETCLR 就经常会对每个字段进行类型转换,如果要一直访问数据,进行这些类型转换就会造成太大的系统开销。

使用 ADO.NET 最重要的理由是可以获取一个真正断开连接的数据体系结构和 XML 的紧密集成和一个通用的数据表示法,可以将各种不同数据源中的数据组合起来,并优化了和数据库交互的功能,同样 ADO.NET 和 NET.Framework 的其它部分紧密的集成在一起,并充分利用 NET.Framework 中所有对象的层结构及设计模式。 ADO.NET 建立在 ADO 的基础之上,而且为数据访问工具集提供了许多工具。

(3) ADO.NET 的特点

(a) ADO.NET 使用不连接的数据结构;

(b) 数据被缓存到数据集内;

(c) 数据集独立于数据源;

(d) 数据保持为 XML

数据需要从数据存储区移动到数据集以及从数据集移动到各种组件,在 ADO.NET 中,传统数据的格式是 XML 。类似地,如果需要保持数据,则将其存储为 XML ,如果有 XML 文件,则可以像使用任何数据源一样使用它,并从它创建数据集。

实际上,在 ADO.NET , XML 是数据的基本格式, ADO.NET 数据 API 自动用数据集内的信息创建 XML 文件或流,并将它们发送给另一个组件,第二个组件可以调用类似的 API 将 XML 读回数据集。

(e) 使数据协议以 XML 为基础可提供一个多便利之处, XML 是工业标准格式。这意味着你的应用程序数据组件可以与其他任何应用程序中其他任何组件交换数据,只要该组件理解为 XML ,许多应用程序被编写为可理解 XML ,为异类应用程序间交换提供空前高的水平。

XML 是基于文本的,数据的 XML 表示形式不使用任何二进制信息,这使它可以通过任何协议发送,大多数防火墙将阻塞二进制信息,但通过将信息格式化为 XML ,组件仍可以方便的交换信息。对于大多数方案,不必知道 XML 便可以使用 ADO.NET 中的数据。 ADO.NET 自动根据需要将数据转换为 XML 或 XML 自动根据需要将数据转化为 ADO.NET ,便使用普通编程的方法与数据进行交互。

(f) 架构定义数据结构

尽管不必知道有关 XML 的任何事情便可以读写数据库和数据集,但也有一些事情使用 XML 恰是你追求的标准。不打算访问数据而要进行数据设计时的情况,也就是,在 ADO.NET 中使用元数据时,将直接使用 XML 。

数据集以 XML 表示,数据集的结构使用 XML 架构进行定义,就像数据集包含的数据可以从 XML 加载和序列化为 XML ,数据集的结构也可以从 XSD 架构和序列化为 XSD 架构。

对 ADO.NET 中的数据进行的大部分操作,不必深入钻研架构。通常,基于 Visual Studio.NET 工具将可以在可视化设计器中进行操作,并根据需要生成和更新架构。

** 二、需求分析 **

** 功能描述 **

公共资源管理与共享子系统 主 要完成学生 信息 管理,院系 信息 管理及共享权限控制三大功能。

** 1 ** ** 、学生信息管理包括以下的内容: **

(1) 学生信息:姓名,学号,性别,身份证号码,专业,院系,宿舍电话,宿舍地址,家庭电话,生源地,家庭住址等信息。

(2) 功能模块:

(a) 添加信息

(b) 修改信息

(c) 删除信息

(d) 查询信息 ** **

** 2、 ** ** 院系 ** ** 信息 管理包括以下内容 : **

(1) 院系信息:包含学院名 , 代号,创建时间等。所开设专业资料包含专业名 , 代号,创建时间等。

(2) 功能模块:

(a) 添加信息

(b) 修改信息

(c) 删除信息

(d) 查询信息 ** **

** 3、 ** ** 访问权限控制: **

该系统的所有数据存取功能都将通过网络调用接口向外部公开,因此可以说这是一个纯粹的开放式系统。不同的应用系统都可以使用其中的数据资源,但对于不同的管理系统,它们使用本系统的数据权限不一样。

(1) 权限控制属性包括:应用系统的 USID ,资源类型,属性,可读,可写。

(1) 功能模块:

可读属性:只包含查询操作权限。由应用系统的 USID 和资源类型这两个属性来共同决定用户只能进行相应的查询功能,而且查询返回的相关资料类型与数量也是由应用系统的 USID 和资源类型来决定的。

可写属性:包含了查询,添加,删除,修改等操作权限。由应用系统的 USID 和资源类型这两个属性来共同决定用户具有以上相关操作的权限,而且也是根据应用系统的 USID 和资源类型来决定对哪些资料进行以上操作。 ** **


** 三、系统设计 **

** ( ** ** 一 ) 体系结构 **

为了实现本系统的两个主要功能,我们采用了三层设计模式:用户界面层、中间层和物理数据库层。其中,中间层又分为: WebService 层,商务外观层 (Business Façade) ,商务逻辑层 (Business Rules) 和数据库访问层 (DataAccess) 。商务外观层和商务逻辑层都可以访问数据库访问层。商务外观层主要是针对用户的,而 WebService 层则是面向不同的应用系统。本子系统设计结构的构建参考了整个系统的体系结构,是 Mycollege.Net 体系结构的一个简化。

(1) 结构图如附录 1 。

(2) 根据结构图对各层描述如下:

(a) 商务外观层( BusinessFacade )

它主要是封装应用系统中分散的商务逻辑,给用户表示层提供一个简洁的无状态的界面。它实际上是对需求在函数接口层的精确描述,即该层类中的函数完全表达了需求中涉及的功能。这样,一旦该层设计完成,表示层的开发者就可以利用该层进行独立的界面开发。

在我们这个子系统中,它主要面向调用公共数据资源管理模块的用户。当某个用户通过界面层对我们公共数据资源进行操作时,该模块首先把它传递给商务外观层,接着商务外观层就将该用户的需求传递给数据库访问模块,以便数据库访问模块执行相应的操作,然后商务外观层再对数据库访问模块返回的值做出响应,若操作成功则向用户返回成功信息,否则返回错误信息。

(b) 商务逻辑层( BusinessRules )

BusinessRules 层主要是表达商务规则。在本子系统模块中,它主要设置用户对数据资源共享时的权限规则。

(c) WebService 模块

WebService 模块是一个开放函数接口。它主要面向共享本子系统数据资源的应用系统。当某个应用系统通过 WebService 模块调用公共资源时,该模块就把应用系统的要求传递给商务逻辑层,商务逻辑层应用其规则首先判断它的访问权限,若权限允许,商务逻辑层就将该应用系统的要求传给数据库访问模块,以便数据库访问模块执行相应的操作。然后 WebService 模块再对数据库访问模块返回的值做出响应,若操作成功则向用户返回成功信息,否则返回错误信息。

(d) 数据库访问模块 (DA)

数据库访问模块 (DA) 的主要功能是直接对数据库执行各种操作,如向数据库中添加新的信息,删除数据库中的某个信息,按要求查询信息及修改数据库中的信息等,同时根据执行情况返回一个相应的值。

(e) 物理数据库

<SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 150%; FONT-FAM

Published At
Categories with Web编程
Tagged with
comments powered by Disqus