(计算机应用技术专业论文)基于soa的综合教务系统.pdf_第1页
(计算机应用技术专业论文)基于soa的综合教务系统.pdf_第2页
(计算机应用技术专业论文)基于soa的综合教务系统.pdf_第3页
(计算机应用技术专业论文)基于soa的综合教务系统.pdf_第4页
(计算机应用技术专业论文)基于soa的综合教务系统.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机应用技术专业论文)基于soa的综合教务系统.pdf.pdf 免费下载

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

文档简介

中文摘要 随着软件系统功能复杂性的增加,软件的可重用性和系统集成成为软件开发 过程中非常重要的内容。组件技术为此提供了技术上的支持,从应用程序之间共 享代码到计算机之间共享代码再到网络之间共享代码。但是在i n t e m e t 中环境不确 定的情况下,组件技术显得没有意义。 以w c b 服务( w e bs e r v i c e s ) 为技术支持的s o a ( s e r v i c e - o r i e n t e da r c h i t e c t u r e 面向服务的架构) ,成为分布式环境下实现代码可重用和系统集成的一方良药。 w 曲服务是自描述、自包含的模块应用,由于其本身的与组件模型无关性、平台 无关性、编程语言无关性等优良特性,使得w e b 服务可以用于系统集成。 本课题对基于s o a 思想的w c b 服务技术进行了研究,以“综合教务系统”为 设计案例,设计了一个基于s o a 的应用软件系统,并运用m i c r o s o f t n e t 的w e b 服务技术在系统原型上实现了这种架构的关键技术,为正在建设中的校园网管理 系统的集成提供了一个可参考的集成方案。 关键词: s o aw e b 服务m i c r o s o f t n e t 综合教务系统 a b s t r a c t w h i l et h es o r w a r er u n i o ni sb e c o m i n gm o r ea n dm o r ec o m p l e x ,t h er e u s eo f s o i h 榭ea n dt h ei n t e 鲥i o no f s y s t e ms e e mv e r yi m p o r t a n ti ns o r w a r ed e v e l o p m e n t t h ec o m p o n e n t t e c h n o l o g ym a k e s i tp o s s i b l eb y p r o v i d i n gc o d e s h a r i n ga m o n g a p p l i c a t i o n , c o m p u t e r sa n di nn e t w o r ka sw e l l b u t i t i sm e a n i n g l e s sw h e nt h e c i r c u m s t a n c ei si n d e f i u l t ei ni n t e r a c t s u p p o r t e x lb yw e bs e r v i c et e c h n o l o g y ,t h ef r a m e w o r ko fs o a t u r n e do u t b ea p e r f e c t r a m e x i yf o r t h er e u s e o fs o f c w a r ea n dt h ei n t e g r a t i o no fs y s t e m w e b s e r v i c e sc a nb eu s e di ns y s t e mi n t e g r a t i n gf o ri ti ss e l f - d e s c r i b i n g ,s e l f - i n c l u d i n g m o d u l ea p p l i c a t i o na n di th a s a d v a n t a g eo f c o m p o n e n tm o d u l ei n d e p e n d e n c e , p l a t f o r mi n d e p e n d e n c e ,a n dp r o g r a m m i n gl a n g u a g ei n d e p e n d e n c e , e t c t h i sr e s e a r c hh a ss t u d i e ds o a - b a s e dw c bs e r v i c e st e c h n o l o g y ,d e s i g n e da s o a b a s e d a p p l i c a t i o ns y s t e m ,a n di m p l e m e n t e d t h ek e yt e c h n o l o g yo fs o a f r a m e w o r k i ns y s t e m p r o t o t y p eu s i n gw e bs e r v i c et e c h n o l o g yo f v s n e t ,w i t h s y n t h e t i ce d u c a t i o n a la d m i n i s t r a t i o nm a n a g e m e n ts y s t e m a sac a s e t h i sr e s e a r c h w i l lp r o v i d ear e f e r e n t i a ls c h e m ef o rt h ei n t e g r a t i o no f u n d e r - c o n s t r u c t i o n m a n a g e m e n ts y s t e mi nc a m p u sn e t w o r k k e yw o r d s :s o a ,w c bs e r v i c e , m i c r o s l f t n e t ,c o m p r e h e n s i v e m a n a g e m e n ts y s t e mi nt e a c h i n g a f f a i r 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得垂叠盘茎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名囊痧月签字日期:弘心年,z 月7 日 学位论文版权使用授权书 本学位论文作者完全了解苤鲞盘鲎有关保留、使用学位论文的规定。 特授权苤鲞盘茔可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名彳脏嘛夕勇 签字日期:如疗年亿月二7 日 导师签名: 签字日期:劢年,厶月刁日 第一章绪论 1 1 选题背景 第一章绪论 当前,随着社会对人才素质要求的提高以及国家教育制度改革的不断深化, 越来越多的人有愿望也有机会走进大学校园接受高等教育。为了满足学生就业的 需要,学校在专业设置、课程开设、培养方案选择等方面都有了很大的改变,学 校发展状况整体呈现出“规模膨胀、管理工作繁杂多变”的态势。 社会对学校服务质量提出了更高的要求:即要求学校的工作越来越周到、全 面、先进、高效。提高学校的办学水平和办学能力,是关系到学校生存发展的大 事,建设高水平的学校必须从提高管理水平着手。在学校,管理水平的高低很大 程序上体现在教务管理中。随着工作量的加大,工作效率要求不断提高,教务管 理工作日趋繁重复杂,原始的手工或半自动化管理方式的弊端日益显露出来。教 务管理与其他相关部门的管理密不可分,各部门系统之间有业务联系,这种联系 体现在数据传输上。由于学校各部门的管理系统不是同时建设的,在建设初期没 有r r 全局战略和方向,缺乏一个标准的i t 环境,因此所建立的各个系统是分散 的。各部门各自为政,形成了一个个信息“孤岛”。建立部门之间的联系需要把 数据在不同的系统之间抄来抄去。手工处理大量数据,不但给工作人员带来极大 的压力,而且容易产生操作上的失误。另外,原来管理系统信息查询功能只供内 部管理人员使用,非常不适应现行的管理模式。这就在很大程度上影响了学校管 理工作的效率,甚至影响正常的教学进程。校园网的普及,使得学校运用现代化 的手段进行教务管理工作己经成为可能,建立全面的具有综合性、通用性、开放 性、实用性和灵活性的综合教务系统,已成为迫在眉睫的任务。 1 2 课题研究的现状 1 2 1高校管理信息系统应用状况 我国高校m i s 系统建设始于7 0 年代末,与我国经济发展和信息化进程相适 应,经历了以下几个阶段: 第一阶段:7 0 年代末到“六五”期间,为启蒙与实验阶段。 第二阶段:1 9 8 6 1 9 9 2 年期间,为开创和见效期。在这个阶段的重要进展 表现在:逐步由自主的分散开发,走向统一规划、有计划的实施;系统建设的规 第一章绪论 范化、标准化工作开始起步。 第三阶段:1 9 9 3 年一今,集成发展阶段。网络系统技术和产品日新月异, 性能卓越的操作系统、大型数据库系统投入运行,校园网建设进展明显。高校 m i s 系统建设开始有重点地逐步向综合化的n t i s 系统过渡。 目前高校m i s 系统建设的现状可以概括为:建设很普遍,发展不平衡。大 部分高校建设了校园网,但不少学校管理系统仍处于单机运行阶段,有些学校 m i s 系统支持联网运行,系统功能主要是支持单项教育信息管理,没有形成全局 性的集成系统。 应用比较广泛的要数“清华大学综合教务系统”。该系统已通过国家“2 1 1 工程”项目首批验收,是一个集c l i e n t s e r v e r 和b r o w s e r s e r v e r 技术于一体、涉 及教务管理各环节、面向学校各部门以及各层次用户的多模块综合管理信息系 统。与原始的教务管理相比,它采用了当前流行的c s 结构和i n t e m e t 网络技术, 突破了原先教务系统使用地域的局限性,使整个校园网乃至h a t e m e t 上的用户都 可访问本教务系统。该系统经过近年的使用和完善,已成为大学教务管理工作不 可多得的平台。 1 2 2 信息管理系统技术状况 l 欺件开发模式现状 从技术角度来讲,目前的应用软件开发模式主要分为c l i e n f f s e r v e r ( c s ) 模式 和b r o w s e r s e r v e r ( b s ) 模式。c s 模式的系统存在一些缺点: ( 1 ) 需安装客户端软件,系统升级将重装大量的客户端,系统升级维护负担 沉重。 ( 2 ) c s 应用系统构件的重用性不如在b s 要求下的应用系统构件的重用性 好。 ( 3 ) c s 程序一般是典型的中央集权的机械式处理,交互性相对低。 因此基于c s 模式的系统正逐渐被b s 模式系统所取代。b s 模式是w e b 应用系统所基于的开发和运行模式,b s 模式是随着i n t e t n e t 技术的兴起,对c s 结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过w w w 浏 览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形 成所谓3 t i e 结构。b s 结构通用浏览器就实现了原来需要专用软件才能实现的强 大功能,并节约了开发成本,是一种全新的软件系统构造技术。b s 结构的程序 架构是发展的趋势,这种结构具有如下特点。 ( 1 ) b s 建立在广域网之上的,不必是专门的网络硬件环境,有比c s 更强 的适应范围,这是c s 无法作到的。 第一章绪论 ( 2 ) b s 建立在浏览器上,有丰富用户交流,降低了开发成本。 ( 3 ) b s 信息流向可变化,对交互性要求强的应用系统非常合适。 目前仍有许多建立在单机应用程序或客户机服务器模式之上的m i s 。这种 计算模式随着企业应用规模的日益扩大,应用程序复杂度的不断提高,业务及流 程的不断变更,暴露出的问题也越来越多。 2 w e b 技术的应用现状 众所周知,i n t e m e t 的出现改变了传统的信息孤岛式的计算模式,随着i n t e m e t 的发展,一种基于w e b 的技术逐渐引起业内的关注,这就是w e b 服务。w e b 服 务为分布式计算更上一层楼提供了新的契机。【卜5 】w e b 服务被称为第三代互联网 浪潮的技术核心,吸收并兼有了面向对象组件技术及w e b 技术的优点,它为分 布式计算提供了统一、开放、可扩展的平台,使得基于w e b 服务的应用能够相 互协作来提供服务,并互相暴露各自的性能,以进行相互间的整合与集成。 w e b 服务允许用户利用从i n t e m e t 上获得的预置应用逻辑单元来装配应用 程序。w e b 服务技术能使程序员编写的每种业务功能程序都只须添加一个引用 就能用于新的应用程序,过去已经编写好的所有功能程序都可以在运行时发现和 使用。w e b 服务的优点有很多,诸如:【6 】 r 遗留集成,利用现有资产; r 更快的产品上市速度; r 重用增加; ,松耦合性; ,语言无关性等。 3 系统架构技术现状 在w e b 服务技术逐步走向标准化并开始应用的同时,近两年,伴随着企业 需求的不断变化,一种被誉为下一代w e b 服务的技术架构,再一次引起业内关 注,这就是s o a ( s e r v i c e - o r i e n t e d a r c h i t e c t u r e ,面向服务架构) 1 7 - 8 。g a r t n e r 最 早提出s o a 的预言,2 0 0 2 年1 2 月,g a r t n e r 又提出s o a 是“现代应用开发领域 最重要的课题”,并预计到2 0 0 8 年,s o a 将成为占有绝对优势的软件工程实践 方法。 9 - 1 4 去年以来,有关s o a 的信息频现,在有关专家和商家眼中,s o a 是传统软 件体系的“终结者”,有文章甚至称2 0 0 5 为s o a 年。 有许多大开发商涉足s o a 。m m 以服务商的角色介入s o a ,声称所有的软 件产品都基于s o a ,服务也全面支持s o a 。b e a 定位于s o a 平台提供商。微 软声称自己的n e t 架构最适合w e b 服务;惠普推出s o a 治理与管理的解决方 案;c a 则把自己包装成最全面的s o a 安全解决方案提供商。【1 5 】 第一章绪论 国内业界对s o a 也引起了高度的重视,在2 0 0 5 年6 月2 日由计算机世界 报举办了“2 0 0 5 年s o a 高峰论坛”,来自中科院的专家们向来自各行业的有关 专业人士详细介绍了s o a 。国内用友、科诺等公司也切入了s o a 工具和解决方 案的开发。g a r t n e r 把i t 主流技术的发展划分为五个阶段:技术显现期、不断膨 胀的期望期、希望破灭之后的醒悟期、豁然开朗的应用发展期、大量的工业化生 产期。以此标准来看目前国内的s o a ,大体处于第二向第三个阶段的过渡期, 欲迎来“豁然开朗的应用发展期”,还需时日。 b e a 中国区技术总监喻思成说“我们看到了一个非常大的趋势,s o a 将引 领软件产业下一个1 0 年。”“正确的做法是现在就行动起来。” 尽管s o a 的技术尚不成熟,但种种迹象表明,s o a 的市场格局已日渐清晰。 其方向是不容置疑的。明智的做法是现在就从“架构”上用s o a 的思想指导信 息系统建设。如果现在不这样做,将来就没有办法往上走,因为你的系统还是紧 耦合的。这一步至少将为企业搭建起一个可持续发展的信息化平台。 4 支持s o a 的系统开发平台 开发工具对于快速、高效地开发一个易用的、高性能的系统起着非常重要的 作用。m i c r o s o f t n e t 与j 2 e e 是目前企业w e b 服务平台市场的两个最重要的应 用框架( a p p l i c a t i o nf r a m e w o r k ) 。它们都针对分布式n 层( n - t i e r ) 应用的设计, 在集成、性能、安全性和可靠性等诸多方面为用户提供了总体的指南和规范,基 于这些指南和规范,技术提供商提供了相应的平台、工具和编程环境。对w i n d o w s 操作系统来说,开发w e b 服务最好的应用集成平台是m i e r o s o t t n e t 。【l 习 1 3 课题研究的意义 当前,各学校在经过多年的信息化建设后,已经陆续在不同时期、由不同厂 商、基于不同的软硬件平台和通讯网络结构,构建出大量的软件应用系统。对于 学校内部的系统与系统之间、新系统和老系统之间的数据如何集成和共享,如何 按需要实现它们之间的相互调用,成为很多学校迫切需要解决的问题。同时,这 也是当前e a i ( e n t e r p r i s e a p p l i c a t i o ni n t e g r a t i o n ) 面临的重要课题。 s o a 架构为解决以上问题提供了有效的技术方案,s o a 为基于服务的分布 式系统提供了概念上的设计模式;w e b 服务则是基于标准的、可经济实惠地实 现s o a 的一项技术 1 5 1 。换名话说s o a 与w e b 服务之间的关系是战略与战术 的关系。基于目前s o a 与w e b 服务这样一种关系的考虑,本课题选择“综合教 务系统”为设计案例,尝试架构一个基于s o a 的管理系统,并运用w e b 服务技 术实现这种架构的关键技术,为正在进行中的校园网管理系统的集成提供一些可 第一章绪论 参考的技术方案。 1 4 课题工作及创新点 1 本课题主要有以下几方面的工作: ( 1 ) 对目前业内关注的s o a 的架构及其可实现的技术w e b 服务进行全面的 研究; ( 2 ) 对支持w e b 服务技术的开发平台v s n e t 进行系统的研究; ( 3 ) 基于s o a 的思想,利用w e b 服务技术,本着“整体规划,分步实施” 的原则,分析设计综合教务系统,以此为案例实践s o a ; ( 4 ) 用v i s u a ls t u d i o n e t 提供的w e b 服务功能和开发环境实现相关的技术; 2 本课题在以下几方面有所创新: ( 1 ) 基于s o a 和w e b 服务新的系统架构思想; ( 2 ) 采用v i s u a ls t u d i o n e t 先进的设计开发平台、工具和开发技术; ( 3 ) 设计的应用系统具有平台无关性、较强的扩展性和可重用性等特点,可 以使系统开发效率得到提高: 用软件工程的方法,进行论题的分析研究与实践。 1 5 论文的组织 全文共分为5 章: 第1 章,讨论了课题的研究背景、发展状况、技术手段及其意义,并指出了 本课题的研究内容和工作重点,最后介绍了论文的组织。 第2 章,对本课题所依赖的技术理论基础做了比较全面的论述,其中分s 0 a 和w e b 服务两个技术点进行了讨论。对于s o a ,讨论了s o a 的概念,s o a 的 好处与缺憾,实现s o a 的技术。对于w e b 服务,讨论了w e b 服务的概念、必然 性、体系结构、支持技术、应用领域及目前可提供的解决方案。这部分内容既是 课题的出发点和思想路线,同时也是课题的落脚点。 第3 章,用软件工程的方法对所选择的案例“综合教务系统”进行了系统的 分析,给出了系统的功能模块图,为系统的设计做了必要的准备。 第4 章,是本课题的工作重点之一。用s o a 的思想体系,对整个系统进行 了整体的设计,其中成绩管理子系统是设计的重点内容,通过该子系统设计的全 过程,可透视整个系统的建设过程。内容主要包括:系统架构设计、系统模块设 计、数据库设计、w e b 服务设计、数据层设计、业务层设计等。 第一章绪论 第5 章,是本课题的又一个工作重点。讨论了基于w e b 服务技术的系统在 实现与集成方面的技术细节。主要内容分为两部分:第一部分为w e b 服务实现 技术,包括w e b 服务生命周期、开发环境介绍、w e b 服务数据访问策略:第二 部分为实现w e b 服务的一个完整的示例,利用了数据库技术、m i c r o s l i t n e t 技 术及其所支持的w e b 服务解决方案。实现了数据管理与集成系统的设计和实现。 相对于原来的紧藕合的应用系统而言,系统的开发效率、重用性、灵活性和自适 应性都有了很大的提高。 第6 章,是课题工作的总结与展望。回顾了论文的主要内容,阐述了论文工 作的特色和意义,提出了进一步的研究方向。 第二章s o a 及相关技术综述 2 1s o a 概述 第二章s o a 及相关技术综述 2 1 1 什么是面向服务的体系架构( s o a ) k i s h o r ec h a n n a b a s a v a i a h ,i b mg l o b a ls e r v i c e s 对s o a ( s e r v i c e - o r i e n t e d a r c h i t e 船) 的定义:“一种应用程序体系结构,在这种体系结构中,所有功能都 定义为独立的服务,这些服务通过基于消息机制的明确定义的接口和调用协议相 互作用,可以以定义好的顺序调用这些服务来形成业务流程。”【1 6 】 s e r v i c e a r c h i t e c t u r e c o r n 将s o a 定义为:“本质上是服务的集合。服务间彼 此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行 某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、 独立于其他服务所处环境和状态的函数。” l o o s c l y c o u p l e d c o r n 将s o a 定义为:“按需连接资源的系统。在s o a 中, 资源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。与传统 的系统结构相比,s o a 规定了资源间更为灵活的松散耦合关系。” g a r t n e r 则将s o a 描述为:“客户端服务器的软件设计方法,一项应用由软 件服务和软件服务使用者组成,s o a 与大多数通用的客户端服务器模型的不同 之处在于它着重强调软件组件的松散耦合,并使用独立的标准接口。” 】 我们可以从上述的定义中看到s o a 的几个关键特性:所有的功能都定义为 独立的服务;服务是粗粒度、松耦合的;所有的服务之间都通过明确定义的接口 进行通讯,不涉及底层编程接口和通讯模型;服务是可重复调用的。 s o a 不是一种具体的技术,而是一种软件系统架构方法。在s o a 架构下, 业务逻辑以服务的形式出现,服务可以在应用程序之间、企业之间被共享、重用 和配置。在s o a 架构企业应用集成时,服务在开发之时就已经考虑到重用问题, 并提供了标准的接口,可以被各种应用和其他服务所调用。因此通过s o a 架构, 服务可以独立地设计和开发,在需要的时候通过集成,服务成为应用程序的一部 分。 2 1 2s o a 架构下服务的特点 s o a 的关键是“服务”的概念,w 3 c 将服务定义为:“服务提供者完成一组 第二章s o a 及相关技术综述 工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生 变化,但也可能使提供者的状态改变,或者双方都产生变化。”l 在s o a 架构下,服务定义为一组可重用的组件,而这些组件又可以用来构建 新的应用程序或集成现有的软件资产。在一个典型的业务环境里,服务意味着 业务函数、业务事务和系统服务。服务可能是低级( 细粒度的) 函数,也可能是 复杂的高级( 粗粒度的) 函数。定义服务的过程通常是在更大的作用域( 应用程 序框架的作用域) 内完成的,也就是开发基于组件的应用程序框架。 服务有几个特点: 单一性:每个服务完成一个特定的功能; 松耦合性:服务与服务之间没有依赖性; 可聚合性:不同简单服务可以组合起来完成更复杂的服务; 可重用性:一个服务可以应用到许多应用场景中; 互操作性:一个服务的提供者可以提供相同服务的详细细节,但只关心服务 的内容、方式和质量。 在应用程序的构建中,我们可以采用服务的理念来构建应用程序。比如有的 程序提供搜索的服务,有的程序提供用户身份验证的服务等等。通过调用这些程 序就构成了一个应用程序。 2 1 3s o a 架构的优缺点 面向服务的体系结构可以基于现有的系统投资来发展,而不需要彻底重新创 建系统。如果组织将开发力量集中在创建服务、利用现有的技术、结合基于组件 的方法来开发软件上,将获得如下几方面好处:【l 8 】 r 遗留集成,利用现有资产:s o a 提供了一个抽象层,通过这个抽象层,企 业可以继续利用它在r r 方面的投资,方法是将这些现有的资产包装成提供 企业功能的服务。组织可以继续从现有的资源中获取价值,而不必重新从头 开始构建。s o a 最大限度地保护企业以往在i t 领域的投资,集成现有软件 资产,可重用遗留应用程序,降低了维护和集成的成本。 r 商品化基础架构:在所有不同的企业应用程序之间,基础架构的开发和部 署将变得更加一致。 一更快的产品上市速度:从现有的服务中组合新的服务的能力,为需要灵活地响 应市场商业要求的企业提供了优势。通过利用现有的组件和服务,可以减少 软件开发的生命周期( 包括收集需求、进行设计、开发和测试) 。这使得企 业可以快速地开发新的业务服务,并允许迅速地对各种改变做出响应和减少 上市准备时间。s o a 提供了实施更简单、功能更完善的应用程序集成方案, 第二章s o a 及相关技术综述 利用s o a 架构,可获得远高于一般架构的灵活性。 r 减少成本:通过以松散耦合方式公开的业务服务,企业可以根据业务要求更 轻松地使用和组合服务。这意味着资源副本的减少及重用和降低成本的可能 性的增加。随着业务需求的发展和新的需求的引入,通过采用s o a 框架和 服务库,为现有的和新的应用程序增强和创建新的服务的成本大大地减少 了。 一复杂性降低:基于标准的兼容性,与点到点的集成相比降低了复杂性。 r 重用增加:通过重用以前开发和部署的共享服务,实现了更有效的应用程序 及项目的开发和交付。 r 降低风险:重用现有的组件降低了在增强或创建新的业务服务的过程中带来 的风险。 r 利用s o a ,应用程序能够集成各种不同的数据源。 s o a 正在发展中,在可靠性、安全性、遗留系统支持和语义方面还存在诸多 不足,还需要不断的完善。 2 2w e b 服务技术概述 s o a 使用称为服务的功能单元构建系统,这些服务是基于重用的。通过运 用这些服务之间定义良好的接口和契约联系来支持业务流程,使服务( 业务) 的 编排和组合增加了灵活性和集成性。s o a 的关键是使用标准接口和定义,用松 耦合连接,从而掩盖了i t 环境底层的技术复杂性和繁琐性。 今天s o a 的特殊性在于它是基于已广泛接受的w e b 服务标准,从而提供了 在每个不同厂商解决方案之间的相互性。 2 2 1w e b 服务的定义 w e b 服务在近两年取得了巨大的发展。但是各个公司对w e b 服务的定义则 各不相同,目前主要的w e b 服务基础架构的提供者都发布了他们对w e b 服务的 理解。主要的定义如下。 m m 对w e b 服务的定义: “w 西服务是描述一些操作,利用标准化的x m l ( e x t e n s i b l em a r k u p l a n g u a g e ) 消息传递机制可以通过网络访问这些操作的接口。w 曲服务是用标准 的、规范的x m l 概念描述的,称为w e b 服务的服务描述。这一描述囊括了与 服务交互需要的全部细节,包括消息格式( 详细描述操作) 、传输协议和位置。该 接口隐藏了实现服务的细节,允许独立于实现服务基于的硬件或软件平台和编写 第二章s o a 及相关技术综述 服务所用的编程语言使用服务。这允许并支持基于w e b 服务的应用程序成为松 散藕合、面向组件和跨技术实现。w e b 服务履行一项特定的任务或一组任务。 w e b 服务可以单独或同其它w e b 服务一起用于实现复杂的聚集或商业交易。” 【1 9 】 微软的定义是: “w e b 服务是一个应用逻辑单元,它为其他应用提供了数据和业务。应用 通过通用的w e b 协议和数据格式,如m 1 甲、x m l 和s o a p ( s i m p l eo b j e c ta c c e s s p r o t o c 0 1 ) 来访问w e b 服务,不必考虑每个w c b 服务是如何实现的。w e b 服务结 合了基本的组件开发和w e b 的优势,是组成m i c r o s o f t n e t 编程的基石。” “w e b 服务是在i n t e m e t 上进行分布式计算的基本构造块。开放的标准以及 对用户和应用程序之间的通信和协作的关注产生了这样一种环境,在这种环境 下,w e b 服务成为应用程序集成的平台。应用程序是通过使用多个不同来源的 w e b 服务构造而成的,这些服务相互协同工作,而不管它们位于何处或者如何 实现。” “w e b 服务是通过s o a p 在w e b 上提供的软件服务,使用w s d l 文件进行 说明,并通过u d d i 进行注册。”1 2 0 1 s u n 的定义是: “w e b 服务是软件组件,它可以被自动地查找、组合、重组,提供用户请 求的处理方案。j a v a 语言和x m l 是w e b 服务中最重要的技术。”【2 1 】 上面的定义都是描述性的,虽然很难给出一个准确的w c b 服务的定义,但 是大家对w e b 服务有了一定的共识。我们从上面的定义中可以看出,w c b 服务 是一个独立于平台和开发工具的软件模块。经过对w e b 服务比较和分析,我们 认为w e b 服务的主要特点是: 2 2 - 2 4 ( 1 ) w e b 服务有完好的封装性。w e b 服务是一种对象。对于调用这些服务的 开发者而言,仅仅能看到服务提供的功能,不能也无需了解这些服务是如何实现 的。 ( 2 ) w e b 服务是一种松耦合的对象。只要w e b 服务提供的接口功能不变,不 论其实现如何变动,对于调用者而言都是透明的。甚至当w c bs e r v i c e s 的实现平 台发生迁移时,用户都可以对此一无所知。同时由于w c b 服务提供即时连接的 功能,因此在编写程序的时候,无需预先知道被调用对象的组件的实例,使得其 应用更加松散。 ( 3 ) w e b 服务使用标准的协议规范。所有w e b 服务的公共接口都是使用开放 的标准协议进行的。 ( 4 ) w e b 服务是可以查找和自描述的。这样开发人员可以简单地发现w e b 服 第二章s o a 及相关技术综述 务并且加以调用,同时提供简单的方法说明服务的接口是什么。 ( 5 ) w e b 服务具有高度可集成能力。由于w e b 服务采用x m l 作为服务的描 述和信息的封装,因此除去了平台的差异。因此,无论是c o r b a 还是d c o m , 都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成 性。 2 2 2w e b 服务的必然性 程序设计发展的历史为w e b 服务的出现提出了要求,也提供了技术支持。 ( 1 ) 应用程序之间共享代码 2 0 世纪9 0 年代初期,m i c r o s o f t 的c o m 和o m g 的c o r b a ,这两种技术都 允许将功能单元作为二进制对象重用,并允许同一台计算机上的软件通过一种指 定的方法共享代码,随着局域网的兴起,需要在计算机之间彼此通信。 ( 2 ) 计算机之间共享代码 到9 0 年代中期,m i c r o s o f t 使用d c o m ( d i s t r i b u t e dc o m ) 扩展了组件模型, 用来实现这一功能。d c o m 没有取代或改变c o m ,实际上,它只是一个有线协 议,指示c o m 对象如何通过计算机边界进行通信。o m g 引入了一个它自己的 有线协议,名为i i o p ( 0 i m 间协议) ,它用来允许不同的c o r b ao r b 在i n t e m e t 上协调工作。 这两个方案都是源自于台式机编程的,它们都具有几层复杂性,使它们的使 用变得很困难。c o m d c o m 和c o r b a n i o p 都不能在i n t e m e t 上很好地工作。 这两个标准是互斥的,d c o m 服务只能与d c o m 客户交互,d c o m 只局限于运 行在w i n d o w s 平台,c o r b a 与c o m 一样,是一个复杂的二进制标准,不能很 容易地在防火墙上工作。 ( 3 ) 网络之间共享代码 d c o m 允许开发人员按照在本地计算机上使用c o m 对象的相同方式在远 程计算机上使用c o m 对象,但是d c o m 并不适合分布式网络,它所使用的方 案,不断测试( p i n g ) 或保持活动的消息,增加了太多的开销,在i n t e m e t 的无 状态环境下显得没有意义。 综上所述,其它组件技术标准存在以下问题: 依赖于二进制通信:很难在防火墙上使用,防火墙可能会限制大多数端口上 的二进制数据。 软件开发有难度:组件的设计满足上百个客户很不容易; 平台或程序设计语言相关性:两个标准都是“封闭式”的,限制了可能的用 户以及使用它们的方式: 第二章s o a 及相关技术综述 缺乏数据表示的通用标准:创建c o m 和c o r b a 时,没有用来共享结构化 数据的标准。 ( 4 ) w e b 服务的承诺 w e b 服务用来克服这些早期技术的限制,具有以下特点: 开放的标准:w e b 服务没有隐藏或锁定的部分,技术的每个方面都是公共 标准定义的。 跨平台的功能:任何可以创建x m l 文档并在h ,兀p 上发送信息的程序设计 语言都可以与任何w e b 服务交互。 表2 - 1 列出了相关标准模型的技术特征。 表2 - 1w e b 服务同其他分布式对象模型的特征比较 特征 c 0 髓d 0 0 虹 w e b 服务 远程过程调用 i n t e r n e t 分布式计算环境超文本传输协议( h t t p ) ( r p c ) 机制o r b 协议( i i o p )远程过程调用 ( d c e - r p c ) 编码通用数据表示( c d r )网络数据表示( n d r )扩展标记语言( x 札) 接口描述接口定义语言( i d l )接口定义语言( i d l ) w e b 服务描述语言( w s d l ) 发现命名服务与交易服务 注册库通用发现、描述与集成机 制( u d d i ) 防火墙友好性 否否是 协议的复杂性高高低 跨平台性部分 否 是 2 2 3w e b 服务的体系结构 w c b 服务主要建立在三个角色的交互上,它们是:服务的提供者、服务请 求者和服务注册中心,而交互的内容包括发布、查找和绑定三个操作。这些角色 和操作都围绕w e b 服务的两个构件展开,它们是:服务和服务描述。w e b 服务 最典型的实现模型是:服务提供者开发一个通过网络可以被访问的服务,然后将 服务的描述注册到服务注册中心或者发送给服务请求者。服务请求者使用查找操 作从本地或服务的注册中心得到服务描述,并使用服务描述中的信息与服务的提 供者实现绑定,然后与w e b 服务交互,调用其中的操作。服务的提供者和服务 的请求者是w e b 服务的逻辑基础,一个w c b 服务既可以是提供者也可以是请求 者。图2 1 显示了这些操作、提供这些操作的组件及它们之间的交互。 6 1 第二章s o a 及相关技术综述 图2 - lw e b 服务体系架构模型 ( 1 ) w e b 服务的角色 服务提供者( s e r v i c ep r o v i d e r ) :从企业的角度看它是指服务的所有者,从体 系结构上看,它是指提供访问服务的平台。 服务请求者( s e r v i c er e q u e s t e r ) 从企业的角度看,它是指需要特定功能的企 业,从体系结构上看,它是指查找和调用服务的客户端应用程序。服务请求者角 色可以是人使用浏览器完成,也可以是没有用户界面的应用程序发出。 服务注册中一t = , ( s e r v i c er e g i s t r y ) :它是指用来存储服务描述信息的信息库 ( r e p o s i t o r y ) 。服务提供者在这里发布他们的服务,服务请求者在这里查找服务, 获取服务的绑定信息。 ( 2 ) w e b 服务的操作 对于利用w e b 服务的应用程序,必须发生以下三个行为:发布服务描述、查 询或查找服务描述以及根据服务描述绑定或调用服务。这些操作可以单次或反复 出现。这些操作具体为: r 发布( p u b l i s h ) ;只有可以被用户发现并使用的服务才能真正发挥其作用,因 此服务提供者首先需要将服务进行一定描述并发布到注册服务器上。在发布 操作中,服务提供者需要通过注册服务器的身份验证,才能对服务描述信息 进行发布和修改。 一查找( f i n d ) :服务发布之后,需要解决的问题是如何使服务能够被发现,服 第二章s o a 及相关技术综述 务请求者根据注腮服务器提供的规范接口发出查询请求,以获取绑定服务所 需的相关信息。在查找操作中,一般包含两种查找模式;一种是浏览模式 ( b r o w s ep a t t e r n ) ,即服务请求方可以根据各种国际通用的行业分类标准来测 览或者通过一些比较宽泛的关键字来搜索,并逐步缩小查找的范围,直到找 到满足需要的服务,查找结果一般是一系列服务的集合;另一种是直接获取 模式( d r i n d o w np a t t e r n ) ,即通过唯一性的关键字直接得到特定服务的描 述信息,其查找结果是唯一的。 一绑定( a i n d ) :最后需要解决的问题是如何实现对服务的调用。在绑定操作中, 服务请求者通过分析从注册服务器中得到的服务绑定信息,可以知道调用该 服务所需的详细要求,包括服务的访问路径、服务调用的参数、返回结果、 传输协议、安全要求等,服务请求者使用服务描述中的绑定细节来定位、联 系和调用服务。 ( 3 ) w e b 服务的构件 一服务( s e r v i c e ) :w e b 服务是一个由服务描述来描述的接口,服务描述的实现 就是该服务。服务是一个软件模块,它部署在由服务提供者提供的可以通过 网络访问的平台上。服务存在就是要被服务请求者调用或者同服务请求者交 互。当服务的实现中利用到其它的w e b 服务时,它也可以作为请求者。 口服务描述( s e r v i c ed e s c d p t i o n ) :服务描述包含服务的接口和实现的细节。其 中包括服务的数据类型、操作、绑定信息和网络位置。还可能包括可以方便 服务请求者发现和利用的分类及其它元数据。服务描述可以被发布给服务请 求者或服务注册中心。 2 2 4w e b 服务协议栈 正如上一节介绍的,w e b 服务实现的机理包括w e b 服务的发布、发现、描 述及w e b 消息的传送等几个典型的操作,为了让不同的系统能够顺利地实现 w c b 服务交互,需要有一系列标准的技术支撑。目前,w e b 服务的体系结构被 定义为几个层次,整个w e b 服务的技术系列被称为是w e b 服务协议栈,它们 就像一个堆栈那样,按照这样的方式协作工作,其结构如表2 - 2 所示。和网络的 分层结构相同,上层的功能必须依靠下层的支持,各个协议层的公共机制在各个 层次都有所体现。 ( 1 ) 网络传输层 w e b 服务协议栈的基础是网络层( n e t w o r k ) 。为了让w e b 服务能够被来自不 同系统的客户使用,应用于w 曲服务的数据传输技术必须是应用最广泛的。h t t p 凭借其普遍性成为了w e b 服务实现中首选的网络协议。其他一些i n t e r n e t 协议, 第二章s o a 及相关技术综述 比如s m p t 和f 口等,也可以用于w e b 服务。而在i n t r a n e t 环境下,还可以使 用w e b s p h e r em q 和c o r b a 等中间件技术。w e b 服务的好处之一在于它能够为 i n t e r n e t 和i n t r a n e t 服务开发和使用提供了统一的编程模型。所以,网络协议和技 术的选择对于服务开发者来说是透明的。 表2 2w e b 服务协议栈 技术 层次 公共机翻 w s f l 服务工作流程层 s t a r i c u d d i服务发现层 d i 坞n u 叩i服务发布层 服务描述层 w s d - l 一服务实现 安管 q 一服务接口 o 全理s s o a p基于x m l 的消息层 s 匝s c h e m a数据模型层 x m 儿x m l 消息层 h 1 v i p 、f r p 、s m t p ,m q 传输层 ( 2 ) 数据表现层 数据表现层的x m l 为整个w e b 服务上层协议提供了数据、信息描述手段, x m l 是目前全球范围内用于描述数据和交换数据的一种标准方式。 x m l 作为i n t e r n e t 上的一种新的数据交换标准,其应用范围从早先的w e b 信息描述,发展到后来的数据交换的开放标准,乃至目前的服务集成和服务交互 的开放技术,x m l 已经成为开放环境下描述数据描述信息的标准技术。在w e b 服务的时代,全部的规范、技术同样都是以x m l 为底层核心和构架基础的。对 于w e b 服务而言,无论是w e b 服务的调用( s o a p 技术) 、w e b 服务界面的描 述( w s d l 技术) ,还是w e b 服务的发现( u 】) d i 技术) ,都是使用x m l 作为 信息描述和交换的标准手段。 ( 3 ) 数据模型层 数据模型层,描述数据结构的数据模型( 也称为元数据) 。它

温馨提示

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

评论

0/150

提交评论