Web Service动态分析与评估的实现毕业设计(论文)word格式.doc_第1页
Web Service动态分析与评估的实现毕业设计(论文)word格式.doc_第2页
Web Service动态分析与评估的实现毕业设计(论文)word格式.doc_第3页
Web Service动态分析与评估的实现毕业设计(论文)word格式.doc_第4页
Web Service动态分析与评估的实现毕业设计(论文)word格式.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

web service动态分析与评估的实现摘 要企业电子信息资源的应用面对着一个在不同系统、不同开发语言以及不同平台下的庞大且无序的“信息孤岛”,严重影响信息的共享。企业急需建立一种机制将不同来源、格式和质量的数据集成起来,实现企业级数据的全面共享和应用沟通,进而为企业决策等高级应用提供支持,实现以最小的代价将企业的信息资产转化为最大的利润空间。采用web service的跨平台性实现各系统之间的互操作是整合各系统最有效的实现方式。基于web service的企业集成机制不仅保护了异构系统的资源,消除信息孤岛,又能满足业务活动变更的需求。该机制能够满足广大中小型企业对web服务集成的需求,在解决web服务编排组合技术研究的热点问题同时,有效利用现有的web服务并对其进行服务分析、评估测试及应用集成,是本文研究的意义与目的所在。本文课题所设计的sbp服务集成平台是采用基于web service的企业应用集成技术将企业已有的和新建的各系统进行集成,以net框架为基础设计的一套完整方案。sbp平台利用服务发现与c#的反射机制对web服务进行动态分析,以获取web服务信息;设计并实现一个简易web服务网关和uddi服务目录,用于模拟web服务的注册、验证、查询及调用;评估测试和统计分析模块建立起web服务评估策略体系,通过合理地选择服务评价因子,并对web服务性能的测试数据及服务评估的历史数据进行统计分析,提供实时的、可靠的、动态适应的选择机制来选取出一组服务,使得所选择出高用户满意度的web服务,进而为服务编排组合提供数据支持。关键词:web service,服务集成,动态分析,评估策略,服务评估implementation of dynamic web service analysis and evaluationauthor: tutor: abstractin the application of electronic enterprise information resources, huge and unordered information islands with heterogeneous systems, different developing languages and heterogeneous platforms become barriers, which affect information sharing in a deep way. in order to realize wide sharing and application communication of enterprise data, an enterprise mechanism needs to be set up to integrate data from various sources and with different formats and qualities, thus supporting high-level applications such as decision making of enterprises, and transforming information assets in minimum cost so as to achieve greatest profit.the cross-platform web service is the most effective way to implement system interactions and system integration. enterprise application integration mechanism based on web service not only preserves resources of heterogeneous systems and eliminates the information islands, but also can satisfy the requirement for business changes. the mechanism can satisfy abundant web service integration requirements of large, medium and small enterprises, solve the hot topic of web service choreography and combination, simultaneously and effectively utilize existing web services, implement service analysis and evaluation as well as application integration, and this is the content and significance of the paper.a sbp service integration platform is designed in this paper, which adopts the techniques of enterprise application integration that are based on web service, integrates existing and newly-developed systems, and is a complete solution set based on .net framework. the sbp platform uses service finding and c# reflection mechanism to realize dynamic analysis of web services, thus obtaining service information; wherein, simple web service gateway and uddi service directory are designed and implemented so as to simulate the registering, validating, querying and invoking of web services; an evaluating, testing and statistical analyzing module is built as a web service evaluation strategy and architecture, evaluation factors are reasonably selected, testing data of web service performance and history data of service evaluation are collected and analyzed in order to provide a real-time, reliable, dynamically adaptive selecting mechanism. the selecting mechanism selects a group of services with high user satisfaction degrees, and further provides data support for service choreography and combination.key words: web service, services integration, dynamic analysis, evaluation policy, services evaluation目 录摘 要iabstractii插图索引vi附表索引vii1绪论11.1 课题背景11.2 课题来源21.3 项目目标分析21.4 主要工作内容21.5 本文内容结构32系统总体架构52.1 系统业务概述52.2 开发环境概述62.3 系统总体架构62.4 总体处理流程72.5 系统功能模块83系统方案设计93.1 系统界面设计93.1.1界面设计原则93.1.2框架界面设计93.1.3模块界面设计103.2 数据库设计113.2.1 外部设计113.2.2 实体结构113.2.3 物理结构153.3 配置数据库153.4 角色权限控制153.5 目录结构设计174系统实现的关键技术194.1 web services概述194.1.1 web services体系架构204.1.2 web services核心技术204.2 sql server高效性能应用224.3 水晶报表技术应用235系统重点难点设计255.1 web服务数据模型255.2 构建uddi服务目录265.2.1 服务目录总体结构265.2.2 功能模块具体实现275.2.3 请求处理流程描述285.3 web服务网关设计295.3.1 服务网关工作原理295.3.2 服务网关工作流程305.3.3 服务网关的作用305.4 系统业务服务实现315.4.1 基本实现原理315.4.2 业务实现案例325.5动态分析调用335.5.1 分析调用流程335.5.2 分析调用api345.6评估体系与算法365.6.1 评估策略体系365.6.2 评估策略算法375.7统计分析显示386运行环境416.1 硬件环境416.1.1 计算机416.1.2 网络416.2 软件环境416.2.1 操作系统416.2.2 开发平台416.2.3 数据库平台416.2.4 部署环境427结论43致 谢45参考文献47插图索引图1.1 论文章节结构图4图2.1 企业服务集成业务模型6图2.2 系统总体结构示意图6图2.3 sbp项目系统架构业务流程图7图2.4 sbp项目系统功能分配图8图3.1 系统界面设计框架图9图3.2 系统界面设计框架效果图10图3.3 子模块界面设计框架图10图3.4 子模块界面设计框架效果图10图3.5 角色权限访问控制数据表关系图16图3.6 角色权限访问控制视图17图3.7 系统目录结构图17图4.1 web service体系架构图20图5.1 uddi数据模型关系图26图5.2 uddi注册中心基本框架图27图5.3 浏览器端的请求处理顺序图29图5.4 入站请求流程图30图5.5 出站请求流程图30图5.6 web service基本实现原理32图5.7 securitywebservice运行结果页面33图5.8 web服务调用过程34图5.9 web服务评估策略体系构成图37图5.10 servicefactory中各功能类关系图38附表索引表3.1 用户基本信息表11表3.2 用户状态表12表3.3 服务目录表12表3.4 评估策略表13表3.5 测试记录表13表3.6 角色组信息表13表3.7 角色组权限映射表14表3.8 模块页面信息表14表3.9 用户角色映射表14表3.10 web.config数据库配置代码15表3.11目录树形结构详细说明18表4.1 水晶报表实现代码24表5.1 web service的业务申明代码32表5.2 web service分析方法申明代码34表5.3 web service调用方法申明代码34表5.4分析调用方法关键代码35表5.5 invodewebservice方法关键属性36表5.6 servicefactory类库描述39表5.7 serviceanalyser类功能描述39表5.8 serviceevaluate类功能描述401绪论1.1 课题背景众所周知,在当前的网络信息时代,信息量不仅庞大且源自于不同的数据源;另一方面企业体制的改革、事业部门的改组、企业的兼并,导致事务或业务的需求的不定性,变更速度加块,“信息孤岛”严重地影响信息的共享。企业急需建立一种机制,将不同来源、格式和质量的数据通过逻辑或物理的方法集成起来,实现企业级数据的全面共享和应用沟通,进而为企业决策等高级应用提供支持,提升数据资产的价值,实现以最小的代价将企业的信息资产转化为最大的利润空间。而整合各系统最通用、最方便的实现方式,就是使用web service 在web service的专业领域内:(1) web services是整个架构web服务的技术框架,包括xml、soap、wsdl、uddi等;(2) web service是指使用web services而架构出来的web服务实例。web services对应的中文名称是web服务技术,而web service则被翻译为web服务。作为它们之间的数据桥。适于网络环境下基于web services的信息集成机制不仅保护了异构系统的资源,消除信息孤岛,又能满足业务活动急速变更的需求。在其实现的过程中,无需修改已有的应用程就能实现数据共享和业务流程的集成。随着近几年web services技术的不断发展和广泛应用,几乎所有的系统都提供对web service的支持,这就使得利用web service实现各系统之间的互操作成为可能。在这种方式中,数据被转换成标准的xml(extensible markup language,扩展性标识语言)/ soap(simple object access protocol,简单对象访问协议)格式数据包在双方之间进行传递,解决系统间数据异构所带来的数据不兼容问题。在web服务领域内,web服务及其集成应用研究的不断深入,供应商提供的单个服务难以满足用户的实际需求,而能够提供增值功能的web服务组合得到了广泛的关注,服务组合应运而生。同时,soa(service-oriented architecture,面向服务的体系结构)的提出,使得通过组合独立开发的web服务方式来产生新的应用成为一种新的发展趋势,web服务编排组合技术将逐渐成为企业应用集成的主流技术。而如何在编排组合时,在海量的能够满足同种类型功能的web服务中,提供实时的、稳定的、可靠的、动态适应的选择机制1来选取出一组最优服务,使得所选择的服务能够组合出新的服务具有最好的质量、最高的用户满意度,成为目前web服务编排组合技术研究的热点之一。本课题项目在研究分析多种应用集成理论基础上,运用合理的应用集成技术,主要围绕web 服务编排组合时动态分析和评估展开研究,借鉴研究并实现一种web服务动态分析及评估算法来解决web服务编排组合时的热点问题。1.2 课题来源本课题来源于公司服务总线工程项目(service bus project,sbp)的部分研究工作,设计开发sbp服务集成平台。该工程项目是为湖南省长沙市天心区提供一个政务平台,将天心区管辖范围内的科研、企业、事业单位及行政部门的信息资源实施整合,以满足信息现代化的要求。1.3 项目目标分析sbp服务集成平台实现的主要目标如下:1解决企业系统分布分散、难于统一管理的现状;2实现企业各系统业务、数据等日常交互管理;3减少业务间沟通协调工作量,提高办公效率;4实现信息资源整合,满足信息现代化要求;5系统切实可行、扩展性高、成本低、管理集中化、维护便捷;6满足政府部门尽量不购买国外软件的硬性要求。1.4 主要工作内容本文作者借助期刊、杂志、书籍、网络媒体渠道,对web services与企业应用集成进行深入、全面的研究分析。在与众多老师、同事、及其他相关从业人员的交流中,获得实践经验、并加深理解,进一步明确企业应用集成的重要性。soa所衍生的web services,是现有的企业应用集成方案之一,是实现企业应用集成的核心2。web服务是新一代的分布式计算模型,粒度小、藕合性低,更易于组织和维护。随着网络的发展,web服务应用将愈加广泛。满足广大中小型企业对web服务集成的需求,在解决web服务编排组合技术研究的热点问题同时,有效利用现有的web服务,并将其服务分析、评估测试及应用集成,是本文研究的意义与目的所在。本文课题所设计的sbp服务集成平台是采用基于web service的企业应用集成技术将企业已有的和新建的各系统集成起来,共同完成企业的各业务活动,并能够灵活快速地适应企业的发展和市场的变化。在其实现的过程中,无需修改已有的应用程就能实现数据共享和业务流程的集成。sbp服务集成平台整合了uddi(universal description,discovery and integration,统一描述、发现和集成)服务目录、服务网关、服务分析调用、服务评估测试及服务统计分析5个部分,从实际中解决了web服务编排组合技术研究的热点问题,切实可行的实现企业应用集成的设想。本文借鉴现有的资源,以net框架为基础设计一套完整的设计方案,sbp平台利用服务发现与c#的反射机制对web服务进行动态分析,以获取web服务的名称、描述、方法、方法参数等信息;设计并实现一个简易web服务网关服务器和uddi服务目录,用于模拟web服务的注册、验证、查询及调用;评估测试和统计分析模块建立起web服务评估策略体系,通过合理地选择服务评价因子,并对web服务的各方面性能的测试数据及服务评估的历史数据进行统计分析,提供实时的、稳定的、可靠的、动态适应的选择机制来选取出一组服务,使得所选择出高用户满意度的web服务,进而为服务编排组合提供数据支持。1.5 本文内容结构第一章概述本课题的研究背景、目的与内容。提出课题来源与课题所设计的项目,分析项目实现的具体目标,并详细阐述本文作者的主要工作内容。第二章分别对系统业务、开发环境、总体结构、处理流程与功能模块划分进行概述。本章初步描述了系统的总体设计方案与实现。第三章简要的说明系统的概要设计方案。本章从界面设计、数据库设计、权限控制和目录结构4个部分对系统开发过程的概要设计方案给出摘要性的说明。第四章描述了系统在设计实现过程中所运用的关键理论与技术。该章内容为设计实现sbp服务集成平台提供理论与实践基础。第五章详细描述系统在设计实现过程的重点难点及方案模块实现。本章在分析web service数据模型的基础上,设计并实现一个简易uddi服务目录和web服务网关服务器;在uddi服务目录上实现分析调用web service,并设计基于web服务评估策略体系的评估测试和统计分析模块。第六章注明系统部署运行的软硬件环境。第七章总结本文的主要理论研究及设计工作,指出本文的主要成果和不足,以及进一步要研究的工作。本文章节结构如图1.1所示。图1.1 论文章节结构图2系统总体架构2.1 系统业务概述基于web service的企业应用集成,是目前最为先进的一种企业应用集成方式3。采用的是相对松散的服务捆绑方式,即系统通过web服务进行企业业务集成,web服务的使用方和提供方相互独立,一方改变不需要告知另一方。使用web services技术对企业系统进行集成时,不需要修改原有系统,只需要在原有系统的基础上加一个web服务接口,将其需要集成的系统功能封装为web服务即可。web services通过一系列标准和协议来保证系统之间的连接和通讯。此外,由于web services技术是基于xml,soap,uddi以及wsdl(web service description language,web服务描述语言)等开放协议的,它能够被广泛接受并向前兼容,潜在地消除企业日后为支持新技术的风险。图2.1所示的模型描绘了sbp服务集成平台中的系统业务流程。即企业运用web service技术,构建各自的私有uddi目录。uddi以web service的方式存放所有企业系统实体的信息和交互参数,这种机制为企业之间动态的选择合作伙伴提供一种有效的方法。需要服务的企业向私有uddi商业注册中心发送请求,注册中心搜索查询私有uddi注册库,当找到满足请求的服务时,uddi注册中心向web service需求者返回满足条件的web service描述信息(wsdl)。需求者得到用wsdl描述的服务调用规范文本,通过解析该描述文本,自动生成本地调用接口绑定,产生相应的soap消息请求,发送给web服务代理(web service provider,wsp),以实现web service的调用,wsp接受soap消息请求并执行相应的web service,然后将结果再以soap消息响应的形式返回给需求者,需求者接受以soap消息响应形式返回的结果并从中取出所需的数据。soap是通过http层发送请求和接收响应。同时web service之间的数据交换和传递都是以与平台无关的数据表达xml形式进行的。这种解决方法从根本上解决企业电子信息集成和信息共享问题。而且web service是以接口方式出现,用户无需理会底层接口是用哪一种组件技术或者平台架构实现,因而它可以很好的解决应用系统异构的问题,实现跨平台、跨语言的企业应用集成。图2.1 企业服务集成业务模型2.2 开发环境概述sbp服务集成平台是基于b/s架构的,采用数据库服务器与web应用服务器分离,该系统支持windows系列平台,客户端通过浏览器访问和管理,具体环境配置如下:1开发模式:基于微软三层架构模式及b/s模式的网络版本4;2开发环境:microsoft visual studio 2005、microsoft sql server 2005;3脚本语言:aspnet 2.0、c#、javascript、css;4运行环境:windows 2003 server、iis 5.1以上、microsoft net framework 2.0;2.3 系统总体架构sbp服务集成平台采用数据库服务器与web服务器分离的方式,以web服务器为中心的星型拓扑结构。web服务器通过web server应用程序来访问数据库,而用户则通过客户端的浏览器从网络连接web服务器。服务器处理多台b/s浏览器客户端数据,对数据进行业务逻辑处理和事务处理,同时提供各b/s客户端程序的数据处理5。其总体结构如图2.2所示。图2.2 系统总体结构示意图2.4 总体处理流程sbp服务集成平台采用基于wsb(web service bus,web服务总线)的基础框架来实施企业集成设计,主要由wsb服务总线6、web service分析器、uddi服务目录、服务评估测试及编排组合5个部分组成。sbp服务集成平台总体架构框架业务流程如图2.3所示。图2.3 sbp项目系统架构业务流程图根据上图所述,系统基于wsb服务总线处理业务的流程描述如下:1web service分析器将企业内外部服务url所映射的wsdl文档进行解析,将分析后的web服务通过wsb总线存储到uddi服务目录中。2uddi服务目录可能存在多个服务满足用户的功能需求,服务评估模块针对服务提供者们进行运行时服务评估为其从uddi中选出最合适的服务。3经过服务测试后被收集起来的结果数据按wsb服务总线的服务评估策略来评估服务。4服务的评估建立在当前测试结果及历史测试数据之上,从而能更为真实、可靠的为web service编排组合提供技术支持。5经过评估之后的服务通过编排组合模块组合成一个新的web服务,通过wsb总线存储到uddi服务目录中,更为贴切的满足客户的具体功能需求。6各个服务之间通过soap及xml技术进行数据交换,即而达到企业系统集成数据共享目的7。2.5 系统功能模块通过对需求的理解和企业集成技术的分析,为能够良好的实现企业系统服务集成,现将sbp服务集成平台的主要功能分配如图2.4所示。图2.4 sbp项目系统功能分配图本课题设计的功能主要包含三大功能模块:uddi服务目录、服务网关和服务评估。各模块主要功能如下:1uddi服务目录:包括服务发布、服务查找、服务信息、服务调用、服务维护、提供商管理及用户管理;2服务网关:提供服务映射、企业服务目录发布和查找以及安全和管理功能;3服务评估:包括评估策略、评估测试、统计分析及报表显示。3系统方案设计3.1 系统界面设计界面是b/s系统的门面,因此其界面设计尤为重要,应遵循友好、简洁、操作方便、信息准确全面、结构合理等要求8。3.1.1界面设计原则1以用户为中心的基本设计原则2简洁原则3易用性原则4一致性原则5频率原则6重要性原则3.1.2框架界面设计sbp服务集成平台的界面设计主要采用net母版框架模式,如图3.1和图3.2所示。所有子模块使用统一的框架,子模块开发者只需使用母版页,添加主面板内容即可,充分体现了平台化、集成化的特点。用户在使用系统时,通过点击系统菜单导航进入相应的模块页面。logo信息version:demo系统导航menu退出系统主面板系统版权信息图3.1 系统界面设计框架图图3.2 系统界面设计框架效果图3.1.3模块界面设计sbp服务集成平台的子模块显示在框架界面中的主面板内容区域,其界面内容分为3部分,包括当前位置、模块功能菜单和模块内容面板。用户在使用系统子模块时,通过点击模块功能菜单导航进入相应的功能页面。子模块界面设计框架如图3.3和3.4所示。当前位置:模块功能菜单模块内容面板图3.3 子模块界面设计框架图图3.4 子模块界面设计框架效果图3.2 数据库设计对于以管理企业应用数据信息的sbp服务集成平台而言,数据库技术显得尤为重要。构造最优的数据库模式、建立数据库及其应用系统、有效存储数据、满足用户信息的要求和处理要求以及数据库结构设计的好坏都将直接对应用系统的效率及实现效果产生特定性能的影响,合理的数据库设计可以提高数据存储的效率,保证数据的完整性和一致性9。本系统采用microsoft sql server 2005数据库系统实施数据管理。3.2.1 外部设计1标识符和状态数据库名称:wsb2约定(1) 表名:t +下划线+第一个单词首字母小写,随后每个单词首字母大写;(2) 字段名:第一个单词首字母小写,随后每个单词首字母大写;(3) 视图:view+下划线+视图名;(4) 存储过程:sp+表名+下划线+操作。(5) 触发器:tg+下划线+表名+下划线+操作名3.2.2 实体结构1用户基本信息表实体编号实体名称实体命名01用户基本信息表t_publisher实体说明用户(提供商)的基本信息表3.1 用户基本信息表字段类型是否主键 是否外键可否为空默认值描述publisheridint是否用户(提供商)idpublishernamevarchar(20)否否用户(提供商)姓名passwordvarchar(20)否否密码addressvarchar(50)否否允许地址postcodechar(6)否否允许邮编phonevarchar(20)否否允许电话emailvarchar(20)否否电子邮件companynamevarchar(50)否否允许公司名称companyurlvarchar(50)否否允许公司网址companyphonevarchar(20)否否允许公司电话descriptionvarchar(300)否否允许描述statusidchar(1)否是用户状态2用户状态表实体编号实体名称实体命名02用户状态表t_publisherstatus实体说明用户(提供商)的状态信息表3.2 用户状态表字段类型是否主键 是否外键可否为空默认值描述statusidint是否状态idstatusnanevarchar(20)否否状态名3服务目录表实体编号实体名称实体命名03服务目录表t_bindingtemplates实体说明web服务的基本信息表3.3 服务目录表字段类型是否主键 是否外键可否为空默认值描述bindingidint是否服务idpublisheridvarchar(20)否是提供商idpublishertimedatetime否否发布时间servicenamevarchar(50)否否服务名称methodsntext否否方法参数accesspointvarchar(100)否否访问站点descriptionvarchar(300)否否允许描述referencetimesbigint否否允许访问次数statuschar(1)否否服务状态4评估策略表实体编号实体名称实体命名04评估策略表t_factorlist实体说明评估策略中评价因子的基本信息表3.4 评估策略表字段类型是否主键 是否外键可否为空默认值描述factoridint是否评价因子idfactornamevarchar(20)否否评价因子名称factorweightfloat否否评价因子权重5测试记录表实体编号实体名称实体命名05测试记录表t_testrecord实体说明评估测试记录的基本信息表3.5 测试记录表字段类型是否主键 是否外键可否为空默认值描述recordidbigint是否测试记录idbindingidint否是服务idfactoridint否是评价因子idrecorddecimal(18,3)否否评估测试结果6角色组信息表实体编号实体名称实体命名06角色组信息表t_roleset实体说明角色组的基本信息表3.6 角色组信息表字段类型是否主键 是否外键可否为空默认值描述roleidint是否角色组idrolenamevarchar(20)否否角色名称7角色组权限映射表实体编号实体名称实体命名07角色组权限映射表t_roleright实体说明角色组权限的基本信息表3.7 角色组权限映射表字段类型是否主键 是否外键可否为空默认值描述idint是否映射idroleidint否是角色组idpageidint否是页面id8模块页面信息表实体编号实体名称实体命名08模块页面信息表t_unitpage实体说明模块页面的基本信息表3.8 模块页面信息表字段类型是否主键 是否外键可否为空默认值描述pageidint是否页面idunitnamevarchar(20)否否模块名称pagenamevarchar(20)否否页面名称pageurlvarchar(50)否否页面urldescriptionvarchar(300)否否描述9用户角色映射表实体编号实体名称实体命名09用户角色映射表t_userrole实体说明用户角色的映射信息表3.9 用户角色映射表字段类型是否主键 是否外键可否为空默认值描述idint是否映射idpublisheridint否是用户(提供商)idroleidint否是角色组id3.2.3 物理结构(1) 存储位置:默认位置;(2) 主码:发布者关系的publisherid,服务关系的bindingid,评价因子关系的factorid,测试记录关系的recordid;(3) 索引:发布者关系的publisherid,服务关系的bindingid,评价因子关系的factorid,测试记录关系的recordid。3.3 配置数据库本系统使用sql server 2005数据库,配置在windows 2003 server 操作系统上。配置步骤5如下:步骤1:创建数据库。首先,打开sql server management studio,在本地服务上已有的名为wsb的数据库中,根据需求说明和数据字典创建各个数据表、视图及触发器。步骤2:数据库连接。数据库连接需要以下3个环节。(1) 在开发项目中找到一个名为web.config的文件,在里面设置一个连接关键字,配置代码如表3.1所示。表3.10 web.config数据库配置代码 (2) 在aspnet解决方案的数据访问层引用system.data.sqlclient命名空间。(3) 利用dal 层sqlserverhelper.cs文件中的sqlserverhelper对象中的各个函数对数据库进行读取操作。3.4 角色权限控制sbp服务集成平台中权限控制设计采用基于角色的访问控制方法,将各个模块功能的选择权限化,通过权限控制为不同身份的用户赋予与之身份对应的各项操作,屏蔽不能执行的操作调用,以此实现用户角色权限访问控制。基于角色的访问控制是一种新型访问控制模型,它的基本思想是将权限与角色联系起来,在系统中根据应用的需要为不同的工作岗位创建相应的角色,同时根据用户职务和责任指派合适的角色,用户通过所指派的角色获得相应的权限,实现对文件的访问。它支持最小特权、责任分离以及数据抽象三个基本的安全原则27。如何根据系统应用的需求采用恰当的方式建立用户、角色、权限这三者之间多对多的映射关系,将是整个办公自动化系统安全可靠和高效运行的关键。此外,所建立的映射关系应提供灵活的配置功能,使映射关系具有可更改和可扩充性,以适应可能变化的应用需求,同时还可根据某些特殊需求来进行动态授权。系统为了实现基于角色的访问控制,这里定义了5张表来实现角色到用户、角色到权限的分配,如3.2.2小节中表3.1、3.2、3.6、3.7、3.8和3.9所示,并将6张表共同组建成一个角色权限访问控制视图。图3.5 角色权限访问控制数据表关系图图3.6 角色权限访问控制视图在用户申请某操作时候,系统需要检测用户所拥有的角色集合,并且根据这些角色集合所包含的权限来判断该用户是否可以进行该操作,如果可行则置许可证发放标志为真,这种方式称为用户牵引方式。同时,系统为执行某些静态约束,比如同一用户不能属于两个互斥的角色,而且定义互斥角色表。3.5 目录结构设计sbp服务集成平台采用微软三层结构的开发模式。整个解决方案可分为web层、bll层、dal层、model层、servicefactory层和utility层。前台应用由web层aspx页面和相应cs文件实现,其中cs文件中调用的功能函数由bll层等其他层的cs文件实现,而dal层则负责从数据库中调出、写入数据。sbp服务集成平台系统目录结构如图3.7所示。图3.7 系统目录结构图sbp服务集成平台系统目录树形结构的详细说明表3.11所示。表3.11目录树形结构详细说明层次名称功能描述model层实体模型层,构建与数据库实体表的映射模型;dal层数据访问层,直接操作数据库,针对数据的增添、删除、修改、查找等;bll层业务逻辑层,针对具体业务流程的操作,对数据业务逻辑进行处理;web层表示层,显示数据和接收用户输入的数据,为用户提供交互式操作界面;servicefactory层web服务抽象工厂,处理服务分析、评估测试以及编排组合的业务逻辑;utility层辅助功能组件层,实现系统防sql注入、url字符串转义等功能。4系统实现的关键技术4.1 web services概述根据w3c的定义,web services是一种软件系统,能够很好地支持网络上不同计算机之间的交互与协作,接口采用一种可以被计算机处理的格式,即wsdl来进行描述12。当其它系统与web service 进行交互时,系统会遵守用soap消息来描述的约定。典型的soap 消息是建立在http、xml等一系列web相关的协议、标准之上。简单来讲,web service 是一种新型的web 应用程序。它通过轻量级的、与供应商无关的通信协议接受和处理来自于网络(因特网或企业网))上其它系统的xml 格式的请求。web service具备以下特性:完好的封装性、松散耦合性、使用协约的规范性及高度可集成性。基于xml的web services技术使得整个的应用程序开发技术从以操作系统为中心的应用程序组织模式扩展到以网络为中心的组织模式,即在视野上从本地扩大到了全球。两个中心的标志性技术分别为基于本地的组件技术和基于网络的web service核心技术。由于xml的支持,使得数据共享方式从原来的人-人、机器-人模式发展到软件-软件,web service是这个模式的具体应用,为全球范围内实现全方位的全自动化数据共享提供了可能。web service是为实现“基于web无缝集成”的目标而提出的全新概念,希望通过web service能够实现不同的系统之间能够用“软件-软件”对话的方式相互调用,打破软件应用、网站和各种设备之间格格不入的状态。web services 技术最受人关注的特性便是其跨平台交互操作性,它使得应用程序可以采用与平台无关和与编程语言无关的方式进行相互通信。这一特性无论对于b2b 还是异构平台的企业内部企业应用集成和遗留系统的改造都具有十分重要的意义。它使应用程序的集成较之以前更便捷、更容易而且更廉价。由于web services提供一致化的编程模型,所以在企业内外都可以利用通用的基础设施,能够以一种通用的方法进行应用程序集成。利用现有的语言和平台以及遗留的应用程序,以一种增量的方式来集成和应用web service。4.1.1 web services体系架构web services的体系结构是基于三种角色(服务提供者、服务注册中心和服务请求者)之间的交互。这种交互涉及到的内容包括发布、查找和绑定操作13。在这里服务提供者定义了web service 的服务描述并把它发布到服务请求者或服务注册中心。服务请求者使用查找操作从本地或服务注册中心检索服务描述,然后使用wsdl与服务提供者进行绑定并调用web service 实现或同它交互。图4.1描述的是web services体系架构模型。从功能角度看,web services的体系架构是基于web服务提供者、web服务请求者和web服务注册代理的不同操作来建立的。组成web services完成体系的组件必须具有上述一种或多种角色。这些不同的角色之间通过发布、查找和绑定三种操作提供完整的web service功能。其基本过程描述如下:(1) 服务提供者对服务进行包装并在uddi中发布其应用服务;(2) 使用者根据应用需求在uddi中查询所需的服务;(3) uddi为使用者提供服务提供者的位置的相关描述(wsdl);(4) 使用者使用uddi提供的相关wsdl创造代理对象;(5) 使用者使用这个代理对象远程地获取所要的服务。图4.1 web service体系架构图4.1.2 web services核心技术web services系列技术是架构在xml技术的基础上,为构建web service的主要技术有xml、soap、wsdl和uddi。这组技术使得底层平台对应用交互透明,应用的互操作能力得到了前所未有的提,同时,由于xml具有的语言、平台独立性使得web service在企业复杂的异构环境下更具有竞争力14。(1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论