




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
硕士学位论文 m a s t e r st h e s i s 摘要 w | e b 服务提供了一种建立在现有互联网标准之上的面向服务的架构,作为新一 代的分布式应用,具有松散耦合、语言中立、平台无关等优点,为在i n t e m e t 上共 享业务数据和系统功能模块提供了一种有效的手段,能够较好地实现企业应用集 成。因此,将w 曲服务应用于实验室管理信息系统中具有较强的理论和实践意义。 对w r e b 服务进行简单的分析后,它被应用于实验室管理信息系统的系统架构 中,使得实验室管理信息系统的资源共享和功能共享成为可能,从而达到资源共享 和软件功能模块的重用。 此外,按照教育部发布的高等学校基础课教学实验室评估标准表,同时结 合实验室管理信息系统中的功能,对w ,e b 服务的功能进行了详细的设计,并采用 m i c r o s o r s u a ls t u d i o2 0 0 5 和m ss q ls e r v e r2 0 0 5 实现了w 曲服务的功能。 然后分析了微软推出的支持w s s e c u r i t y 等规范实现s o a p 消息安全的工具包 w s e 3 0 ,对w s e 3 0 的内置安全策略断言进行了详细阐述,并采用w s e 3 o 开发工 具实现了w e b 服务的基于用户名令牌的用户身份认证,以及使用x 5 0 9 证书实现了 对s o a p 消息的数字签名与加密等安全功能,实现了基于消息级别安全的w 曲服务。 最后,采用v i s u a ls t u d i o2 0 0 5t e 锄e d i t i o nf o rt e s t e r s 对l a b m i s w r e b s e r 代i 韶 项目进行了功能测试和负载测试,保证了l a b m i s w e b s e r v i c e s 项目的正常运行。 关键词:w 曲服务;实验室管理信息系统;w s e 3 o ;安全;测试 硕士学位论文 m a s t e r st h e s i s 华中师范大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师指导下,独立进行研究工作 所取得的研究成果。除文中已经标明引用的内容外,本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在 文中以明确方式标明。本声明的法律结果由本人承担。 作者签名:别侈辟日期:扣彦年占月弓日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借 阅。本人授权华中师范大学可以将本学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。同时授权 中国科学技术信息研究所将本学位论文收录到中国学位论文全文数据库,并通 过网络向社会公众提供信息服务。 作者签名:易1 传脾导师签名:巩“忙 日期:扣阡月弓日日期:盼6 月多日 本人已经认真阅读“c a l i s 高校学位论文全文数据库发布章程 ,同意将本人的 学位论文提交“c a l i s 高校学位论文全文数据库”中全文发布,并可按“章程 中的 规定享受相关权益。回童途塞握銮厦澄厦! 旦圭生;旦二生;旦三生筮查! 作者签名:易1 ) 傍鸽 日期:持多月多日 钠始纠人吖 日期:多l p 莎午g 月弓日 硕士学位论文 m a s t e r st h e s l s 第一章绪论 1 1 研究背景和意义 随着高等学校招生规模的扩大,高校学生数量也大量增加。伴随着这种形势, 高校实验室的硬件基础设施建设也出现了一个新的高潮。各个学校从各种途径的国 家计划,或从银行贷款,获得较充裕的资金,添置、更新了大量的实验仪器设备, 开出了许多新的实验项目,扩大了实验教学的规模。 作为承担学生实践能力培养任务的高校实验室,其主要任务有两个方面:首先 要维护、管理好仪器设备,以保障实验教学任务的顺利完成;其次要满足学生的实 践需求,为学生提供更多的实践机会和更好的实践环境。在传统的手工管理的情况 下,仪器设备的管理工作普遍比较混乱,无法精确掌握自有资产的状况,这就影响 其对实验室承担教学实践任务能力的分析;加上受传统管理方式的约束,学生与实 验室管理者之间缺少有效的沟通,造成大多数实验室不能够满足教学计划之外的实 验要求,既降低了仪器设备的使用效率,也不利于学生综合素质的锻炼提高。 从制约实验室管理水平的这些问题可以看出,造成实验室管理水平落后最主要 的一个原因就是没有一个合适的辅助工具来实现实验室的信息化管理。所以,在实 验室管理中应当坚持以信息化带动标准化、科学化,最终实现现代化的思路。通过 推动信息化进程,建立完善的综合管理信息系统,利用计算机辅助管理将管理者从 繁杂的手工劳动中解放出来,推进实验室的管理模式走向现代化,促使实验室各项 任务顺利、高效地完成。 要提高实验室的管理水平,必须要实现实验室管理的信息化。因此,有必要以 教育部发布的教育管理信息化标准( 第1 部分:学校管理信息标准) 、高等 学校基础课教学实验室评估办法和标准 和高等学校实验室工作规章制度选编 为参照标准,设计出一套分布式的实验室管理信息系统来规范实验室日常管理、 减轻管理人员的劳动强度、提高工作效率、促进实验室对外交流与信息共享、使实 验室满足素质教育的需要。 目前,学校已有的各个管理信息系统通常是孤立搭建,只关注某一个业务环节 或管理功能,各信息系统相互独立运行,以致这些位置上分散的系统形成了一个个 。教育部教育管理信息化标准( 第1 部分:高校管理信息标准) 【m 】北京:人民邮电出版社,2 0 0 2 。国家教育委员会文件教各f 1 9 9 5 】3 3 号文件 王兴邦扁等学校实验室工作规章制度选编【m 】匕京:铁道部出版社,2 0 0 2 1 的“信息孤岛 。系统之间难以进行信息共享,对于功能相同的模块也要进行重复 开发,使得系统之间信息一致性难以维护。为了解决这些问题,需要将已有的管理 信息系统进行集成。传统的系统集成的主要技术方案有c o r b a 、i w i 及 c o m d c o m 等技术,而这些技术都是建立在私有的“数据通道 技术之上,内部 机制不对外公开,各个集成方式自身又成为私有的、不可共享的,从而导致集成的 实施费用较高,时间周期较长,给信息共享和软件复用造成了困难。 相比之下,w r e b 服务采用基于s q 廿标准的通讯协议,用w s d l 文件对服务 进行标准的描述,s o a p 和w s d l 都是基于l 的,这保证了订l 的跨平台操 作。同时s o a p 使用标准的h t t p 协议,因此可以透明地穿越防火墙。w r e b 服务可 以在i n t e m e t 上发布,发布的服务可以在切) d i 上进行注册以便于被检索使用,这 满足了系统之间松散耦合的要求。 因此,为了更好的重用实验室管理信息系统中的模块,实现企业应用集成( e m , e n t e r 两s e a p p l i c a t i o ni n t e g r a t i o n ) ,即实现其它系统与实验室管理信息系统之间的互 操作,同时,也为了使重用不必考虑各自运行平台和开发环境的差异,所以,在实 验室管理信息系统中引入了w ,e b 服务,把系统实现的功能划分为不同粒度的服务, 使得系统之间的功能调用转换为服务的调用,并可以将服务的标准接口发布到互联 网,实现跨平台的资源共享。 1 2 论文研究内容 1 2 1 本课题的研究基础 本课题来源于彭文辉教授的湖北省教育厅重点项目实验室规范化信息管理系 统设计与开发( 项目编号:2 0 0 3 x 2 9 ) 。在笔者参与该项目之前,彭文辉教授及其 学生已经为该项目做了很多的研究工作,这是笔者开展本课题研究的基础和前提。 在2 0 0 4 年,华中师范大学信息技术系硕士毕业生阮国龙和刘铭曾经采用 d e p l l i 7 o 和m ss q ls e r v e r2 0 0 0 合作开发了一个基于c s 模式的分布式实验室管理 信息系统( l a b o r 哟r ym a i l a g e m e n ti n f o m a t i o ns y s t e m l o ,简称l a b m i s l o ) ,实 现的主要功能包括:人员管理、实验教学管理、仪器设备管理、规章制度管理和实 验室本身的管理等几大功能模块。 在2 0 0 7 年,华中师范大学信息技术系毕业生滕翼飞对该项目进行了较为深入 的研究,在其硕士论文基于多层结构的实验室管理信息系统架构与中间层设 。阮国龙基于分布式多层结构的实验室管理信息系统的设计与实现咧武汉:华中师范大学信息技术系,2 0 0 4 。刘铭分布式教育管理信息系统的设计与开发【d 】武汉:华中师范大学信息技术系,2 0 0 4 2 硕士学位论文 m a s t e r st h e s i s 安全以及相关的安全性规范进行了分析,然后对w s e 3 0 所支持的内置安全策略断 言进行了详细的阐述,最后采用w s e 3 o 来保证l a b m i s w r e b s e i c e s 项目的安全, 主要实现了基于用户名令牌的用户身份认证和采用x 5 0 9 证书对s o a p 消息的数字 签名与加密等内容。 第五章,l a b m i s w e b s e r v i c e s 项目的测试。采用s u a ls t u d i o2 0 0 5t e a me d i t i o n f o rt e s t e r s 对l a b m 【s w 曲s e r v i c 骼项目进行了功能测试和负载测试。 第六章,总结。对本课题进行了简单的总结,并指出了还需要进一步改进的地 方。 4 服务提供者和使用者之间传送各种请求和应答数据。 ( 4 ) w s d l ,是基于咀。格式的,用来描述w 曲服务。它描述了w e b 服务 可以执行的操作以及w r e b 服务可以发送或接收的消息格式。w s d l 文档可以看成是 客户端和服务器之间的一个协约。服务提供者使用w s d l 发布自己的w e b 服务, 供潜在的服务使用者使用。 ( 5 ) u d d i ,为客户提供了动态查找其它w e b 服务的机制。服务提供者可以将 自己的服务注册到u d d i 服务器中,服务使用者可以在u d d i 服务器中浏览和查询 所需服务。 采用w e b 服务技术,可以利用w s d l 来描述接口、u d d i 来注册服务、s o a p 来实现集成系统之间的通信。而w s d l 、s o a p 和u d d i 都建立在标准协议讧l 基础之上。接口的标准化使得系统内部服务的封装和重用,以及外部系统的接入都 变得容易实现,而且w 曲服务技术可以实现服务的动态发现、绑定和使用,使得系 统更加灵活。 w e b 服务作为新一代分布式应用,具有松散耦合、语言中立、平台无关等优点, 弥补了传统的分布式对象模型的不足,在企业应用集成( e a i ,e n t e 椰s ea p p l i c a t i o n i n 蜒即t i o n ) 、b 2 b 以及b 2 c 的电子商务集成、代码和数据重用等领域得到了迅速的 推广应用。 2 2l a b m i s 2 o 系统架构设计 综合考虑了l a b m i s 2 0 的总体需求以及非功能性需求,本系统采用目前比较典 型的三层体系架构国,具体分为表示层( p r e s e n t a t i o nl a y e r ) 、业务逻辑层 ( b u s i n e s sl o g i nl a y e r ) 和数据访问层( d a t aa c c e s sl a y e r ) ,如图2 2 所示。 表示层处理用户与软件的交互。可能简单到只是命令行或基于文本的菜单系 统。但是,当前的客户界面往往是功能完善的图形用户界面应用程序,或者是基于 h t m l 的浏览器界面。表示层的主要职责是向用户显示信息并把从用户那里获取的信 息解释成业务逻辑层或数据访问层上的各种动作。 业务逻辑,也称为领域逻辑。它就是应用必须做的所有领域相关工作:包括根 据输入数据或已有数据进行计算,对从表示层输入的数据进行验证,以及根据从表 示层接收的命令来确定应该调用那些数据访问逻辑。 。王怀民、周斌译,企业应用架构模式【m 】北京:机械工业出版社,2 0 0 7 年7 月:1 3 1 5 。滕翼飞基于多层结构的实验室管理信息系统架构与中间层设计【d 】武汉:华中师范大学信息技术系,2 0 0 7 6 图2 - 2 三层体系架构 数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问。简单 的说法就是实现对数据表的s e l e c t 、h l s e r t 、u p d a t e 、d e i 朗e 的操作。数据访问层包 含数据存储和与它交互的组件或服务,这些组件和服务在功能上和业务逻辑层相互 独立。 2 3w e b 服务在l a b m i s 2 o 系统架构中的应用 为了更好的重用l a b m i s 2 0 中的模块与功能,实现企业应用集成( e a i , e n t e 印r i s ea p p l i c a t i o ni i l t e 伊a t i o n ) ,即实现其它系统与l a b m i s 2 o 之间的互操作,同 时,也为了使重用不必考虑各自运行平台和开发环境的差异,为此,在l a b m i s 2 o 中使用了w r e b 服务,把系统实现的功能划分为不同粒度的服务,使得系统之间的功 能调用转换为服务的调用,并可以将服务的标准接口发布到互联网,实现跨平台的 资源共享。 所以,为了通过i m e m e t 向其它应用程序共享l a b m i s 2 0 中的业务数据和功能 模块,需要在l a b m i s 2 0 系统架构的基础上增加一个w e b 服务层,如图2 3 所示。 w e b 服务层位于业务逻辑层之上、表示层之下。需要注意的是,在l a b m i s 2 0 中与 表示层进行交互的仍然是业务逻辑层。w 曲服务层将业务逻辑层的功能接口发布到 i n t e m e t 上,应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应 用,而无须理解服务的底层实现,使得l a b m i s 2 。0 的资源共享和功能共享成为可能, 从而达到资源共享和软件模块复用,大大节省了人力和物力。 硕士学位论文 j 幢a s t e r st h e s i s ( 天 l f i表示层 e 因 i 数据访问层 图2 3 在i a b m i s 2 o 系统架构中增加w r e b 服务层 2 4 本章小结 本章主要是关于w e b 服务在l a b m i s 2 0 系统架构中的应用。首先对w 曲服务 的概念及其相关技术进行了简单的阐述,然后详细分析了l a b m i s 2 0 所采用的三层 体系架构,在此基础之上,阐述了w r e b 服务在l a b m i s 2 0 系统架构中的应用。 8 硕士学位论文 m a s t e r 。st h e s i s 第三章l a b m i s 2 o 中w e b 服务的设计与实现 3 1l a b m i s 2 o 中w 曲服务的功能设计 教育部在高等学校实验室工作规程中,提出要逐步建立高等学校实验室 评估制度的要求。通过评估手段,对实验室的设置、教学、设备、环境、队伍、制 度等方面进行全面的评价,从而实现以评促建、以评促改的目的,提高实验教学水 平和投资效益。 w 曲服务是通过调用业务逻辑层的代码将l a b m i s 2 0 中的业务数据和功能模块 提供给其它客户应用程序使用,所以l a b m i s 2 o 中w r e b 服务的功能是l a b m i s 2 o 系统功能的一个子集。 遵照教育部高等学校基础课教学实验室评估标准表圆,同时结合l a b m i s 2 o 系统中的功能,l a b m i s 2 0 中w 曲服务的功能结构如图3 1 所示。 l a b m 【s 2 ow e b 服务提供的功能 实 验 室 基 本 信 息 实 验 课 程 信 息 实 验 项 目 信 息 实 验 报 告 信 息 实 验 教 学 信 息 实 验 考 试 与 考 核 教 师 所 带 课 程 信 息 实 验 教 学 记 录 实 验 队 伍 信 息 仪 器 设 备 信 息 低 值 耐 用 品 信 息 仪 器 设 备 信 息 易 耗 口 口口 信 息 设 备 查 询 与 统 计 耗 材 查 询 与 统 计 规 童 制 度 基 太 信 息 规 童 制 度 信 息 规 童 制 度 执 行 情 况 图3 1l a b m i s 2 0 中w 曲服务的功能结构图 ( 1 ) 实验室基本信息:与各个实验室相关的实验室名称、实验室负责人、实 验室级别、实验室使用面积、实验室专职人员信息以及建设计划等基本信息。 ( 2 ) 实验教学管理是l a b m i s 2 0 的重要功能之一,主要是对实验教学过程动 囝国家教委令( 第2 0 号) 高等学校实验室工作规程1 9 9 2 年 。国家教育委员会文件教备【1 9 9 5 】3 3 号文件 9 态信息的记录。w 曲服务需要提供的功能包括:实验室承担的实验课程与实验项目 信息、本实验室的指导教师信息、学生的实验报告信息、实验实施记录信息以及与 之相关的查询与统计功能。 ( 3 ) 仪器设备管理是l a b m i s 2 o 的重要功能之一,主要是对低值耐用品、贵 重设备、低值易耗品等进行管理。w 曲服务提供的功能主要包括:仪器设备基本信 息、低值易耗品基本信息、教学实验常规仪器配置套数以及关于仪器设备的数量、 总价值、完好率、利用率等统计功能。 ( 4 ) 实验队伍信息,是l a b m i s 2 0 系统中的人员管理部分的功能。在实验队 伍信息中,主要包括本实验室中的专职人员、人员结构、教学与实验技术人员比例、 岗位职责以及人员的考核等信息。 ( 5 ) 规章制度信息,主要是上级部门发布的针对实验室安全与管理方面的文 件信息,包括物资管理制度、安全监察制度、学生实验守则、工作档案管理制度、 人员管理制度以及相关规章制度的执行情况等。 3 2l a b m i s 2 0 中w e b 服务的实现 3 2 1 开发平台和开发语言的选择 l a b m i s 2 0 中的w e b 服务的实现所采用的主要开发工具如下: 集成开发工具:m i c r o s o r s u a ls t u d i o2 0 0 5 ; 开发工具和开发语言:a s p n e tw 曲服务,c 拌语言; 操作系统:w i n d o w ss e r v e r2 0 0 3 ; 数据库:m ss q ls e r v e r2 0 0 5 : 实现w 曲服务的安全:w s e 3 o ( w e bs e r v i c e se 1 1 h a n c e m e n t s3 o ) 。 3 2 2l a b m i s 2 o 中w 曲服务的实现 l a b m i s 2 o 中w r e b 服务主要是通过s u 甜s t u d i o n e t2 0 0 5 集成开发工具在 l a b m i s 2 o 解决方案中建立a s p n e tw 曲服务项目和w i n d o w s 客户端软件来实现 的,如图3 2 所示。l a b m i s 2 0 中w r e b 服务的功能是在l a b m i s w 曲s e r v i c e s 项目中 实现的,而w r e b s e r v i c e s c l i e n t 项目是用来测试w e b 服务的客户端。 l o 翻解决方案l 瑚工,( 1 3 个项目) 童。0 1b u c p o n e n t :窭盈( 翻b l l 薯& 蜀暑i 工j a c a d e 王幺捌b u j a c t o r y 黉盘i 要班工_ p r o x y i 盘例i b l l ;暑“,二jd a i 上。西p o n e a t i 露,瓴掣d a a c t o r y 翟盘翻d b u t i l i t y ;灞瓴c 翻i d l 笼0 。j 苎js q l s e r v e r d a l 曩,b :、l a 潮i s w e b s e r v ic e s 、 蠢_ ia p p c o d e a p p d a t 鱼 彰。毋5 l n + 芸o 。! “ 。上:袭慧豳1 三二璺t e b s e r v lc e 笠c 王le n t 图3 2l a b m i s 2 o 解决方案 在建立了l a b m i s w 曲s e i c e s 项目后,需要添加对i b l l 、b l l f a c t o r ) r 、 b l l f a c a d e 、m o d e l 等相关项目的引用;然后,在l a b m i s w 如s e r v i c e s 项目的 l a b m i s w 曲s e r v i c e s 类中添加使用i b l l 、b l l f a c t o r y 、m o d e l 等项目的命名空间; 最后,在l a b m i s w 曲s e n r i c e s 类中编写相关的w 曲方法实现对l a b m i s 2 0 系统业 务逻辑的访问,实现所设计的w e b 服务的功能。l a b m i s w 曲s e r v i c e s 类中的方法如 下示例所示。 撑r e 舀o n 根据实验室编号获取实验室信息 根据实验室编号获取实验室信息 根据实验室编号获取实验室信息叫r e t u m s 【w e b m e t h o d ( d e s c r i p t i o n = 根据实验室编号获取实验室信息”,b u 艉r r e s p o n s e = t r u e , c a c h e d u r a t i o n = 6 0 0 0 ) 】 p u b l i cs 仃i n gg e t l a b o r a t o 巧b y l a b i d ( s t r i n g1 a b i d ) l a b m i s i b l l i b l l l a b o r a t o d ,l a b = l a b m i s b l l f a c t o b l l a c c e s s c r e a t e l a b o r a t o 巧( ) ; r e t u ms e r i a l i z e ( 1 a b b l l g e t l a b o r a t o r y b y l a b i d ( 1 a b i d ) ) ; 一撑曼四r e g i o n 一一一一一一 x g n a o “ o f 0 s a c n e l 1 c b e b i e h e y 肯 c 霄 r a 色能g 乒 c b a 1 c a e r f 1 r w t j ;l t r j t o 0 t i u c p u 睫p 3坤办n 曲弘 l l 0 臀w 目塑蛰舀 一03,0墨 硕士学位论文 m a s t e r st h e s i s 3 3 实现w 曲服务时需要注意的问题 l a b m i s w 曲s e i c e s 项目是通过i n t e m e t 向其它应用程序提供l a b m i s 2 o 中的 业务数据和功能模块,所以,在实现l a b m i s 2 0 中的w 曲服务时,还需要综合考虑 w - e b 服务的序列化、输入验证、异常管理、安全等问题。 3 3 1 序列化设计 序列化是将对象状态转换为可保持或传输的 格式的过程。与序列化相对的是反序列化,它将c k s 。 流转换为对象。这两个过程结合起来,可以轻松地 一 存储和传输数据。 、,d e p t 二,。 l a b m i s 2 o 的系统架构采用的是三层体系架 。:嚣;:。 构,为了实现业务数据在层间的传递,需要定义业 ,一一h 婚b e r 务实体。l a b m i s 2 o 中的业务实体采用的是自定义 h t ,t w 矗“e l = :。f | = = 业务实体的方式,如图3 3 所示实验室信息的业务 二j 一弹”恐d h 幻 , r e 亿牡k 实体。一矗性 为了使l a b m i s 2 0 中的自定义业务实体类可 了b e p _ i r 矗j 以序列化,必须为该类设置s e r i a l i z a b l e 属性对它进碎m h 鲫。 行标记。 j j 尊? 沁r 。 从l a b m i s 2 o 的业务逻辑层返回的数据类型雪l 湖掰l 1 i “f 。 有简单数据类型如i m 、n o a t 、s t r i n g 等和复杂数据葛;篡:“弧 类型如自定义业务实体对象、i l i s t 泛型等,对这两 一j 万法 种数据类型采取了两种不同的序列化方式。 一m 。r 出r y l “。93 置载 ( 1 ) 简单数据类型的序列化 图3 3l a b m i s 2 o 自定义业务实体示例 在- n e t 平台下,n e tf r a r n e 、v o r k 集成了对l 的序列化,包含一个默认的x m l 序列化器s y s t e m r u l l t i m e s e r i a l i z a t i o n f o h l l a t t e r s s o a p s o a p f o r n l a 舵r 类的对象。 所以,对于业务逻辑层返回的简单数据类型,n e t 会使用默认的儿序列化器自 动将其序列化成标准的x m l 文档。在客户应用程序接收到x m l 文档后,会自动 将订l 文档进行反序列化,重新构建简单数据类型的数据。 ( 2 ) 自定义业务实体对象和i l i s t 泛型数据的序列化 l 序列化中最主要的类是x m l s e r i a l i z e r 类,使用) ( i n l s e r i a l i z e r 类可以序列 。c h r i s t i 锄n a g c l ,b i l le v j e n ,j a yg l y n n 李敏波译c 撑高级编程( 第四版) 口川北京:清华大学出版社,2 0 0 6 年l o 月:6 2 9 1 2 化的类型有:公共类的公共读写属性和字段、实现i c o l l e 撕0 n 或i 】巳删m e r a l b l e 的 类、x i i d e l e m e n t 对象、n l n o d e 对象、d a :t a s e t 对象。 所以,在n e t 平台下,i d s 嘶a l i z e r 类不支持i l i s t 泛型的序列化。因此,需 要采用自定义的方式来实现对i l i s t 泛型的序列化。为了使开发的w 曲服务能够实 现跨平台的应用,在l a b m i s w 如s e n ,i c e s 项目中,通过s e r i a l i z e 方法将业务实体对 象和i l i s t 泛型的数据序列化成了舭文档。客户应用程序在得到x m l 文档后再 使用d e s e r i a l i z e 方法将其反序列化为对象。 撑r e g i o n 序列化对象 ,序列化对象 对象类型可t ) ,p e p 扰瑚 对象 x m l 字符串r e t u m s p u b l i cs t a t i cs t r i n gs e r i a l i z e ( tt ) u s i n g ( s t r i n 削晡t e rs w 2 n e ws t r i n g w r i t e 哟) x m l s e r i a l i z e r ) 【z = 鹏wx m l s e r i a l i z e r ( t g e t t y p e o ) ; ) ( z s e r i a l i z e ( s w ,t ) ; r e t u ms w t b s t r i n g o ; ) 撑r e g i o n 反序列化为对象 反序列化为对象 m q 鼬礤挺9 , 对象类型唧a 删【r l 对象序列化后的x m l 字符串唧脚 对象劬e t 啪s p u b l i cs t a t i co b j e c td e s e r i a l i z e ( 1 y p et ) ,p e ,s 拄m gs ) 璐i n g ( s 仃i n g r e 们e rs r = m ws 仃i n 删呱s ) ) x m l s e r i a l i z e r ) 【z = n e wx m l s e r i a l i z e 啊p e ) ; r e t u mx 乙d e s e r i a j i z e ( s r ) ; 拌e n d r e g i q 望一 。m s d i nl i b r a d ,f o rv i s u a is m d i o2 0 0 5 1 3 硕士学位论文 m a s t e r 。st h e s i s 3 3 2 输入验证设计 w e b 服务必须对所接收的数据进行验证,以保证w 曲服务的正常执行。w 曲 服务所接收的数据一般是w 曲服务中的参数,通常是根据业务逻辑规则和可能的安 全问题进行验证。w r e b 服务中的方法可以接受强类型的输入参数或通常以字符串数 据传递的松散类型的参数,对这两种输入参数需要区别对待进行校验。 ( 1 ) 强类型参数验证 l a b m i s w | e b s e i c e s 项目的实现采用的是n e t 平台下的c 群语言,它是一种是 强类型语言,因此每个变量和对象都必须声明类型。对于强类型的参数,n e t f r 锄e w o r k 会自动进行类型检查,同时,对强类型的参数也可以使用正则表达式进 行验证。 ( 2 ) 松散类型参数验证 在l a b m i s w 曲s e r v i c s 中,松散类型的参数主要是字符串参数。对字符串参数 的验证通常是以编程方式检查它的类型、长度、格式和范围等。 鬈缀:盖。:一z :。;2 幺蕴毖麓誊羹谶警釜:拦:i 兰:篮缢毖缓琵篮旌盏逡旌滗互避滋磋缢i 缢绥缕琵毖鎏缢毯毯缢缴琵缢琵琵琵筮筮氆毯筮筮鍪筮缢琶琵施 撑r e g i o n 根据人员编号获取获取人员信息 根据人员编号获取人员信息 w 色b m e t l l o d ( d e s c r i p t i o n = ”根据人员编号获取人员信息”,b u 氐r r e s p o n 辩= t m e , c 孔h e d u r a t i o n = 6 0 0 0 ) 】 p u b l i c 矧n gg 卯e r s o 衄e l b y p 郴o m l e l i d ( 妤n gp e r s o r u l e l i d ) 燧证p e r s o 锄e l i d 为8 位的字符串 i f ( r e g e x i s m a t c h ( p e r s o m l e l i 文 i i d 8 ) $ t - ,r e g e x o p t i o i l s n 0 n e ) ) l a b m i s i b l l i b l l p e r s o l l i l e l p e r s o m e l l a b m i s b l l f a c t o b l l a c c e s s c r e a t e p e r s o 衄e i ( ) ; r e t 啪s e r i a l i 勰 ( p e r s o 衄e 1 b l l g e t s i n 酉e p e r s o 衄e l ( p e r s o 衄e l i d ) ) ; e l 付i r o wn e we x c e p t i o n ( ”请重新输入用户编号”) ; ) 堂皇型翌垂殳垒 3 3 3 异常管理 l a b m i s w e b s e i c e s 项目是在l a b m i s 2 o 系统的基础上进行开发的,并且在 1 4 硕士擎位论文 m a s t e r ? st h e s i s l a b m i s 2 0 中已经实现了异常管理,所以l a b m i s w 曲s e 州c e s 项目中的异常管理主 要从以下两个方面进行设计。 ( 1 ) 从l a b m i s 2 o 系统返回的异常信息,由w e b 服务进行封装返回给客户端。 ( 2 ) 设计w r e b 服务自身的异常管理。 w r e b 服务可以抛出以下三种类型的异常: ( 1 ) s o a p e x c e p t i o n 对象,这些异常可以由c l r 或w r e b 服务方法的执行代码 生成。 ( 2 ) s o a p h e a d e r e x c e p t i o n 对象。当w r e b 服务无法正确处理客户应用程序发送 的s o a p 请求时,就会自动生成此异常。 ( 3 ) e x c e p t i o n 对象。w 曲服务可以抛出从s y s t e m e x c e p t i o n 派生的自定义的 异常类型。 不管哪种异常类型,异常的详细信息都使用标准的s o a p f a u l 伊元素传播到客 户端应用程序。客户端应用程序和a s p n e tw 曲服务并不直接解析 元素, 而是通常用s o a p e x c e p t i o n 对象来处理。这允许客户端应用程序设置n y 块,来捕 获s o a p e x c e p t i o n 对象。 返回给客户端的异常详细信息只能包含最低限度的信息,而且不应泄漏w r e b 服务任何内部实施细节。因此,w e b 服务所产生的异常在发送到客户端应用程序时 都要进行封装处理,使w 曲服务发送的异常信息降到最少,以防止对w 如服务的 攻击。如下代码所示,由于应用程序逻辑验证失败,因而生成异常,发送到客户端 的错误信息已降到最少,在代码中使用s o a p e x c e p t i o n 对象来处理所产生的异常。 使用s o a p e x c e p t i o n 向客户端返回最少的错误信息 x m l d o c u m e n td o c = n c wx m l d o c 啪e n t ( ) ; x m l n o d e d e t a i l = d o c c r e a l e n o d e ( x m l n 0 d e t y p e e l e m e 峨 s o a p e x c e 皿o n d e t a i 麟e m e n t n 锄e n 锄e ,s o 印e x c e 砸o n d 砌l e l e m 饥t n 锄e n 锄e s p a c e ) ; 这是此异常的详细部分 d e t a i l i 衄e l ,r e 妣= ”您没有访问该服务的权限”; t i l r c l wn e ws o 印e x c e p t i o n ( ”来自w 曲服务的消息字符串”, s o a p e x c e p t i o n s e n ,e r f a u l t c o d e ,n u l l ,d e t a i l ,n u l l ) ; 回m s d nl i b n i r ) ,f o r s u a ls t t l d i o2 0 0 5 1 5 硕士学位论文 m a s t e r st h e s i s 3 3 4 安全设计 w - e b 服务面对的主要威胁有:未授权的访问、参数操纵、网络窃听、配置数 据的泄漏、消息重播等。w | e b 服务安全( w s s e c 面锣) 是用来解决这些问题的最新 安全标准。m i c r o s o r 已经发布了w 曲s e i c e se n h a i l c 锄e n t s3 0f o rm i c r o s o r n e t ( w s e 3 o ) ,以支持w s s e c 而钾和一组相关的最新标准。w s e 3 0 允许实施消息 级别的安全解决方案,包括身份验证、加密和数字签名。关于l a b m i s w | e b s e r v i c e s 项目的安全在下一章进行详细设计。 3 4 本章小结 本章主要是关于l a b m 【s 2 0 中w e b 服务的设计与实现。首先对l a b m i s 2 o 中 w r e b 服务的功能进行了详细的分析与设计,然后对实现w r e b 服务所采用的工具和实 现过程进行了简单的介绍,最后对实现w r e b 服务时需要注意的几个问题序列 化、输入验证、异常管理等进行了详细的分析与设计。 。j d m e i e r a l e xm a c k m 锄,s r i n a mv 商r e d d y m i c h ld u l l r i c r ,r a ye s c a m i l l a a n 锄d h am u m k 柚1 m p r o v i n gw 曲 a p p l c a t i o ns e c u r 吼m i c r o s o rc o r p o r a t i o n 2 0 0 3 留m i c r o s o nc o 巾o r a t i o n w e bs e i c es c c u r i 妒- s c e n 撕o s ,p a n e m 墨锄di m p l c m e n t a l i o ng u i d 柚c cf o rw c bs c n ,i c e s e n h 细c e m e n t s ( w s e ) 3 o 2 0 0 5 1 6 第四章l a b m i s w e b s e 耐c e s 项目安全机制的设计与实现 a s p 肥t 使用a s 凇文件来实现对w r e b 服务的支持,a s 懈是n e t f 砌e 、o r k 的w - e b 服务实现,支持基本的服务功能,但是没有实现w s 幸安全性规 范。所以,需要对b b m s w 曲s e r v i c e s 项目的安全性进行设计以保证w | e b 服务的安全。 4 1w 曲服务安全分析 4 1 1w 曲服务的安全目标 w 曲服务在向b l t e m e t 开放重要业务功能的过程中,也把系统内部数据、应用 程序和系统暴露给了各种外部威胁,如信息窃取、欺诈、破坏等行为。这给信息安 全带来了极大的隐患。w r e b 服务的安全目标主要包括以下几个方面。 ( 1 ) 端到端的消息传递。即消息级别的安全性,不仅在传输的过程中要保证 消息是安全的,而且在到达终点之前的各个中介处也需要是安全的。 ( 2 ) 提供机密性和完整性的安全消息交换。机密性,加密消息,防止消息在 传输过程中被泄露;完整性,确保消息在传输的过程中不被篡改。 ( 3 ) 身份认证和授权。身份认证,通过验证用户所拥有的可靠凭证来确保其 身份与消息中所声称的用户身份一致,避免冒名者。凭证可以是口令、x 5 0 9 数字 证书或任何一种安全令牌。授权,用户身份被验证通过后,就可根据访问权限授予 对资源的访问权。 ( 4 ) 不可抵赖性。确保发送方在事后无法抵赖其创建并发送特定消息的事实, 避免遭受恶意第三方如重放攻击等技术的袭击。 ( 5 ) 消息安全中的灵活性。由于不同的用户对w r e b 服务有不同的访问权限, 需要提供对s o a p 消息的细粒度保护,支持如部分加密解密等特殊安全处理。 4 1 2w e b 服务所使用的安全技术 w r e b 服务是工作在应用层,而以前的安全技术和产品基本上是工作在网络层或 传输层,如防火墙技术和m 安全协议( i p s e c ) 属于网络级别的安全技术,安全套 接字层( s e c 面锣s o c k e tl a y e r ,s s l ) 属于传输级别的安全技术。w r e b 服务所用的 安全技术属于应用级别的安全技术,提供端对端的消息级安全。目前保证w | e b 服务 安全所用的安全技术有 :基本密码术、数字签名、x l l 加密技术、x m l 签名技 国付勇军基于w s e 3 0 的w 曲服务安全的应用研究【d 】西南交通大学,2 0 0 7 o 同上 1 7 硕士学位论文 m a s t e r 。st h e s i s 术等技术。并且,可以将儿签名和煳l 加密技术结合起来对一个涩。文档进 行操作。这时应用程序必须区别加密操作是在签名操作之前还是在签名操作之后 完成。 4 1 3w 曲服务安全性规范 为解决w e b 服务在处理消息级别的安全问题,m i c r o s o r 和其他业界企业( 例 如i b m 、b e a ) 一起制定了一组为实现丰富的和可互操作的通讯协议和规范,通常 称作w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年劳动者的合同权益与责任解析
- 常熟中学模拟考试题目及答案
- 常德美术教师考试题目及答案
- 曹县中考模拟考试题目及答案
- 现代山水创作题目及答案
- 2025借款合同样本
- 2025合作代理合同协议书模板
- 2025汽车租赁合同范本「中介」
- 2025年中小学体育教师招聘考试专业基础知识考试题库及答案(共380题)
- 2025年国际物流模考试题(含参考答案)
- QC/T 1209-2024汽车噪声与振动(NVH)术语和定义
- 中职生劳动教育试题答案
- 现代学徒制课题:市域产教联合体与行业产教融合共同体内开展现场工程师培养的机制创新研究(研究思路模板、技术路线图)
- 餐厅开荒保洁操作技术方案
- 2024年春季小学三年级英语课件教学方法探索
- 部编人教版小学四年级上册语文词语表注音
- DB52T 1781-2024 介入诊疗医务人员辐射防护规范
- 2024关于深化产业工人队伍建设改革详细解读课件
- 回收黄金合同协议书(2篇)
- 新能源发电技术 电子课件 2.5 可控核聚变及其未来利用方式
- 建材销售购销合同范本
评论
0/150
提交评论