(计算机软件与理论专业论文)基于soa的企业oa系统的研究.pdf_第1页
(计算机软件与理论专业论文)基于soa的企业oa系统的研究.pdf_第2页
(计算机软件与理论专业论文)基于soa的企业oa系统的研究.pdf_第3页
(计算机软件与理论专业论文)基于soa的企业oa系统的研究.pdf_第4页
(计算机软件与理论专业论文)基于soa的企业oa系统的研究.pdf_第5页
已阅读5页,还剩78页未读 继续免费阅读

(计算机软件与理论专业论文)基于soa的企业oa系统的研究.pdf.pdf 免费下载

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

文档简介

,h “ f , i 独创性声明 舢i l i | i | i i i i | l i f | | l l l f i | l i i 洲川| | l | i y 18 0 2 6 3 6 本人声明所呈交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:蓬勉 吼砂7 年似日 论文使用授权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 躲被导师 日期 h s 摘要 摘要 随着中国i t 业的不断发展,软件企业间的竞争也日益激烈。而全球经济一体 化的浪潮,给国内软件企业带来了大量的海外软件外包业务,但不少软件企业却 因资质问题而与之无缘。因此软件企业应在软件项目中进行规范管理,并采用先 进的开发技术来提高软件开发的成功率和生产效率,这不仅是在同行竞争中取胜 的重要因素,也是提高软件企业资质的必由之路。 卡耐基梅隆软件工程学院提出的能力成熟度模型集成( c 埘工) ,是当今软件 过程改进领域的重要成果,还是软件企业资质评估的重要内容。c 删i 融合了全面 质量管理的思想,为软件企业的过程改进提供了标准,为软件企业的项目管理提 供了方向。 s o a 软件架构模式是今后软件设计的潮流,基于s o a 架构的软件不仅具有良 好的可扩展性,还能集成早期的异构系统。w e b 服务是一种实现s o a 架构的软件 开发技术,可以实现真正组件化的软件开发理想。基于s o a 、w e b 服务的软件设 计思想,可以有效提高软件的复用率,为实现快速、低成本开发软件奠定了基础。 本文首先介绍了s o a 架构思想、c 删i 的相关知识。之后结合作者在w 软件公 司进行的项目开发实践,描述了在基于s o a 的软件项目中,如何以c m m i 思想为指 导进行软件开发,提出了s o a s p 的软件过程模型。然后以s o a s p 软件过程模型为 指导,结合s o a 架构进行该软件公司的0 a 的子系统( 软件开发过程管理系统) 的 分析、设计、开发的工程实践。最后总结了在此过程中经验和收获,并对不足之 处提出了改进的思路。 “ “关键字:软件工程,s o a ,c m m i ,0 a q p a b s t r a c t a b s t r a c t w i mm ed c v e l o p m 衄to fc h i n e s ei ti n d u s 咄廿l ec o m p e t i t i o n 锄o n gs o 腑a r e e i l t e 叩r i s e sb e c o m e sm o r es 舐o u s t h e 胁do fe c o n o m i c9 1 0 b a l i z a t i o nh a sb r o u 曲ta l o to fo v e r s e a ss o f h a r eo u t s o u l 7 c i i l g ,b u tm a n yc h i n e s es o r w a r ee n t e 印r i s e sm i s st h i s 0 p p o 咖n i 够b e c a u s eo fq u “i 丘c a t i o n n l e r c f o r e ,s o f l w a r ee n t e 印r i s e ss h o u l dr e g l l l a t e s o f t w a r ep r o j e c t sa n da d o p ts o p h i s t i c a t e d d e v e l o p i n g t e c h n 0 1 0 9 yt 0 e n l l a i l c et h e s u c c e s sr a t ea n dp r o d u c t i v i t yo f s o r w a r cd e v e l o p m e n t t h i si sn o to i d ya ni m p o r t a n t f a c t o ro f p e e rc o m p e t i t i o nb u ta l s ot h ee s s e r l t i a lw a yo fp r o m o t i n gm eq u a l i f i c a t i o no f s o r w a r ee n t e r p r i s e s 1 1 1 ec m m i p r o p o s e db yc 锄e g i em e l l o ns o 腑a r ee n 酉n e 甜n gi i l s t i t u t ei sb o t h a ni m p o r t a n ta c h i c v c 玎a e n ti nt h ef i e l do fs o r w a r ep r o c e s si m p r o v e m e n ta 1 1 da n i m p o r t a n tp a r to fq u a l i f i c a t i o na s s e s s m e n to fs o 脚a r ee n t e r p r i s e s i ti n t e g r a t e st h ei d e a o fm uq u a l i t yc o n n 0 1 ,p r o v i d e st h es t a l l d a r do fp r o c e s sp r o m o t i o nf o rs o r w a r e e n t e 印r i s e sa n ds h o w ss o 行w a r ee n t e 印r i s e st h ed i r e c t i o no fp r o j e c tm a n a g e m e n t s o as o r w a r e 疔锄em o d e li st h e 懒l do f 如饥i r es o f h a r ed e s i g n t h es o r w a r e b a s e do ns o an o to n l yh a sg o o ds c a l a b i l i t yb u ta l s oi n t e 目a t e st h ee a r l yh e t e r o g e n e o u s s y s t e m w e bs e i c ei sas o 胁a r ed e v e l o p i n gt e c i m o l o g y ,w h i c hc a nr e a l i z em ed r e a m o fm o d u l 撕z e ds o r w a r ed e v e l o p m e l l t 1 1 1 ei d e ao fs o 脚a r ed e s i 弘b a s e do ns o aa n d w e bc a ne f f e c t i v e l yp r o m o t et h er s er a t eo fs o 觚a r e 觚d1 a yt h ef o u i l d a t i o nf o rt h e r a p i da 1 1 dl o w _ c o s ts o 觚a r ed e v e l o p m e i l t t h i st 1 1 e s i s f i r s t l yi n t r o d u c e s t h ei d e ao fs o aa 1 1 dt h er c l a t i v ek n o w l e d g eo f c m m i 0 n 也eb a s i so ft h ep r a l 蜮c a ls o 胁a r ed c v e l o p m e mi nws o 胁a r ec o m p a n y ,i t d e s 嘶b e sh o wt od e v e l o ps o r w a r eu n d e rt h eg u i d eo fc m m ii nt h es o 脚a r ep r o j e c t b a s e do ns o aa i l dp u t sf o 州a r dt h em o d e lo fs o a s ps o 脚a r ep r o c e s sm o d e l t 1 1 e 1 1 g u i d e db yt l l es o a s pm o d e l ,i ta n a l y z e s ,d e s i 印sa i l dd e v e l o p st h eo as l l b s y s t e m u n d e rt h e 疗锄eo fs o a f i n a l l y ,i ts 眦su pt h ee x p 嘶e n c ea l l da c h i e v e m e l l t sa n d 西v e ss o m ei m p r o v i n gi d e a s k e yw o r d s : s o 行w a r ee n 百n e e r i n g ,s o a ,c m m i ,o a i i k 目录 目录 第一章绪论。l 1 1 研究意义1 1 2 国内外研究现状2 1 3 主要的研究内容3 1 4 论文结构4 1 5 本章小结4 第二章s o a 软件架构5 2 1s o a 的基本思想5 2 1 1s o a 的由来5 2 1 2s o a 的本质5 2 1 3s o a 的价值6 2 2s o a 的技术途径7 2 2 1s o a 的规范7 2 2 2x m l 9 2 2 3w e bs e r v i c e s 9 2 3 本章小结1 1 第三章c m m i 综述1 2 3 1c m m i 基础知识1 2 3 1 1c m m 1 2 3 1 2c m m i 的由来1 3 3 2c m m i 的模型结构。13 3 2 1c m m i 的阶段式模型1 3 3 2 2c m m i 的过程域15 3 3c m m i 等级一1 6 3 3 1 初始级1 6 3 3 2 己管理级1 6 3 3 3 严格定义级16 3 3 4 定量管理级1 7 丌i 目录 3 3 5 优化级1 7 3 4c m m i 、p s p 、t s p 的完美结合1 8 3 4 1p s p 18 3 4 2t s p 19 3 4 3c m m i 、p s p 、t s p 的相互关系2 0 3 5 本章小结。2 0 第四章基于s o a 的c m m i 软件过程模型21 4 1 基于s o a 的c m m i 软件过程模型框架2 1 4 1 1 项目管理过程2 2 4 1 2 项目研发过程2 2 4 1 3 机构支撑过程2 3 4 1 4 组织过程管理2 4 4 2s o a s p 模型中相关过程改进2 5 4 3s o a s p 模型的特点3 3 4 4 改进效果。3 4 4 5 本章小结3 7 第五章基于s o a 的o a 系统的分析、设计与实现3 8 5 1 系统概述。3 8 5 1 1o a 系统研发思想3 8 5 1 2o a 系统设计原则3 8 5 1 3o a 系统的开发环境3 9 5 1 4o a 系统架构设计4 0 5 2 基于s o a s p 模型的系统功能分析4 4 5 2 1 领域分析4 4 5 2 2 需求定义4 6 5 2 3 服务需求分析5 1 5 3 系统设计51 5 3 1 总体框架设计5 1 5 3 2 数据库设计5 2 5 3 3 概要设计与界面设计5 5 5 3 4 工作流程设计5 7 5 3 5 服务设计5 8 i v _ d 目录 5 4 系统实现5 9 5 4 1 工作流程的实现5 9 5 4 2 服务的实现6 4 5 5 本章小结6 5 总结与展望。6 6 致谢6 8 参考文献6 9 v p 第一章绪论 1 1 研究意义 第一章绪论 我国的i t 业经过多年的发展,为我国信息化的普及作出了巨大的贡献,孕育 了华为、中兴、海信等一大批国内知名的软件企业,也开发出了百度搜索引擎、 方正排版系统、用友财务软件等国人熟知的软件产品。为了推动软件产业发展, 早在2 0 0 1 年就确定在北京、上海、大连、成都、等1 0 个城市建设国家软件产业 基地,创造了软件开发和产业发展的良好环境。在国家政策的大力扶持下,催生 了大量中小规模的软件企业,软件企业间的竞争也曰益激烈。同时,全球经济一 体化的浪潮,带来了大量的服务外包业务,特别是离岸软件外包业务,为我国的 软件企业带来了巨大的机会,但不少软件企业却因资质问题而与之无缘担1 。因此软 件企业应在软件项目中进行规范管理,并采用先进的开发技术来提高软件开发的 成功率和生产效率,这不仅是在同行竞争中取胜的重要因素,也是提高软件企业 资质的必由之路。 卡耐基梅隆软件工程学院提出的能力成熟度模型集成( c 删i ) ,是当今软件 过程改进领域的重要成果,也是软件企业资质评估的重要内容。c 删i 融合了全面 质量管理的思想,为软件企业的过程改进提供了标准,为软件企业的项目管理提 供了方向。软件企业参照c m m i 规范,结合中国及企业现实,努力探索规范有效的 软件开发过程,能显著提高软件企业的软件项目成功率,也能为企业顺利通过c m m i 的评估奠定坚实的基础。因此在软件企业按c 删i 相关标准进行工程实践具有十分 非常重要的意义。 s o a 因其具有良好的可扩展性,方便地完成异构系统间的集成,已成为当前软 件业界首选的软件架构模式。w e b 服务以规范化、组件化的技术特性,为实现真正 组件化的软件开发目标打开一道理想之门。因此,大量的软件企业都在积极探索 基于s o a 、w e b 服务的软件开发模式,通过提高软件的复用率,为实现快速、低成 本开发软件奠定了基础。”。 本文以一软件企业的0 a 系统建设过程为目标,着重讨论了以c 姗i 思想为指 导,基于s o a 软件架构系统的软件开发过程及项目管理实践,及在普元e o s 平台 下进行实现w 软件公司的0 a 子系统的分析、设计、开发的工程实践。 电子科技大学硕士学位论文 1 2 国内外研究现状 一、软件过程管理 c m m 本身即源自美国政府和军工软件企业的一些成功实践。美国m o t o r o l a 、 休斯、波音等公司经过自身多年的经验积累,为有效实施软件过程、提高产品和 项目控制能力提出了很多好的建议。比如,建立承诺机制、确保员工积极参与到 软件过程中来等。当美国人e d w a r dd 锄i n g 把全面质量管理理念带入日本后,在 日本掀起了质量热潮,质量控制小组遍及全国。在软件过程改进方面,日本软件 业成立了旨在跨越公司界限,分享过程改进经验的软件过程改进联盟。印度在实 施c m m 方面也取得了极大的成功,其软件业借助规范的管理进入国际市场,并 逐步发展壮大。 我国软件业发展历史不长,软件企业对软件过程的理解和认识程度普遍不高, 虽然在不断吸取国外的成功经验,但在软件过程改进方面没有取得太大的进展。 我国大型软件企业数量不多,不少已经通过了c m m c m m i 评估,但中小型软件 企业因难以承担实施c m m c m m i 的各项费用,在缺少政府对实施c m m c m m i 的鼓励政策后,参与c m m c m m i 评估热情会进一步降低。相比我国众多的软件 企业而言,能实施c m m c m m i 的软件企业比例很小。 调查发现,虽然企业通过实施c m m c m m i 取得了一定的成效,如促进了规 范化管理、提高了项目控制能力和产品质量等。但存在的问题也较为突出,如流 程繁琐僵化、实施成本高等主要问题。调查还发现,由于缺乏有效的手段,不少 企业仅通过高层管理者强制推广,只关注c m m c m m i 模型要求,而不注意符合 企业实际情况,但如灵活的裁剪和度量分析、问题反馈分析机制等,不能及时调 整和改进过程,使得过程繁琐且僵化,无法适应软件企业所面对的动态环境。执 行这样的软件过程,要么付出很高的代价,要么开发人员绕开管理过程,使得管 理与技术脱节。无论是哪种情况,实施效果都不尽如人意。因c m m i 实施效果不 佳而形成的过程改进“不成功”经验在软件产业内产生了负面效应,降低了其他 软件企业实施c m m c m m i 的积极性。所以按照c m m c m m i 的总体要求,根据 软件企业实际,不断改进软件过程,是企业通过c m m c m m i 评估的需要,也是 提高企业软件开发能力和效率的重要保证。 二、软件架构模式 软件架构不仅仅是软件实现的技术模式,而且也体现了设计者对系统的高度 抽象和思考,即对软件所反映的现实世界的认识方法。 2 第一章绪论 结构化的分解方法。在系统架构中, 将子系统拆分为构件及单元。通过拆分, 低系统的复杂度。 早期人们通常将系统拆分为子系统,再 深入到系统的内核,便于各个突破,降 组装化的整合方法。如果系统中的粒度过小就难以形成合力,而是形成无数 的“信息孤岛 。通过单元、构件、子系统的不断整合,将连局部为整体,恢复系 统的原貌。 在实现系统整合过程中,产生了应用和集成紧耦合的集中式应用服务器( a s ) 、 分布式消息中间件( m o m ) ,应用和集成松耦合的集中式企业应用集成( e a i ) 、 分布式企业服务架构( e s a ) 等软件架构模式。随着w e b 服务技术日益成熟,支 撑的网络环境日益稳固( 尤其是互联网) ,使实现e s a 的s o a 软件架构模式得到 了广泛认同和全面推广。 s o a 得到i b m 、微软等主流公司及万维网联盟( w 3 c ) 、结构化信息标准进步 组织( o a s i s ) 等组织的大力支持,并有微软的n e t 平台及i b m 的w 曲s p h e r e 等予 以实现。我国的普元软件( p m e t o n ) 是全球领先的s o a 中间件基础软件厂商, 也是s o a 国际标准s c s d o 的主要参与制定者,其产品“s o a 应用平台一 p r i m e t o ne o s 和“s o a 流程平台一p r h e t o nb p s 所提供的s o a 服务支持已在 金融、电信等多领域的应用中得到验证。由于s o a 的框架开发规模比较大,在大 型软件项目应用较多,而中小型项目中则较少。在中小软件项目中如何实现s o a 架构下的系统开发,特别是构建一些通用的w e b 服务库,并形成行业解决方案的 经验,这是当前s o a 应用面临的首要问题。 1 3 主要的研究内容 一、论文研究背景 w 公司是成都本地一家知名软件企业( 后文均以“w 公司”指代之) ,成立于 2 0 0 4 年,该公司拥有强大的软件研发体系、完善的质量保证体系和技术管理体系, 以及大中型系统集成、系统整合工程实施的雄厚技术实力和丰富经验是公司软件 外包与开发的保障。多年来,在承接日本、欧美软件外包及在企业信息化建设、 业务流程管理控制和企业应用整合服务领域等方面业绩斐然。随着公司业务的不 断增长,公司规模进一步扩大,己成为拥有多个子公司的集团公司。 为了更好地整合公司现有资源,提高管理水平,公司计划对现有o a 系统进 行重新规划,决定采用s o a 架构来搭建新的o a 系统,并为整合其它子系统提供 电子科技大学硕士学位论文 易实现的整合平台。同时在这一系统开发过程中,参照c m m i 的要求进行系统开 发过程的规范管理,为企业通过c m m i 评估积累管理经验。 二、主要研究工作 1 、以企业o a 系统建设为目标,在分析c m m i 模型和研究s o a 系统架构的 基础上,提出了基于s o a 软件过程模型s o a s p ( s o as o 脚a r ep r o c e s s ) 模型, 该模型覆盖了c m m l 3 级的过程域; 2 、按照s o a 架构,在s o a s p 模型的指导下,完成了w 软件公司的o a 子 系统( 软件开发过程管理系统) 的分析、设计、开发的工程实践。 3 、根据0 a 子系统实践过程中反映出的不足,提出了相应的改进思路。 1 。4 论文结构 本文的结构如下: 第一章绪论:介绍了论文的研究背景,作者的主要研究工作及论文结构。 第二章s o a 软件架构:介绍s o a 的由来、本质、价值,以及实现s o a 的相 关技术( s o a 规范、l 、w e bs e r v i c e s ) 。 第三章c m m i 综述:介绍c m m i 的由来、模型及其过程域,c m m i 的等级标 准,p s p 、t s p 的基本内容,c m m i 在软件开发中的意义。 第四章基于s o a 的c m m i 软件过程模型:在研究c m m i 模型和基于s o a 的开发方法的基础上,提出了一个s o a 软件过程模型s o a s p 模型。 第五章基于s o a 的0 a 系统的分析、设计与实现的方法:本章以s o a s p 模 型为理论指导,对o a 系统进行分析、设计与实现的s o a 软件开发方法研究。 最后,对研究工作进行了简要总结,提出了今后的改进方向。 1 5 本章小结 本章简要介绍了我国软件行业的发展水平及c m m i 、s o a 对软件企业的影响 情况,概要地总结了国内外软件过程管理和软件开发模式的研究及应用现状。说 明了本论文的研究背景,作者的主要工作,以及论文的组织结构。 4 第二章s o a 软件架构 第二章s o a 软件架构 随着企业信息化水平的不断提高,企业各类信息系统的不断增加,新的管理 要求将原本独立的信息系统( 信息孤岛) 整合起来。如何整合采用不同架构、不 同技术的异构系统,成为当今i t 领域的一大难题,于是业界提出了企业服务架构 ( e n t e r p r i c es e r v i c ea r c h i t e c t u r e ,简称e s a ) 钔。 e s a 将流程从逻辑中抽象出来,逻辑成为系统对外的服务,通过统一的用户界 面、流程打破竖井式结构,使企业的多个应用系统之间将成为一个有机的整体。 e s a 一般采用s o a 的软件架构予以实现。 2 1 s o a 的基本思想 2 。1 1s o a 的由来 1 9 9 6 年g a r t n e r 首次提出的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 ,面向服 务架构) 的概念,但当时由于软件技术的限制,无法真正实现。随着软件技术的不 断发展,使s o a 的实现成为了可能,当2 0 0 2 年g a r t n e r 再次提出s o a 概念时,得 到业界的广泛认同,世界知名的软件公司纷纷响应,很快将s o a 从概念演变成了实 际应用的软件架构瞄3 。 s o a 发展经历了以下主要事件: 1 9 9 6 年,g a r t n e r 最早提出s o a 的思想; 2 0 0 2 年,g a r t n e r 重新提出s o a 是“现代应用开发领域最重要的课题”; 2 0 0 5 年,世界各大软件厂商纷纷提出自己的s o a 解决方案,成功建立并实施 s o a 应用软件 2 0 0 8 年,s o a 已经成为占有绝对优势的软件工程实践方法。 2 1 2s o a 的本质 g a r t n e r 对s o a 的定义为“客户端服务器的软件设计方法,一项应用由软件 服务和软件服务使用者组成1 。认为s o a 是一种在实现上更灵活,在成本上更 经济的软件架构模型,可以按需要通过网络对松散耦合的粗粒度应用组件进行分 电子科技大学硕士学位论文 布式部署、组合和使用。并强调s o a 是一种软件架构思想,并不是一种产品。 s e r v i c e a r c h i t e c t u r e c o m 将s o a 定义为:“本质上是服务的集合。服务间彼 此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行 某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、 独立于其他服务所处环境和状态的函数。口1 l o o s e l y c o u p l e d c o m 将s o a 定义为:“按需连接资源的系统。在s o a 中,资源 被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。与传统的系 统结构相比,s o a 规定了资源间更为灵活的松散耦合关系。”口3 按b e a 的理解:s o a 是一个i t 战略,它将企业应用中分散的功能组织成可以 共享的基于标准的服务,这些服务能够被快速地被组合和重用,以满足业务的需 求。 虽然存在着对s o a 的多种理解,但仍可从中看到s o a 的几个关键特性:粗粒 度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层 编程接口和通讯模型阻1 。 2 1 3s o a 的价值 一、实现企业i t 闲置资产的重用 实施s o a ,企业必然需要对自身所用的信息系统进行重新的分类,这势必会 使企业全面的了解自身的信息系统,然后针对企业的服务寻找适合的i t 支持。以 前由于种种原因被闲置的企业i t 资产,企业必然会重新考虑,挖掘到闲置资产的 价值,从而使闲置的i t 资产得以重用。另外,s o a 可以将旧的系统封装起来,成 为w 曲s e r v i c e s 得以重新利用。 二、降低企业的i t 投资成本 以往多数企业在建设企业的i t 系统时是从项目的角度出发的,比如e r p 项目、 c i 洲项目等,事后等企业的r r 系统越来越多的时候,才会考虑系统的集成问题, 但这时候往往集成的难度就很大了。而s o a 要求企业在i t 系统建设之初就要考 虑这些问题,也就是要考虑服务之间的接口问题。这样就会使企业的i t 的成本大 大缩减。 同时,s o a 将改变以往的软件购买模式,目前的多数企业在购买软件时往往 是成熟性软件,需一个模块或一个系统的购买,企业在购买时往往无法将那些企 业不需要的功能剔除出去,这样,企业就不得不为此多付出资金成本、培训成本 6 第二章s o a 软件架构 等许多不必要的成本,而s o a 则可以帮助企业实现真正的按需购买,企业需要什 么功能就购买相应的服务,帮助企业避免不必要的支出。 三、实现企业的动态变革 s o a 使企业的i t 人员不必太多的关心企业i t 系统的底层技术,而更多的去 考虑企业的业务以及业务与i t 的接合。同时,以往企业在开发系统时,在重复功 能上浪费了大量的人力与财力,同时系统在开发完成后,如果企业业务变化,系 统将很难更改或者更改的成本很高。而s o a 面对的是一个个独立的服务,服务之 间可以通过标准接口来相互调用,这样企业在重复功能上就可以直接通过接口调 用,而不必去重新开发。企业的业务发生变化时,只需要修改相对应的服务即可, 降低了修改的难度与复杂度,保证了企业的i t 系统的动态变化。 四、实现软件开发方式的变革 s o a 就是希望把软件变成像现在的积木玩具一样,变成一个个的小块,可以 反复拼接,但是他们之间要有一系列共同遵循的标准,并且有一定的灵活性,可 以让应用企业根据自己的想象创造他们想要的东西。s o a 把企业基本应用封装成 个个的服务( 就象一小块积木) ,服务之间的接口遵循一系列统一的标准1 。 s o a 的软件架构思想有望实现软件开发的工业化生产,服务形成标准化构件, 大量标准化的构件能形成软件企业的资源库,软件开发过程演化为使用标准件进 行组装的过程,不仅能缩短软件生产周期,还能提高软件产品的质量。 2 2s o a 的技术途径 2 2 1s o a 的规范 s o a 得到了业界的广泛认同,并通过建立厂商间的协作组织共同努力制定中 立的s o a 标准。目前只形成了s c 刖s d o 厂w s p o i i c y 规范。其中s c a 和s d 0 构成 了s o a 编程模型的基础,而w s p o l i c y 建立了s o a 组件之间安全交互的规范。这 三个规范的发布,标志着s o a 进入了实施阶段。 一、s c a s c a ( s e r v i c ec o m d o n e n ta r c h i t e 咖r e ,服务组件框架) 提供了一套可构建基 于面向服务的应用系统的编程模型。它的核心概念是服务及其相关实现。服务由 接口定义,而接口包含一组操作。服务实现可以引用其他服务,称为引用哼1 。服务 可以有一个或多个属性,这些属性是可以在外部配置的数据值。 7 电子科技大学硕士学位论文 s c a 使应用程序集解决了许多s o a 开发中的重要问题,包括: 业务逻辑与底层基础架构、服务质量和传输的分离。 “小规模编程”与“大规模编程的联系。 为架构的设计、编码和部署在自底向上和自项向下两种方法中来回切换提 供了一种统一的方式。 二、s d o s d o ( s e r v i c ed a t ao b i e c t s ,服务数据对象集) 是一种针对在不同的数据源之 间使用统一的数据编程模型的规范说明。s d o 旨在创建一个统一规范的数据接入 层并使用一种“易用”的方法,将混杂的数据源整合到工具集和框架中。s d o 的 目标是提供一种数据对象,方便应用程序、工具、框架等更容易地进行实现数据 的增、删等数据操作,从而提高应用程序的健壮性。 s d o 的基本构成要素有: d a t ao b j e c t :保存具体的数据,包括原始数据以及指向其他数据对象的引用。 数据对象也包含了指向元数据的引用,这使得s d o 的元数据能够被读取,包括数 据的类型,关系和约束等。 d a t a 钎a p h :一个概念上的数据集合。具体的讲,数据图是一个有多个树根 的数据对象的集合,可以记录所有对数据对象的操作。 m e t ad a t a :元数据使得开发工具或运行环境能够动态或静态的查看数据的 属性,包括数据的类型,关系和约束等,同时提供了一组与数据源无关的元数据 a p i : d a t am e d i a t o rs e n ,i c e :数据访问服务负责与后台的数据源进行通信,完成 构造数据图,更新数据图等操作。 三、w s - p o h c y w s p 0 1 i c y ( w 曲s e i c e s p 0 1 i c y ,w 曲服务策略) 成为s o a 组件间安全通讯 的标准,其作用类似于安全套接层在浏览器与服务器通讯中的重用。事实上, w s p 0 1 i c y 的基本原理与s s l 是一致的。 在w s p o l i c y 中,定义安全分为两部分:h t e n t 和p o l i c y s e t 。i n t e n t 以抽象的 方式定义p 0 1 i c y ,仅声明存在这样的约束,对于具体的内容而不指定。p 0 1 i c y s e t 定义的策略的详细实现方式,与h l t e n t 相结合,提供了h n e i l t 的详细策略定义。 第二章s o a 软件架构 2 2 2x m l ) ( 1 l ( e x t e l l s i b l em 砌娜pl a i l g l l a g e ) 即可扩展标记语言。l 是i n t 锄e t 环 境中跨平台的、依赖于内容的技术,是当前处理结构化文档信息的有力工具。可 将x m l 用作一种简单的数据存储语言,使用一系列自定义的标记来描述数据。 x m l 语言在对s o a 的支持优势上主要体现为: 一、不同的平台,同一种语言 可移植性在于企业可以定义自己的标签和属性。“读取 l 文档无需特殊 的库或应用程序服务器。x m l 文档是纯文本文件,因此不需要专用的软件对其进 行解释。 二、接口标准、简单 程序员在对接口进行编程时经常将它称之为协议。从编程的角度出发,接口 在没有暴露实现的情况下提供了编程结构。如果使用d t d 和大纲( s c h e i i l a ) ,那 么x m l 就有类似的特性。d t d 和大纲都用来描述l 文档的结构以及l 文 档的建立规则。可以用一个( 或多个) 相关d t d ( 或者大纲) 组织这样的规则集 合,也就是x m l 文法。 x m l 文法不仅可以用于应用程序之间通信的标准化,还可以为开发者提供一 个接口协议。换句话说,开发者在创建一个需要使用x m l 文档结构的应用程序时, 他不需要知道文档是如何实现的。d t d 以及大纲描述了文档的结构,它们可以作 为开发的接口协议。对d t d 的任何改动同时也改变了协议。 三、封装 封装是l 重要特性之一。从本质上来说,封装指的是获得一个或者多个数 据块并把它们集合成一个简单对象的概念。封装与集合类似,但是它们之间有一 个重要的差别,即封装一般意味着它没有外部依赖性。这样,企业就可以把每一 个服务独立出来,单独封装,达到s o a 的目的。 2 2 3w e bs e r vic e s w 曲s e r v i c e s 微软提出的基于互联网的开发模型。通俗地说,w 曲s e n ,i c e s 是 自包含的、模块化的应用程序,它可以在网络( 通常为w 曲) 中被描述、发布、 查找以及调用。从技术规范层面上讲,w 曲s e i c e s 是基于网络的、分布式的模块 化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得w 曲s e r v i c e 能 与其他兼容的组件进行互操作n 0 1 。从开发应用角度看,w 曲s e i c e 是由企业发布 9 电子科技大学硕士学位论文 的完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过i i l t e m e t 来 访问并使用这项应用服务。 基于标准w 曲s e i c e 是目前实现s o a 应用的一项基本的,适用的技术,它 为服务的访问提供了一个被广泛接受的开放标准。 一、w e bs e n ,i c e s 的体系 图2 1w e bs e r v i c e s 的体系结构 在w 曲s e r v i c e s 的体系结构中存在三种角色: 、p r o v i d e r ( 服务提供者) :发布自己的服务,并且对使用自身服务的请求 进行响应。 、u d d i ( 服务的中介机构) :注册已经发布的w 曲s e r v i c e ,对其进行分类, 并提供搜索服务。 、r e q u e s t e r ( 服务请求者) :利用u d d i 查找所需的服务,然后使用该服务。 另外在还存在三种操作: 、p u b l i s h ( 发布) :使p r o v i d c r 向u d d i 注册自己的功能及访问接口。 、d i s c o v e r ( 发现) :使r e q u e s t e r 通过u d d i 查找特定种类的服务。 、b i n d ( 绑定) :r e q u e s t e r 按w 曲s e r v i c e 的接口描述调用其服务。 二、s o a p s o a p ( s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ,简单对象访问协议) 是一个基于x m l 的,它用于在分布式环境中发送消息,并执行远程过程调用。简单地讲,就是允 许j a v a 对象和c o m 对象在分布式、分散的、基于w 曲的环境中彼此通话。更一 般地讲,s o a p 允许任何类型的对象( 或代码) 在任何平台上,以任何一种语言相 互通信。 s o a p 是实现w 曲s e r v i c e 的通信协议,以l 来表述其内容,一般通过h t t p 来承载。 1 0 第二章s o a 软件架构 = 、w s d l w s d l ( w 曲s e r v i c e sd e s 耐p t i o nl a n g u a g e ,w 曲服务描述语言) 用来服务描 述。它也是x m l 格式的,主要描述了服务的位置,接口和操作方法。w s d l 描述 包含必要的细节,以便服务请求者能够使用特定服务:请求消息格式,响应消息 格式,向何处发送消息。 w s d l 是一个基于l 的语言,用于描述w 曲s e n ,i c e 及其函数、参数和返 回值。w s d l 就如同一个产品的说明书一样,说明产品的功能、产地、如何操作 等信息。 四、u d d i u d d i ( u n i v e r s a ld i s c o v e 巧d e s c r i p t i o na i l di n t e 刚i o n ,通用服务发现和集成 协议) 是一套基于w 曲的、分布式的、为w 曲服务提供的信息注册中心的实现 标准规范,同时也包含一组使企业能将自身提供的w 曲服务注册以使得别的企业 能够发现的访问协议的实现标准。 简单的来讲,一个想使用的用户可以在u d d i 注册表中查找其所需的服务, 并取得服务的w s d l 描述,然后通过s o a p 来调用服务。 五、特别说明 w 曲s e i c e s 不是实现s o a 架构的唯一技术途径,除w 曲s e r v i c e s 外,还可 以通过c o r b a 等技术来实现。 s o a 可以看作是b s 模型、i 侧r e bs e r v i c e 技术之后的自然延伸。s o a 将 能够帮助开发人员站在一个新的高度理解企业级架构中的各种组件的开发、部署 形式,它将帮助企业系统架构者以更迅速、更可靠、更具重用性架构整个业务系 统。较之以往,以s o a 架构的系统能够更加从容地面对

温馨提示

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

评论

0/150

提交评论