已阅读5页,还剩73页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息i 稃人学硕十学位论文 摘要 图表生成与打印系统是信息系统的重要组成部分,其处理能力的强弱已经成为衡量信 息系统优劣的重要依据。当前以b s 模式丌发的信息系统已占据主导地位,如何设计b s 模式下功能强大、性能良好、灵活易用的w 曲图表生成与打印系统是w c b 应用中亟待解 决的个问题。 当前已有的解决方案存在扩展性差、平台独立性弱、打印功能简单等诸多问题,主要 原因是:( 1 ) 围绕自身需求定制的信息系统缺乏通用性;( 2 ) b s 模式下对终端系统资源 的使用受限。针对上述问题,设计并实现系统集成度高、灵活性强的w 曲图表生成与打 印系统成为本文的研究重点。 本文工作在郑州市重大科技攻关项目的支持下,以“基于w 曲应用的动态图表生成 与打印构件”的实际应用市场为背景,以网络、数据库和w 曲s e i c e s 等技术为依托,以 a s p n e t 和a d o n e t 为开发工具,设计和实现了基于s o a 架构的w e b 图表生成与打印 系统。 论文主要工作包括: 1 引入面向服务的架构( s o a ) ,对系统架构进行了总体分析和设计; 2 采用分层设计思想,运用w 曲s e r v i c 部,x m l ,u d d l ,n e t ,a j a x 等技术,从 表示层、业务外观层、业务层和数据服务层详细设计了系统技术架构; 3 基于具体项目需求,设计并实现了系统核心模块:数据正则模块,图表生成模块, 图表模板生成模块,打印模块,企业常用报表规则模块; 4 通过实现图表模板白定义服务和企业常用报表规则服务,为用户定制w 曲图表提 供支持。 系统实际应用表明,论文所开发的基于s o a 架构的图表生成与打印系统能够较好的 解决已有难点问题。该系统是将s o a 架构和w 曲服务技术引入到图表生成与打印系统中 的一次新的尝试,并为w 曲应用系统上的图表功能开发提出了一条新的途径。 关键词:面向服务的架构,w 曲服务,可扩展标记语言,图表生成,打印 第1 页 信息l :程大学硕士学位论文 a b s t r a c t g e i l e r a t i n ga n dp n t i n gs y s t 锄o fc h a n sp l a y sa i li 耵1 p o r t a n tr o l ei ni n f o n n a t i o ns y s t 锄 n o w a d a y s ,t l l o s ei n f o 啪a t i o ns y s t e i l l sw h i c ha r eb u i l t 印p l y i n gt h ep a t t e r i lo fe “se n j o ya p r o m i n e n ts t a t i l s t h e r ei sap f 曲l 锄t ob es o l v e dl l i 苫e n t l y w h i c hi sh o wt of i n daw a yt o a c h i e v eag c i l e r a t i n ga n dp r i n t i l 玛s y s t 锄o fw e bc h a n sw i t hp o w 曲l 如n c t i 伽s ,w d l p e r f o 咖a 1 1 c ea i l da 百l ec 叩a b i l i 够 ,a tp r 龉朗t ,t 1 1 es o l u “o n sa b o u tg e f i e f a t i n ga l l dp r i n t i n gs y s t 锄o fc h a n sa r el a c ko f e x t e n s i b i l i t y ,行d e p e n d e n c yo f p l a t f o 肌,v e r s a t i l ep r i n t 如n c t i s t h e r ea r em 卸yr e a s sf o r t h a t ,w h i c ha r cl i s t e d 勰旬l l o w s :( 1 ) t h ei n f o i t n a t i o ns y s t 鲫i so f t e i lc 1 1 s t o m * b u i l t ,w h i c hi s l a c ko fu i l i v 蚴l i 够( 2 ) ni sl i m i 倒t ou t l l et 咖i n a lr 髓o u r c e sw i t ht h ep a t t e 订lo fb s f o r s o l v i n gt h o p f o b l 锄sm 锄t i o n e da b o v e ,t h i sp a p e rp a y si t sm a i nc o n c e l l 们t i o no nm ed e s j 舶 o f h i g hi n t e 孕e d ,s 胁l 羽yn e x i b l eg e n e f a t i n g 柚dp d n t i n gs y s t 锄o f d i a r t sa 1 1 dr c p o r t s s u p p o n c db yt h e 伊e a ts c i 锄c ea n dt c c i l i l o l o g yp r o j o c to fz h e i l g z h o uc i 哦t h i sp 印e ru s 鼯 t l l e p r a c t i c a lm 破e to fg 锄e r a t i n g 觚d 蹦n t i n gc 啪p o n e n to fd ”枷i cc l l a r t s 鹄t h e b a c k 伊o u n d ,r c l i 船o nt h et c c l l l l 0 1 0 舀鼯o f n 咖o r k ,d a t a b 嬲ea 1 1 dw 曲s e r v i c e s ,a p p l i e sm et o o l s o f a sp n e t 锄da d o n e t ,锄dp r o v i d 鹤ag 锄e r a t i n ga 1 1 dp f i n t i n gs y s t 锄o f w 曲c h a n s 粕d r 印o n s b a s e d s o a t h em a i nw o r ki sl i s t e da sf o l l o w s : 1 m a l ( eg c n c r a la i l a l y s i s 柚dd e s i 印o f s y s t 啪a r c h i t e c t l l r cu s i n gs o a 2 a d o p tt h et h o u 曲to fl a 归dd e s i 印,a p p i ys o m et e c h n o l o 舀e ss u c h 鸹w 曲s e r v i c e s , “l ,u d d i ,n e t ,a j a 】【e t c ,r e a l i z et 1 1 e d e t a i l e dd 髂i 驴o fs y s t 锄a r c l l i t e c n 鹏散胁 r 印r 鹤助t a t i o nl a y b u s i n 髂sf a c a d el a y b u s i n e s sl a y e rt od a t a b a s el a y 盯 3 a c c o r d i n gt ot l l er o q u i 啪l c i l t ,a 出e v et l l ec o r em o d u l e so fs y s t 锄w h i c hi n c l u d et 1 1 e g l l l 盯m o d u i eo f d a 协,t h eg e n e r a t i n gm o d u l eo fc h a n s 锄dr 印o r t s ,t h eg a l e m t i n gm o d u l eo f c h a r t sa n d 掣r t st 锄p l a t e ,t l l ep d n t i n gm o d u l e ,t h en l l em o d u l eo f e n t e r p r i s er e p o r t s 4 s u p p l yl l l e 碰嫩售w i t hc l 】i s t o m e r _ b u i l tw e bc h a r t s 锄dr 印l o r t st 1 1 r o u g ht h es e r v i c 鼯o f c h a n st 锄p l a t e 锄d 锄t a 埘s er 印o r t sn l l e w i t l lt h ep m c t i c eo fs y s t e m ,t l l e l u t i p r o v i d e db yt l l i sp a p e rc a l lb eu s e dt os o l v et h e p r o b l 锄so c c u 仃e di i lt l l eg 胁训n g 觚dp f i n t i n gs ”t 锄o f c h a n sa 1 1 dr e p o n se 伍c i e l l t l y b yt 1 1 e i n 拍d u c t i o fs o a 觚dw 曲s e r “c ,t l l i sp a p e rp r o “d e sag o o di d e af - o ft h cg e i l e f a t i n ga n d p d n t i n gs y s t 锄o fc h a n s ,m e 锄w h i l e ,i tp m 、,i d 嚣a v e lw a yt ot 1 1 ed “e l 掣n 锄to ft 1 1 e f l l n d i o n so f c h a r t si nw e b 印p l i c a t i o n s k e yw o r d s :s o a ,w 曲s e r v i c e s ,x m l ,g e f a t i n go f w 曲c h a n s 觚dr e p o r t s ,阳n t 第页 原创性声明 本人声明所提交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。 尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写 过的研究成果,也不包含为获得信息工程大学或其他教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文题目:基王曼q 塞掏的受壅查图麦生盛皇扛婴丕统 学位论文作者签名: 作者指导教师签名: 日期:哆年牟月2 3 日 日期: 7 年驴月乡同 学位论文版权使用授权书 本人完全了解信息工程大学有关保留、使用学位论文的规定。本人授权信息工程大学 可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允许论文被查阅和借 阅;可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文题目:基王墨q 絮掏的盟鱼图表生盛皇扛业丕统 学位论文作者签名: 作者指导教师签名: 日期:q 年牛月玛日 日期:五即年月功日 信息 程人学硕+ 学位论文 1 1 选题的背景与意义 第一章绪论 1 1 1 选题的背景 近年来,随着软件开发模式和分布式技术的研究不断深入,由多种开发平台所开发的 软件系统得到了广泛的应用,使得系统软件变得日益庞大和复杂。当前i t 产业在全球化 经济大环境以及不断增长的竞争压力下,面临着两大难题:“异构”与“改变”。正如目前 我们所了解的,大多数系统都是围绕自身业务需求所定制开发的系统,由于传统的软件丌 发所使用的平台、开发工具、操作系统在结构上是紧密耦合的,从而导致不同系统问的高 效低成本的集成、关联和通信几乎不可能。一方面这种“异构”使得对于i t 系统的投资 成本过高,且无法满足业务需求。另一方面,企业要在全球化所引发的激烈竞争中获得优 势,其客户需求也必须随业务的发展进行相应的“改变”。因而,软件系统必须适应这种 “改变”,并采取行之有效的方式来应对,才能有效把握发展机遇。要解决这两大难题, 并达到系统集成度高,灵活性强的目的,确实可行的方法就是提高己有模块的重用率,而 这就需要一种新的软件开发模式,面向服务的架构( s o a ) 正是这样一种新的软件丌发模 式。 在经历了面向过程、面向对象和面向构件等几个阶段后,面向服务的思想被提了出来, 在基于s o a 而构建的系统中,具体应用程序的功能是由一些松散耦合并且具有统一接口 定义方式的组件( 也就是服务) 组合构建起来的。但是,面向服务的架构和其它软件架构 最大的不同之处就在于它提供的业务灵活性。业务灵活性【l 】是指企业能对业务变更快速和 有效地进行响应,并且利用业务变更来得到竞争优势的能力。对于企业来说,创建一个业 务灵活的架构意味着创建一个可以满足当前还未知的业务需求的r r 架构,可以很好的应 对市场需求及用户需求的不断变化,以取得竞争优势。 - 从信息化应用的角度来看,各行业对于信息化的投入产出比严重失衡。根据业内权威 的保守估计【2 】巾j ,7 0 以上的企业信息系统的开发,都没有达到原来预定的目标,平均只 能得到预计功能的5 0 左右,而成本平均超出预算2 4 0 ,安装时间超出预计1 7 8 。而 且投资和实施信息系统的成功率不会超过2 0 。即使在信息化成功的情况下,企业完成 了软件合理投资所需的8 0 的资金,但得到的回报却不到2 0 。据项目管理研究的权威 机构s t a l l d i s hg r o l l p 的统计结果表明【4 】,信息系统在实际应用中的失败率整体高达7 2 。 这较高的失败率成为软件产业的最大问题。由此可见,各类信息系统的实施依然存在很高 的风险性。 在这些信息系统中,图表生成与打印系统占据着越来越多的分量。据不完全统计,系 统实际应用的6 0 以上与图表相关【5 j 。并且随着信息化的发展而市场需求与用户需求的变 第1 页 信息j :程人学硕十学位论文 化也同益加快,只有及时的满足需求的变化,才能在竞争中立于不败之地。 因此,需要新的开发方法来降低其失败率,使信息化的实施获得更高的性价比。 1 1 2 选题的意义 当前,在各行各业的w 曲应用中,基于w 曲的数据分析、数据图形化展示、数据打 印的需求越来越普遍,而在b s 模式下动态图表生成与打印所存在的问题也一直未得到很 好地解决。如何在w 曲应用环境下获得类似c s 模式下强大美观的图表生成及打印功能, 又能兼备b s 模式下灵活、高效、升级维护方便的特点,是本论文的研究目标。 s o a 的松散耦合、敏捷、明确定义的接口、无状态的服务设计等特征,使得基于s o a 而构建的信息系统,也具备了这些特性。而基于s o a 架构的w 曲图表生成与打印系统 ( g e l l e r a t i n g 锄dp f i n t i n gs y s t e l l lo f w 曲c h a n s 锄dr e p o n sb 鹊e d s o a ,c r g p s - s o a ) 将在同类的信息系统里具有明显的优势:充分利用现有i t 资产;使信息系统更易于集成 和管理;系统功能实现的复杂性降低;系统重用增加等等。 立足市场需求,基于对s o a 的这种较面向对象和面向构件更具优势的软件开发方法 的研究,我们将去构建出一个松散耦合的,灵活易用,实用性强、管理维护方便的 c r g p s s o a 系统,使其达到复用度高和扩充性好并尽可能利用已有资源的目标。 总之,研究和实现基于面向服务的架构的w 曲图表生成与打印系统是非常有意义的, 该工作为“数字化企业”提供了基础性的研究工作。 1 2 国内外研究现状 1 2 1s o a 的发展与现状 面向服务的架构( s e i c e - o r i 蚰t e d 删1 i t e c t i 玎c ,s o a ) 是一个基于组件模型的架构, 它将应用程序的不同功能单元( 称为服务) 通过这些服务之间定义良好的接口和契约整合 起来州。 。 面向服务的架构被称为“下一代软件架构”,但它并不是一个新型概念,早在1 9 9 6 年,计算机技术咨询和评估集团g a m l e rg r o u p 就已经提出了s o a 的预引“,不过那个时 候仅仅是一个“预言”,当时的软件发展水平和信息化程度还不足以支撑这样的概念走进 实质性应用阶段。2 0 0 2 年1 2 月,g a m l e r 又提出了s o a 是“现代应用开发领域最重要的 课题”,并且预言到2 0 0 8 年,7 5 的新的企业应用将使用s o a 的元素。从2 0 0 3 年的2 0 产生急剧的增长;到2 0 0 5 年,试图建立实时能力的企业中,8 0 将会严重的低估网络的 需求,他们将不得不做出最后的增加、升级或者修改,从而能够开展实时应用;到2 0 0 6 年,在全球销售出的所有商业应用产品中,面向服务的将超过8 0 。 由此可见,2 0 0 8 年,s o a 将成为占有绝对优势的软件工程实践方法,于是,s o a 迅 速成为各大厂商的关注对象。主流中间件厂商最早认识到s o a 在未来平台技术中的超然 地位,并且不遗余力地推动s o a 技术的发展。 第2 页 信息1 :程人学硕士学位论文 国外对于s o a 的研究及应用已很广泛,l b m 、b e a 、m i c m s o f t 、o r a c l e 四大中间件 厂商集体表示,要力推s o a 。这让我们相信,s o a 将促成软件业新的变革,而良性的市 场互动,更让我们看到s o a 从理论全面走向实践的可能。 l b m 是第一个为构建、部署基于s o a 的i t 系统提供一系列全面的工具、培训和服 务线路的大型厂商,它涵盖了s o a 生命周期的所有方面,整个概念覆盖了他们提供的五 大产品线w 曲s p h e f e l 8 1 ,w o f k p l a c e 【9 】、t i v o l i 【i 们、d b 2 【1 及其r a t i o 髓l i l 2 1 。 b e a 的旗舰产品w 曲l o 百cp 1 a t f o 肌8 1 i ”j 号称是业界内最佳的s o a 实现平台,从 w 曲l o 百cs e e r 到w 曲l o 百cp o n a l 再到w 曲l o 百ci n t e 彤i t i 【1 4 j 1 6 1 ,b e a 的全线产品都 是采用s o a 的理念去设计的,而w b r k s h o p8 1 1 1 7 】贝q 是第一个完整的i s e ( i n t e g m t e ds e r v i c 髂 e n v i r o 砌e n t ,面向服务集成环境) ,它覆盖了从设计、开发、测试到部署的各个环节,并 且宣称通过其能够快速为企业建立基于服务的应用。 o r a c l e 的j d e 、,d o p e r l o g i ”j 是一种基于j a v a 与w 曲服务环境的丌发工具,具有网络激 活功能,并能够支持s o a 。o r a d e 提出在s a l a 工具方面,将领先于l b m 和s u n 这样的 公司,通过其数据库产品o r a d e l o 窖1 9 l 和o a s ( o m d ea p p l i c a t i s e r v e r ) 的支持,同时 加上a p f ( a p p l i c a t i p l a t f o 瑚f o u n d a t i o n ) 的支持,因此在s o a 的支持方面,将领先于 其他厂商。 虽然s o a 的概念不是源自m i c r o s o f t ,不过在后期推广中m i c r o s o r 却占据了非常重 要的位置,b i z t a l ks e r v e r 2 0 0 4 的推出,使其开始关于s o a 的宣传,相对于其他厂商而 言,更加“明智”的选择了从开发人员入手,引导开发人员进入s o a 。从m b f ( m i c r o s o f t b u s i n e s sf r 锄e w o r k ) 来看,就是提供给开发人员的参考架构。 同样,用户的反应同样令人兴奋。据相关调查报告显示【2 l 】:7 6 的c i o ( 首席信息官) 表示他们将在未来投资s o a 。 一些新公司,如科诺公司,则从提供s o a 自动生成工具和集成工具的角度,成为市 场上的新生力量。 在国内,各大厂商也纷纷加入研究s o a 的行列,越来越多的开发商开始参与到s o a 相关的开发当中,并已有不少基于s o a 架构的实施方案。金蝶作为国内领先的e r p 厂商, 直在关注并积极推进s o a 的产品应用,金蝶b o s 瞄】就是这方面努力的成果。而用友 u a p f 2 3 】的技术架构也是建立在标准的技术平台( j 2 e e 和n e t ) 和面向服务的架构之上。 目前己经有一系列被业界广泛接受的s o a 的规范,从而形成了向面向服务的架构发 展的良好趋势。 1 2 2w e b 图表生成与打印系统的研究现状 1 2 2 1w e b 图表生成与打印系统的研究背景 随着商业竞争环境的不断升级,如何及时获取反映整个企业经营状况的数据,并根据 这些数据作出迅速,准确的决策是极为重要的。另外,如何通过信息化提高决策的科学性, 第3 页 信息l 年¥人学硕十学位论文 提高其运营效率,降低投资成本,一直是各个行业所面临的重要课题,而如何及时、准确、 安全地收集市场动态,产品效益,用户新需求等数据,并加工处理以辅助决策,又是信息 化过程中普遍存在的难题。因此,可以借助于专门的图表生成与打印系统来改善这些问题。 通过专门的图表生成与打印系统,对自己大量的或实时的数掘进行统计分析,汇总,并根 据数据显示更新决策,使在竞争中占据优势。 同时,随着行业信息化的不断深入与发展以及i n t 锄e t 的迅速发展,图表生成与打印 系统成为w 曲应用中最重要的组成部分之一,并且占据着越来越多的分量。因此,如何 以更有效,更灵活地方式来生成w 曲图表,再通过这些图表数据及时、准确地反映出企 业的运营情况和产品的市场占有量情况等,并为下一步的决策提供可靠、准确的数据,是 当前信息系统中最为重要环节。 图表生成与打印系统在通常意义上即我们常指的报表系统,不同的是图表生成与打印 系统是面向开发的,而报表系统是面向应用的,针对不同的用户需求而量身定制的,报表 系统具有多种常用报表类型,从复杂度分类有:规则报表,主从报表,套打报表等:从业 务功能分类有;统计报表,汇总报表,对比报表等,例如具体有r 、月、季、半年和全年 等期问报表,销售报表,财务报表等。而所谓的报表1 2 4 】,就是把采集的数据变成可以理 解的现象,作为分析决策的依据,很可能是一组趋势图形,或市场份额百分比之类的直观 图形。用户通过报表就可以对所需数据量化定义,并分析,从而得到需要的信息。用户通 过报表中的数据进行统计分析,为其提供行为分析、业务开发和运营等诸多方面参考和决 策依据,从而能够合理地进行资源配置、降低运营成本、提高服务质量、增加利润等。 目前,主要的报表系统是基于a s 模式( c l i e n 谘e e r ,客户机胡臣务器模式) 和邵s 模式( b m w s 酬s e r v e r ,浏览器服务器模式) 的,c s 模式下的报表系统目前已经非常成 熟,由于客户端一旦安装在客户端机器上,客户端软件就获得了客户端机器的资源使用权, 进而可以非常方便控制显示器屏幕、打印机等本地资源,所以它可以输出非常精美的、定 位非常准确的报表。c s 模式下报表系统可以简单的说,由三部分构成:报表的格式、报 表的内容和报表的输出。但c s 模式报表系统所存在的不足是必须安装客户端软件才能使 用:系统可重用性差,一旦系统升级,所有客户端软件必须相应的升级,否则将无法使用 该系统;系统问数据共享难。 但正是由于c s 模式的缺点,b s 模式下的报表系统以其轻量级的部署和升级策略, 迅速的取代了c s 模式的报表系统。当前正在开发的报表系统大部分都是基于w 曲下开 发的,虽然b s 模式有着结构灵活、易于维护、便于扩展的优点,但是由于客户端必须是 同一个客户端浏览器,所以客户端程序能够使用到的资源就自然的受到了w 曲浏览器的 限制,特别是硬件资源。在c s 模式下比较简单的问题如报表的制作、显示和打印在w 曲 方式下实现起来变得异常复杂。 因此,开发具有同a s 模式下图表生成与打印系统一样强大功能的b s 模式图表生成 与打印系统,是本文所要实现的目标。 第4 页 信息l 程人学硕十学位论文 1 2 2 2w e b 图表生成与打印系统的发展现状 由于图表生成和打印系统是报表系统的基础,报表系统在信息系统中的具有不可动摇 的重要地位,并且随着其应用范围越来越广,因此报表系统或报表工具得到了越来越多的 国内外的关注和重视。近年来,随着软件丌发技术的日新月异,报表技术也不断成熟和完 善,目前已经出现了一些优秀的颇具特色的报表工具软件。其中比较有影响的有国外的 c r y s t a l r 印o n 2 5 j 、j r 印删1 2 6 1 、a c t i v e r e p d n f 2 7 1 、b f i d r 印o n 2 8 等,以及国内的 m i n 乎w 曲r e p o n f 2 9 】( 明宇报表) 、c e l l 软件3 川等。下面就这些报表系统作一简单介绍。 c r y s t a l r 印o n ,即大名鼎鼎的水晶报表,由c r y s t a ld e c i s i o n s 公司丌发。水晶报表基 本上可以认为是高效能报表系统的行业柘准,微软在其t n e t 平台上捆绑的便是水晶报表, 可见其实力的强大。其主要特点是:可以从各种数掘来源创建丰富、交互式的内容,并将 它集成到应用程序,可以充分使用w 曲的优势,实现快速和交互式的报表系统。 c r y s t a l r e p o n 系统提供了完整的组件,该组件能够支持w i n d o w s 开发环境。 j r 印o n 是美国j i n f o n e t 公司的商业报表系统,被著名的j a v a 开发者杂志评选为 2 0 0 1 年度最佳j a v a 报表工具。j r e p o r t 报表系统为三层结构:客户端,服务器数据源。j r e p o r t 实现了报表的可视化设计,可以输出多种报表格式的文件。 m i n 哥w 曲r e p o r t ( 明字报表) 是国内报表系统中功能较为强大的一个, m i n g w 曲r e p o n 分成客户端和服务器端两部分。采用b s 方式,用户通过浏览器发起对 指定报表的浏览请求,服务器端处理该请求,将报表信息返回,并在客户端浏览器上显示 该报表。其包括三个部分,报表设计器、报表引擎、报表浏览器。 用友华表公司的c e l l 软件其内核采用类似e x c e l 的技术,属于报表二次开发工具。它 的主要特点是:具有很强的打印及打印预览功能、丰富的单元格式与设计、很强的图表功 能等。但它不是严格意义上的报表类软件,其本质是属于电子表格类软件。 这些报表系统都具有自身的特点,适用于不同的应用环境,并具有很广泛的实际应用, 由此可见,图表生成与打印系统有着很广阔的应用前景。 1 3 本文的研究内容和主要工作 本论文的主要研究内容是基于郑州市重大科技攻关项目( 项目编号:0 5 2 s g b g 2 1 0 7 6 ) “基于w 曲应用的动态图表生成与打印构件”的需求和s o a 的标准与规范,而进行 的面向服务的架构的设计与分析,并实现了一个基于s o a 的w 曲图表生成与打印系统。 主要的研究和开发工作可以总结为以下四个方面: 1 对企业信息化的模式和未来发展方向进行分析,分析其应用现状和新的实际应用 需求,以及不断变化的客户需求和业务流程,为分析、设计和实现面向服务的软件架构提 供现实依据; 2 在分析s o a 、x m l 、w s d l 、u d d i 、s o a p 等标准和规范的基础上,给出w 曲 图表生成与打印系统面向服务的架构; 第5 页 信息i :程人学硕十学位论文 3 针对上述面向服务的架构,给出具体的应用系统w 曲图表生成与打印系统, 实现该架构。该系统的设计与实现是研究内容的重点; 4 最后针对该系统的面向服务的架构给出分析和展望。 1 4 论文的组织 本论文工作是在郑州市重大科技攻关项目“基于w 曲应用的动态图表生成与打 印构件”的实际应用市场为背景下,采用网络、数据库、w 曲s e r v i c e s 、a s p n e t 以及 a d 0 n e t 等技术,来设计和实现c r g p s s o a 系统。该w 曲图表生成与打印系统集多种 基本图表生成,混合图表生成,图表显示模板生成,图表打印模板生成,打印预览,打印 设置等图表需求于一体,为使用者提供了一个完全自主的分布式网络服务系统。 本论文共分五章: 第一章,绪论。介绍了选题的背景和意义,国内外s o a 的发展与现状,以及w 曲图 表生成与打印系统的研究现状,并说明了本论文的研究内容和主要工作及论文结构。 第二章,s o a 及相关技术概述。介绍了本论文系统开发所需要的相关技术,包括面 向服务的架构( s o a ) 、w 曲s e i c e s 技术、x m l 、n e t 技术、a j a x 技术,并对各种技 术进行了较为详细介绍和说明。 第三章,w 曲图表生成与打印系统。详细介绍了w 曲图表生成与打印系统的当前多 种解决方案的优劣,及存在的问题,并说明了采用s o a 架构的w 曲图表生成与打印系统 的优势。 第四章,c r g p s s o a 系统总体设计。本章主要介绍了c r g p s s o a 系统的总体设计、 系统架构设计、以及技术架构设计。 第五章,c r g p s s 0 a 系统功能实现。本章主要介绍了该系统的关键功能实现,对几 个重要模块作了详细介绍。 第六章,总结与展望。本章对论文的工作进行了总结与展望,并对系统存在的不足和 下一步的改进工作做了阐述。 第6 页 信息一l :程人学硕十学位论文 第二章s o a 及相关技术概述 2 1 面向服务的架构( s o a ) 软件发展史现己经历了面向过程、面向对象和面向构件等几个阶段。由于面向过程高 度耦合而不适合于大型软件系统的丌发,通常是针对一个具体的应用实现,因此无法适应 快速业务变化;面向对象的语言单一性和源代码级的共享决定了跨应用系统重用困难;面 向构件虽然能做到构件二进制级别共享但还是局限于特定平台。因此,一种称为面向服务 的架构( s o a ) 的软件设计方法被提了出来,这种通过对服务流程化的组织来构建分布式 系统的方法既是系统架构模型,又是业务结构模型。 虽然面向服务的架构是当前的焦点所在,但它并不是一个新的概念,它不是一种语言, 也不是一种具体的技术而是一种软件系统架构,它尝试给出在特定环境下推荐采用的一种 架构,从这个角度上来说,它更像一种模式( p a t t 锄) 。因此它与很多已有的软件技术比 如面向对象技术,是互补的而非互斥的。它们分别面向不同的应用场景,用来满足不同的 特定需求。 2 1 1 面向服务的架构概念 “架构”一词在软件业中有着很重要的意义,而对于“软件架构”的定义也有很多, 其中一个较直接的定义【3j 】是:“软件架构是一系列声明,描述软件组件,并将系统功能指 派给组件。架构描述组件的技术结构、约束、特性和组件之自j 的接口。架构是系统蓝图, 是结构的高级隐式规划。” 而面向服务的架构是一个软件架构【3 1 1 ,一个基于组件模型的软件架构,它将应用程 序的不同功能单元( 称为服务) 通过这些服务之间定义良好的接口和契约整合起来。 另一方面,面向服务的架构是一种设计方式【3 2 j ,它指导业务服务( b u s i l l 懿ss e i c e s ) 在其生命周期( 从构思开始,直至停止使用) 中包括创建和使用的方方面面,同时也定义 和提供了一种具有以下特征的i t 基础设施( i ti n 触s t m 咖r e ) :允许不同的应用相互交换 数据和参与业务流程( b u s j n 嚣sp o c e s s ) ,无论它们各自背后使用的是何种操作系统或 采用了何种编程语言。 因此,面向服务的架构即是一种新的软件架构,又是软件开发的指导方法。s o a 是 一种在计算环境中设计、开发、部署和管理服务的模型【3 3 1 。这一定义阐明了s o a 的范围。 2 1 2 面向服务的架构的基本结构 对软件架构设计师来说,创建一个业务灵活的架构意味着创建一个可以满足当前还未 知的业务需求的i t 架构。利用基于s o a 的系统构建方法,系统中的所有的程序功能都被 封装在一些功能模块中,我们就是利用这些已经封装好的功能模块组装构建我们所需要的 程序或者系统,而这些功能模块就是s o a 架构中的不同的服务。 第7 页 信息l :挥人学硕十学侥论文 因此,s o a 架构本质上来说体现了一种复合的概念【3 4 】:它不仅为业务流程的组织和 实现提供了一种指导模式,同时也为具体的底层服务丌发提供了指导。 s o a 的关键元素,包括应用程序前端、服务、服务库和服务总线1 3 l 】。“应用程序前端” 是业务流程的所有者。“服务”提供业务功能,可供应用程序前端和其他服务使用。“服务 库”存储s o a 中各个服务的服务合约。“服务总线”将应用程序前端和服务连在一起。 应用程序前端是s o a 的活跃元素,负责发起和控制信息系统的所有活动。应用程序 前端完全可能将业务流程的大多数职责委托给一个或多个服务,但其负责发起业务流程并 接收结果。 服务是一个软件组件,具有明确的功能,通常封装着高级业务概念。服务又由下面几 个部分组成例】。如图2 1 所示。 图2 1 服务的组成部分 合约:服务合约提供一个信息规范,用来说明服务的作用、功能、约束和使用。 接口:服务接口将服务的功能向服务客户( 客户通过网络连接到这个服务) 公开。 实现:服务实现在物理上提供所需的业务逻辑和适当数据。在技术上实现服务合约。 业务逻辑:业务逻辑有服务封装,是服务实现的一部分。可通过服务接口访问业务逻 辑。 数据:服务还包含数据。“以数据为中心”的服务当然离不开数据。 如前所述,服务是s o a 的核心,是应用程序的垂直切片,它定义了整个系统的粗粒 度结构。 服务库是s o a 中一个非常有用的元素。通过服务库,可以发现服务,获得使用服务 的所有信息。虽然服务合约提供了大多数必要的信息,但是服务库补充了一些信息,例如 物理位置、提供者信息、合约人、使用费用、技术限制、安全问题和可用服务级别。 服务总线将s o a 的所有参与者( 服务和应用程序前端) 相互连接在一起。如果两个 参与者需要通信,就必须依靠服务总线。 在面向服务的体系结构中主要有三种角色,其关系如图2 2 所示: 第8 页 信息i :拌人学硕士学位论文 h 0 k e 图2 2s o a 的体系结构 1 服务提供者( s e n ,i c ep r o 、,i d e r ) :发布自己的服务,并且对使用自身服务的请求进 行响应。 2 服务注册中心( s e n ,i c er e 酉s t r y ) : 索服务。 3 服务消费者( s e r v i c ec o n s u m e r ) : 该服务。 注册已经发布的服务,对其进行分类并提供搜 利用服务注册中心查找所需的服务,然后使用 s 0 a 中的组件必须具有上述一种或多种角色。在这些角色之问使用了三种主要操作: 1 发布( p u b l i s h ) :使服务提供者可以向服务注册中心注册自己的功能及访问接口。 2 查找( f i n d ) :使服务消费者可以通过服务注册中心查找特定种类的服务。 3 绑定及调用( b i n da 1 1 dl n v o k e ) :使服务消费者能够真正使用服务提供者所提供的 服务。 为支持结构中的三种操作,s o a 需要对服务进行一定的描述,这种服务描述( s e r v i c e d e s 翻p t i o n ) 具有两个特点:一是要声明服务提供者的语义特征。服务注册中心使用语义 特征将服务提供者进行分类,以帮助具体服务的查找。服务消费者根据语义特征来匹配那 些满足要求的服务提供者。二是服务描述还应声明各种非功能特征,如安全要求、事务要 求、使用服务的费用等。 s o a 的基本结构是指导构建s o a 的必要因素。 2 1 3 面向服务的架构的特征、优势和原则 2 1 3 1 面向服务的架构的特征 实施s o a 的关键目标是实现企业i t 资产的最大化重用与敏捷性。要实现这一目标, 就要关注s o a 的以下特征【3 3 】: 1 可从企业外部访问:通常作为业务伙伴的外部用户也能像企业内部用户一样访问 相同的服务。 2 随时可用:当有服务消费者请求服务时,s o a 要求必须有服务提供者能够响应。 大多数s 0 a 都能够为门户应用之类的同步应用和b 2 b 之类的异步应用提供服务。 3 粗粒度服务接口:粗粒度服务提供一项特定的业务功能,而细粒度服务代表了技 第9 页 信息l 群大学硕十学位论文 术组件方法。采用粗粒度服务接口的优点在于消费者和服务层之自j 不必再进行多次的往 复,一次往复就足够。 4 服务分级:由于租粒度服务倾向于解决专门的业务问题,因此通用性差、重用性 设计困难。解决该问题的方法之一就是允许采用不同的粗粒度等级来创建服务。这种服务 分级包含了粒度较细、重用性较高的服务,也包含粒度较粗、重用性较差的服务。 5 松散耦合:s o a 具有“松散耦合”的组件服务,这一点区别于大多数其他的组件 架构。该方法旨在将服务消费者和服务提供者在服务实现和用户如何使用服务方面隔离开 来。服务提供者和服务消费者问松散耦合背后的关键点是服务接口作为与服务实现分离的 实体而存在。这使服务实现能够在完全不影响服务消费者的情况下进行修改。 6 可重用服务及服务接口设计管理:如果完全按照可重用的原则设计服务,s o a 将 可以使应用变得更为灵活。可重用服务采用通用格式提供重要的业务功能,在大型组织中 实现重用的一个先决条件是建立通用( 设计阶段) 服务库和开发流程,以保证重用的正确 性和通用性。 7 标准化的接口:x m l 和w 曲服务标准化的开放性使企业能够在所部署的所有技 术和应用中采用s o a 。w 曲服务使应用功能得以通过标准化接口( w s d l ) 提供,并可 基于标准化传输方式( h t t p 和j m s ) 、采用标准化协议( s o a p ) 进行调用。采用x m l , 开发人员无需了解特定的数据表示格式,便能够在这些应用间轻松地交换数据。 8 支持各种消息模式:s o a 中可能存在三种消息模式:无状态的消息、有状态的消 息、等幂消息。在一个s o a 实现中,常会出现混合采用不同消息模式的服务。 9 精确定义的服务接口:服务是由提供者和消费者问的契约定义的。契约规定了服 务使用方法及消费者期望的最终结果。关键点是服务契约必须进行精确定义。 2 1 3 2 面向服务的架构的优势 前面了解了s o a 的定义和基本特征,下面再对s o a 的优势i 】作如下介绍: 编码灵活性:可基于模块化的底层服务、采用不同组合方式创建高层服务,从而实现 重用。此外,由于服务消费者不直接访问服务提供者,这种服务实现方式也体现了灵活性。 明确开发人员角色:例如,熟悉具体开发环境及技术的开发人员可以集中精力在服务 的实现上,架构层开发人员则无须特别了解其开发环境及技术的实现,而将精力放在解决 高价值的业务问题上。 支持多种客户类型:借助精确定义的服务接口和对订l 、w 曲服务标准的支持,可 以支持多种客户类型,包括p d a 、手机等新型访问渠道。 更易维护:服务提供者和服务消费者的松散耦合关系及对开放标准的采用确保了该特 性的实现。 更好的伸缩性:依靠服务设计、开发和部署所采用的架构模型实现伸缩性。服务提供 者可以彼此独立调整,以满足服务需求。 第l o 页 信息j :稃人学硕士学倚论文 更高的可用性:该特性在服务提供者和服务消费者的松散耦合关系上得以体现。消费 者无需了解提供者的实现细节,这样服务提供者就可以在具体集群环境中灵活部署,消费 者可以被转接到可用的例程上。 s o a 可以看作是b s 模型、x m l 、w 曲s e r v i c 髂技术之后的自然延伸。s o a 将能够 帮助我们站在一个新的高度理解软件架构中的各种组件的丌发、部署形式,它将帮助软件 系统架构者以更迅速、更可靠、更具重用性的方式架构整个业务系统。 2 1 3 3 面向服务的架构的构建原则 据称面向服务的根源在于软件工程理论所谓的“关注点分离”f 3 5 1 ,即将一个大的问 题分解为一系列单个关注点,然后就这些关注点分别迸行解决。不同的开发平台实现这个 理论的方式不同。面向服务可以视作以截然不同的方式来实现关注点分离。面向服务的原 则提供一个支持此理论的方法,同时实现一种基本范式,在此基础上可构建诸多s o a 的 特征。 以下是s o a 的基本构建原则【3 5 】: 服务复用性:不管是否存在即时复用的机会,服务均被设计为支持潜在可复用。 服务共享一个正式契约:为了与服务交互,只需要共享描述每个服务信息交换术语定 义的正式契约。 服务是松散耦合的:服务被设计为无需紧密的、跨服务的依赖而交互。 服务是底层逻辑的抽象:只有经由服务契约所暴露的部分服务对于外部世界是可见 的。契约之外所表达的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小三恋爱合同范例
- 厂房简易借用合同范例
- 桁架安装制作合同范例
- 建设厨房合同范例
- 卫士购车合同范例
- 装潢材料采购合同范例
- 运送土方合同范例
- 承包荒山改造合同范例
- 2025届江苏省天星湖中学高三第二次联考英语试卷含解析
- 不利物质招标合同范例
- 人音版 一年级上册《国旗国旗真美丽》(教案)
- 勘察设计方案进度计划和保障措施
- 上海生活垃圾分类现状调查报告
- 增补材料合同范本
- 古琴音乐文化与鉴赏智慧树知到期末考试答案章节答案2024年广东工业大学
- HYT 083-2005 海草床生态监测技术规程(正式版)
- 普通心理学(山东联盟)智慧树知到期末考试答案章节答案2024年滨州医学院
- 运输方案及应急措施(2篇)
- 渗透测试智慧树知到期末考试答案章节答案2024年江苏大学
- 部编版二年级上册语文复习计划
- 销售总结闭环管理
评论
0/150
提交评论