日期:2013-08-04  浏览次数:20468 次

目 录



一、前言…………………………………………………………………………………1

二、问题定义……………………………………………………………………………1

三、设计目标.…..………………………………………………………………………2

四、设计任务……………………………………………………………………………2

五、可行性可分析………………………………………………………………………3

六、总体设计……………………………………………………………………………5

七、MyCollege.Net中子系统的体系结构………………………………………………7

八、MyCollege.Net所倡导的应用系统开发流程………………………………………9

九、MyCollege.Net中的身份认证与权限控制策略……………………………………11

十、MyCollege.Net中公共数据资源数据访问策略……………………………………11

十一、统一身份认证子系统中的关键技术……………………………………………12

十二、系统测试…………………………………………………………………………13

十三、小结…………………………………………………………………………………16

十四、参考文献……………………………………………………………………………16













MyCollege.Net系统规划与总体设计



王 云

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



摘要:MyCollege.Net系统采用基于XML的开放式结构,为MyCollege.Net内部其它应用系统的开发和应用提供了一种崭新的思路。应用系统可以通过MyCollege.Net的核心子系统提供的统一身份认证服务和公共资源共享服务,提高各种数据资源在系统级的复用度,在简化系统开发,增强系统功能、增强用户登录体验等方面收到良好的效果。

Abstract:The system named MyCollege.Net, which uses opened architecture based on XML, provides a fresh idea and method for its internal subsystems and other applications. The applications can make data more re-usable on system level and achieve better effect on simplifying system development, enhancing system functions and user logon experience through the Universal Identity Authentication Service and the Common Resource Sharing Service of MyCollege.Net core subsystems.

关键词 WebService 统一身份认证子系统 公共资源管理与共享子系统

一、 前言

在MyCollege.Net系统的开发中,作为组长,我主要负责整个系统的规划和总体设计,负责小组成员之间的协调并提供技术支持。针对问题定义提出了相应的解决方案,确定了MyCollege.Net的两个核心子系统并划定了各自的功能,并在技术上论证了开发该系统的可行性。为了降低其它小组成员开发各个子系统的难度,在总体设计中我定义了核心子系统开发所应采用的软件体系结构,给核心子系统的体系机构提供了参考。最后,制定了MyCollege.Net下其它应用系统的开发流程、身份认证及数据访问所应采用的策略。

二、 问题定义

在高校不同的信息管理系统之间,比如图书馆管理系统和学籍管理系统中,都有对于系统用户进行管理的功能,不同的用户有不同的用户名,密码,权限等等。在传统的开发方式下,不同的信息管理系统中都必须处理用户身份认证和授权控制问题。但实际上它们的处理方式基本是一致的,由于这个功能不能在不同的系统之间复用,这就造成了系统的重复开发。另一方面,当一个特定的人同时充当多个不同信息管理系统中具有特定权限的用户时,他需要重复的在各个系统中注册,同时必须记住在不同系统下的用户名和密码等信息,这自然就带来了众所周知的人为安全问题:如果他采用同样的用户名和密码,那么一旦不小心泄露出去后果将不堪设想;如果他采用完全不同的用户名和密码,那么他就需要记住这些不同的信息,这对用户来说无疑是一个挑战。因此,能否有一种方法,让用户注册一次就可以在不同的系统中使用受限的服务,从而避免重复注册呢?

围绕着不同应用系统之间各种资源复用的主题,继续深入下去后我们发现,上述的图书管理系统和学籍管理系统都要使用全校学生的基本信息,实际上还有很多其他的信息管理系统在使用着这些基本信息。那么学生的基本信息是存放在一个单独的数据库服务器上呢还是单独存放在独立的服务器上呢?

在前一种方式下,其它的系统要远程连接到数据库服务器上,学生基本信息数据库的结构一旦确定就不能轻易改动,否则会牵一发而动全身,造成其它系统的不稳定。而且还存在一个跨平台的问题,虽然不同的应用系统采用标准的SQL语句与数据库进行通信,但当信息管理系统运行在异构的网络环境中或运行在不同的系统平台上时,如何与数据库服务器互连又是一个棘手的问题。

而后一种方式虽然数据库独立性比较强,但它又会带来数据的重复存储,数据不一致性增大,系统的重复开发等问题。

归根揭底,所有的这些应用系统缺乏一种统一的规划,软件工程中的复用技术无法在系统级实现,系统之间公共数据资源不能被共享,通讯协作在系统级难以实现。因此我们的设计《基于XML的开放式集成系统(MyCollege.Net)设计与开发》试图对此问题进行统一的规划,在全局上给出一个尽量完善的解决方案。同时顺应现代软件网络化的潮流,加强各种应用子系统之间通过网络进行协同工作的能力。

三、 设计目标

以一种灵活的方式集成高校内部已有的、现存的和未来的各种应用系统,对这些应用系统提供最基本的服务,最大限度的提高各个应用系统之间的资源共享程度,增强不同应用系统之间的协同工作能力,最终促进高校的网络化管理。

四、 设计任务

MyCollege.Net运行的支撑环境是统一身份认证子系统(UIA)和公共资源管理与共享子系统(CResource)。这两个核心子系统对MyCollege.Net中其它子系统的开发运行提供了支撑环境。需要说明的是应用系统和子系统在MyCollege.Net下是同一个概念,所有的应用系统一旦集成进来就成为MyCollege.Net下的子系统。

公共课成绩管理子系统是为了便于公共计算机教育部对于公共课成绩的管理及网上发布而开发的。这个子系统的开发完全是在我们的MyCollege.Net下进行的,遵循我们制定的MyCollege.Net下应用系统开发流程,使用了MyCollege.Net中的各种服务,包括统一的身份认证、集中的基于角色的授权控制以及对于公共数据资源的访问。另一方面该系统的成功开发及与MyCollege.Net核心子系统的顺利集成也将证明MyCollege.Net设计的先进性和可行性。

五、 可行性分析

开发这样一个复杂的系统,究竟在技术上能不能实现、能否产生预期的效果呢?通过上述设计任务的描述,我们知道该系统最核心的部分是UIA和CResource,而最大的困难就是寻找一种灵活的、简单的技术实现网络环境下数据的传输和交换,这种技术必须是标准的、跨平台的,网络结构无关的。幸运的是在Microsoft.Net平台上,有一种叫WebService的技术,这种技术完全可以满足我们的要求。同时.Net平台还有很多其它的优点,现分述如下:

(一) Microsoft.Net特点

1、 创建高度分布的应用程序

商务应用程序的趋势一直是高度分布的模型。下一代的应用程序要将它们的元素分布在各个机构中。它与当今的主要模型形成了鲜明的对比——在当今的主流模型中,应用程序(除了基于浏览器的客户程序)的所有元素都位于一个机构的内部。

2、 简化软件开发

开发人员需要能够将注意力集中在应用程序的业务逻辑处理部分,而不是为状态管理、伸缩性等编写逻辑代码。在.NET中,编写Internet应用程序不需要具备太多的Internet专门的技术知识。