




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
河南大学研究生硕士学位论文第1 页 摘要 随着越来越多的企业应用程序被开发出来,企业的信息服务架构变得越来越 复杂;同时,由于企业业务的拓展,需求变化也越来越多,企业应用程序需要不 断升级更新以满足需求的变化;提升用户体验也是开发应用程序的一个重要需求。 伴随着i t 技术的飞速发展,面向服务架构( s o a ) 以其松耦合,高灵活性被广泛应 用;富网络应用程序( r i a ) 结合了桌面应用程序和基于浏览器的应用程序的优点, 具有高度互动性。将r i a 作为前台客户端,后台采用s o a 架构是一种趋势,那么 把s o a 后台和r i a 客户端结合到一起将会带来更大的优势。应用程序的体系结构 从客户端服务器架构( c s ) ,发展到浏览器n 务器架构( b s ) ,r i a 和s o a 的结合 势必将成为新的应用程序架构体系。而目前,9 0 的网络应用程序是基于b s 结构 的,应用程序的架构的发展到r i a s o a ,将使得越来越多的应用程序需要移植到 r i a s o a 架构。因此,本文主要研究从b s 架构移植到r i a s o a 架构的方法和过 程。 在本文中,首先构建了一个移植过程模型。这个过程模型主要有以下四步组 成:首先提取表示层逻辑;然后是提取s o a 的服务;接着进行编排s o a 服务, 创建服务f a c a d e ;最后是重建r i a 客户端。在每一步的过程中,都阐述了移植的 策略和方法。在编排s o a 服务中,我们提出了基于“契约式设计 的方法来进行 r i a j s o a 的接口表达,同时提出了对这些契约依据进行检查的一些方法。 本文的第二个关注点是针对不同的移植模块和移植中的关键问题提出了具体 的移植策略方案:主要阐述了对客户端和服务器端的服务编排;把同步服务调用 转移成异步服务调用;将b s 服务器中的s e s s i o n 转移到r i a 客户端的方法;为 r i a 客户端提供本地文件系统支持的方法和策略。 最后,在一个实际项目中应用本文构建的过程模型和移植方案。这个项目是 将一个公司的财务数据分发系统从传统的b s 架构移植到本文提出的r i a s o a 架 构,移植后的系统已经交付使用,客户对移植后系统的界面,性能,以及扩展性 都很满意。 关键词:r i a ,s o a ,r i a s o a ,移植,契约式开发 第1 i 页河南大学研究生硕士学位论文 a b s t r a c t o v e rt h el a s tf o u rd e c a d e si ts y s t e m sh a v eg r o w ne x p o n e n t i a l l y , l e a v i n gc o m p a n i e st o h a n d l ei n c r e a s i n g l yc o m p l e xs o f t w a r ea r c h i t e c t u r e s w i t hb u s i n e s sc o n t i n u i t y , t h e s e s y s t e m sn e e dt ob eu p d a t e dt om e e tt h en e wb u s i n e s sr e q u i r e m e n t a l s o ,i ti si m p o r t a n t t oi m p r o v et h ec u s t o m e r s e x p e r i e n c eo fa p p l i c a t i o n s a tt h es a m et i m e ,n e wi t s o l u t i o n sa r ee m e r g e dq u i c k l yt om e e tt h eb u s i n e s s r e q u i r e m e n t s e r v i c eo r i e n t e d a r c h i t e c t u r e ( s o a ) i sd e v e l o p e dt oh e l pe n t e r p r i s et ob u i l d “o nd e m a n d i n f o r m a t i o n s y s t e m ;r i c hi n t e r n e ta p p l i c a t i o n ( r i a ) i sa d o p t e dt oi m p r o v et h eu s e re x p e r i e n c eo f w e ba p p l i c a t i o n r i ac o m b i n e st h ea d v a n t a g e so fd e s k t o p a p p l i c a t i o na n db r o w s e r b a s e da p p l i c a t i o n s e e i n gt h a ts o a i st h et r e n do fb a c k e n do r g a n i z a t i o na n dr i a i st h et r e n do ff r o n t - e n d , i te x e c u t i v e sc o m b i n et h er i ag u i sw i t hs o a - e m p o w e r e dm i d d l e w a r et oo f f e rn e w e n t e r p r i s es e r v i c ea r c h i t e c t u r e t h u s ,e n t e r p r i s ea p p l i c a t i o n sa r c h i t e c t u r ei sm o v e df r o m c l i e n t s e r v e r ( c s ) ,t ob r o w s e r - s e r v e r ( b s ) ,a n dn o wr i a s o a a sar e s u l to fa r c h i t e c t u r ee v o l u t i o n ,m o r ea n dm o r ea p p l i c a t i o n s a r em o v e dt o r i a s o aa r c h i t e c t u r e c u r r e n t l y , m o r et h a n9 0 o ft h ei n t e r n e ta p p l i c a t i o n sa r eb a s e d o nb sa r c h i t e c t u r e s t h i sb r i n g so u rr e s e a r c ht oo nm i g r a t i o np r o c e s sm o d e la n d m e t h o d o l o g yt oh e l pi te x e c u t i v e st om i g r a t i o nf r o mb st or i a s o a i nt h i s p a p e r ,ar e f e r e n c em o d e lo nt h ep r o c e s so fm i g r a t i n gb sa p p l i c a t i o n st o r i a s o aa r c h i t e c t u r ei si n t r o d u c e d t h i sm o d e li sm a i n l yc o n s i s t e do ff o u rs t e p s : 1 , e x t r a c tp r e s e n t a t i o nl o g i c ;2 , e x t r a c ts o as e r v i c e s ;3 , c h o r e o g r a p hs o as e r v i c e sa n d m a k eaf a c a d ef o rr i ac l i e n t ;4 ,r e b u i l dt h er i ac l i e n t f o re v e r ys t e pi nt h em o d e l , m i g r a t i o ns t r a t e g i e sa r ep r e s e n t e d i nt h et h i r ds t e p ,“d e s i g nb yc o n t r a c t i si n t r o d u c e d t os t r e n g t h e nt h ef a c a d ed e f i n i t i o nt oc o n t r a c tb e t w e e nc l i e n ta n ds e r v e r f u r t h e r , aw a y t oc h e c kt h ec o m p l i a n c eo fc o n t a c t si sa l s op r e s e n t e dh e r e 河南大学研究生硕士学位论文第1 i i 页 a n o t h e rf o c u so ft h i sp a p e ri st h em i g r a t i o ns o l u t i o n s w ep r e s e n t e do u ri n n o v a t i v e s o l u t i o n si nt h i sp a p e r c h o r e o g r a p h i n gt h es e r v i c e si nb o t hc l i e n ta n ds e r v e r , m o v i n g t h es e r v e rs i d es e s s i o ni nb st or i ac l i e n t ,a d d i n gl o c a lf i l es y s t e ms u p p o r ti n t ot h e n e wr i ac l i e n ta r ep r e s e n t e di nt h i sp a p e r a tl a s t ,t h e s em e t h o d o l o g i e sa n dp r o c e s sm o d e la r ea p p l i e do nar e a lp r o j e c t :mi g r a t ea b sb a s e dd a t ad i s s e m i n a t i o na p p l i c a t i o nt or i a s o aa r c h i t e c t u r ef o raf i n a n c e c o m p a n yt h ep r o j e c t i si n p r o d u c t i o nn o w t h ec u s t o m e r sa r e s a t i s f i e dw i t ht h e i m p r o v e du s e re x p e r i e n c ea n dp e r f o r m a n c ea n df l e x i b i l i t y k e yw o r d s :r i a ,s o a ,r i a s o a ,m i g r a t i o n ,d e s i g nb yc o n t r a c t 关于学位论文独立完成和内容创新的声明 本人向河南大学提出硕士学位申请。本人郑重声明:所呈交的学位论文是 本人在导师的指导下独立完成的,对所研究的课题有新的见解。据我所知,除 文中特别加以说明、标注和致谢的地方外,论文中不包括其他人已经发袁或撰 写过的研究成果,也不包括其他人为获得任何教育、科研机构的学位或证书而 使用过的材料。与我一同工作的同事对本研究所做的任何贡献均已在论文中作 了明确的说明并表示了谢意。 学位_ 申请人i ( 学位论文作者) 釜名:二起逸蠢 2 0 一年月加日 关于学位论文著作权使用授权书 本人经河南大学审核批准授子硕士学位。作为学位论文的作者,本人完全 了解并同意河南大学有关保留、,使用擎住论文的要求,即河南大学有权向国家 图书馆、科研信,钆 见构、数据收集机构和本校图书馆等提供学位论文( 纸质文 本和电子文本) 以供公众检索、奎阅。本人授权河南大学出于宣扬、展览学校 学术发展和进行学术交流等目的,可以采取影印、缩印、扫描和拷贝等复制手 段保存、汇编学位论文( 甄质文本和电子文本) 。 ( 涉及保密内容的学住论文在解密后适用本授权书) 学位获得者( 学位论文作者) 釜名:之羔盘壹 2 0 0 车6 月加目 学位论文指导教师签名:二丝车垒止 2 0 历年莎月加目 河南大学研究生硕士学位论文第1 页 第一章绪论 1 1 日益复杂的企业架构 在经济低迷期间,企业都在寻找一切机会削减成本的机会,这使到许多企业的 经营策略以紧缩为主。但在经济呈现出复苏的迹象时,部分领先的企业就开始规 划如何踏上复苏之路的计划。因此,许多c e o 在乍暖还寒时都迫切要求企业要做 好规划,就是既要做好迎接复苏的准备,但又要继续保持低成本运作,这是一个 相互矛盾的两难选择。而长期以来,i t 管理人员也一直面临削减成本和最大限度 地发挥和利用现有技术的挑战,于此同时他们也要努力为客户提供更好的服务, 并更好地响应业务的战略重点,以使自己在当今社会的发展中更具有竞争力。 在过去的四十年里,软件架构一直被人们用来处理软件本身日益增加的复杂 化。但是随着软件自身复杂化的增加,传统架构在处理这个问题的能力上显得越 来越局限。传统的软件架构一般是指面向功能和面向过程的软件架构。基于这两 种架构的企业系统从整体角度来看一般是多阶段交错的复杂系统,是不同的开发 平台和工具、不同管理规范和同需求、不同的时间下开发的一个信息模块集。这 种复杂的信息模块集影响了企业系统的稳定性和敏捷性,影响了企业领导者的决 策能力和企业核心能力的发挥。伴随企业业务规模的不断扩大,应用系统的集成 成为当今企业的迫切需求。 1 1 1 传统架构面临的问题 信息化对于采用了多种管理系统的企业深有体会:日益增长的业务需求使系统 越来越不能适应,在以前,企业解决内部信息系统的“信息孤岛问题时通常采 用企业应用整合( e a d 方式。即每一个应用都需要一个e a i 服务者来对应,才能保 证所有的应用系统能够互通互用。e a i 服务者就好比一位“翻译 ,让每两个应用 之间可以互相对话和调用。但这种方式存在很大的缺陷,从理论上讲,e a i 可以完 第2 页河南大学研究生硕士学位论文 成企业之间应用程序的整合,但从逻辑上讲,e a i 采用的是点对点的整合方式,它 整合的应用系统越多,这种逻辑关系就会成指数级数上涨,对于这样复杂的逻辑 关系,实施的周期长,e a i 的开销和投入也相对较高。 常用的解决方案( 如c o r b a 和d c o m ) 在解决企业系统的能力上也有不尽 人意的缺点。第一,当前企业系统构架对客户服务需求的变化不能像面向服务的 架构那样做出快速的反应;第二,当前大部分的企业系统构架技术基本上是非松 藕合型的,这就对企业在处理类似分布式计算的操作时有了限制,系统两端必须 遵循相同约束。如果其中一个实体对象进行了变更,那么所有访问该对象的实体 都必须做出相应更改,这为企业的敏捷服务和自由扩充带来了不便;第三,个别 的厂商因为利益等原因对现有的一些w e b 服务技术标准进行了约束与控制,缺乏 统一性【1 1 。 1 1 2 作为解决方案的面向服务架构 如何把w e b 服务应用到企业的i t 系统和业务流程之中、并给企业带来直接的 经济效益,这是一直受到国内外企业管理者的高度关注和研究的问题。而在近几 年出现的一种技术架构被誉为下一代w 曲服务的基础架构,它就是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 ,面向服务架构) 。早在1 9 9 6 年由g a r m e r 首先提出 了s o a 的概念。2 0 0 2 年1 2 月,他又提出s o a 是“现代应用开发领域最重要的课 题的观点。目前主流企业已经在理解和应用s o a 开发技能方面进行了投资,s o a 的软件工程实践方法逐渐占有绝对优势。 s o a 的目标在于让l t 变得更有弹性,以更快地响应企业业务的需求,实现实 时企业( r e a l t i m ee n t e r p r i s e ,这是g a r t n e r 为s o a 描述的远景目标) 。而b e a 的 c i or h o n d a 早在2 0 0 1 年6 月就提出要将b e a 的i t 基础架构转变为s o a ,并且 从对企业架构整体的控制能力、加快开发速度、提高开发效率、降低客户和人员 技能的投入等方面取得了很好的成绩。s o a 帮助企业信息系统迁移到 “l e a v e a n d 1 a y e r ”架构之上,s o a 不但覆盖来自于定制应用、打包应用和遗留系 河南大学研究生硕士学位论文第3 页 统中的信息,而且还覆盖如搜索、内容管理、安全等i t 架构中的功能和数据【2 j 。 因为s o a 的松耦合性应用更易于从这些基础服务架构中重新添加新的功能模块, 所以基于s o a 的应用系统可以更灵敏地应对市场需求的变化,使企业业务部门更 快捷的设计开发出新的功能应用。因此,现有的企业系统在业务需求变更后,就 可不用做较大的改动,只需对外提供w e b 服务接口。由于它们已经对提供w e b 服务接口的应用层进行了封装,所以在不用对现有系统架构进行更换的情况下, s o a 系统就可将应用迅速转换为服务。 1 2 富网络应用程序 c s 和b s 是当今世界开发模式技术架构的两大主流技术。c s 最早是美国 b o r l a n d 公司研发,b s 是美国的微软公司研发的。目前,这两项技术已经被软件 开发者所掌握,用c s 和b s 技术开发出产品多不胜数。 虽然c s 架构体系结构是开放的模式,但仅仅是系统开发阶段初级的开放性, 客户端和服务端在某些环境中还需要特定的软件来支持。c s 结构的软件不能提供 真正的开放环境,所以开发者需要开发不同版本的软件来适应不同的操作环境。 然而,随着企业的业务的不断变更,产品的更换将会非常频繁,因此它的花费较 高,而效率低,也很难适应拥有数百台电脑以上局域网用户同时使用。 近年来,普遍认为b s 架构软件已经完全取代了c s 架构的软件。b s 架构只 用在服务器端( s e r v e r ) 安装系统的管理软件,完全通过w w w 浏览器来实现服 务器端的主要事务逻辑,只有极少简单的事务逻辑在前端实现。浏览器就是b s 的客户端,网络管理人员只需要管理后台服务器,维护好网络硬件就可以了。但 是,采用这种架构模式服务器的压力相对较重,一旦服务器产生故障甚至“崩溃”, 将会造成服务器数据丢失,其后果难以想象。因此,许多企业都会对服务器的数 据进行备份,以防万一。 面向人应用的产品都需要强调人性化,产品的人性化体现关键要持续地改善用 户体验,没有良好的用户体验就不能说达到了信息化的目标。c s 和b s 模式日益 第4 页河南大学研究生硕士学位论文 不能满足终端设备的多样化、应用需求的不断扩展,这些因素结合起来宣告了一 个时代更替的到来。富网络应用程序正是这一时代的产物,必将从中催生出更加 富有生命力的技术架构。 富网络应用程序( r i c hi n t e m e ta p p l i c a t i o n s ,简称r i a ) 源于m a c r o m e d i a 公司 在2 0 0 2 年3 月发表的一份白皮书,尽管如此,该词在更早的年代中就已包含以下 含义: 远程脚本( 由微软于1 9 9 8 年左右提出) xi n t e r a c t ( 由f o r e v e rr e s e a r c h 于2 0 0 0 年1 0 月提出) 富( 网页) 客户端 富网络应用 富网络应用程序是一种具有近似于传统桌面应用系统功能和特性的网络应用 系统,其最大的特点是将大部分处理任务都从用户界面端移植到客户端,仅保留 一些必要数据与服务器端进行信息交互。 r i a 客户端具有桌面应用程序的特点,包括:在消息确认和格式编排方面提供 互动用户界面;在无刷新页面之下提供快捷的界面响应时间;提供通用的用户界 面特性如拖放式( d r a ga n dd r o p ) 以及在线和离线操作能力。r i a 具有的w e b 应用 程序的特点包括如:立即部署、跨平台、采用逐步下载来检索内容和数据以及可 以充分利用被广泛采纳的互联网标准。r i a 具有通信的特点则包括实时互动的声 音和图像【3 1 。 r i a 的客户端不仅是显示页面,而且它可以在后台与用户请求进行异步地计 算数据、传输信息、检索数据、显示用户界面等,这一切都可以在不依靠客户端 连接服务器的情况下进行,它具有脱机使用的能力。 部署r i a 客户端对于企业来说的优点在于: 1 通过r i c hc l i e n t 技术,可以较方便的构建易于使用、直观、反应迅速并且 可以脱机使用的应用程序,而且r i a 可以支持使用现有的应用程序模型, 也就是说,现有的w e b 应用程序不需大规模的替换。 2 r i a 可以帮助企业提供多元化的业务效益,如:延长用户网站访问时间、 河南大学研究生硕士学位论文第5 页 吸引用户经常性访问、提高产品销售量、降低网络带宽的成本、减少支持 求助以及增强客户关系等。 1 3ria s o a 架构介绍 目前在网页中基于标准的是h t m l ,c s s 和j a v a s c r i p t ,r i a 开发者们为 了建立丰富的用户界面就必须装配多个第三方插件和框架,这种像“点菜”的 方式,接近于建造一个r i a s ,而把不必要的负担加在开发人员身上,而不是 集中精力构建应用程序,开发人员必须得花费大量的时间去发现,整合而且 得维护不同的r i a 发展平台。同样也适应于s o a 这一边,开发人员得研究如 何创造服务,还得考虑如何与他们的r i a 前端去有机的结合在一起。开发人 员需要一个平台,能把各方面的应用程序都能集成到一个开发环境,使他们 可以集中精力的来做应用程序方面。w e b 开发正从基于m v c 的w e b 架构向 着被称为r i a s o a 基于客户端服务器的模式发展,r i a 表现出来的丰富的用 户界面和s o a 表现出来的服务将越来越受到吸引。 厂、厂、 客户端服务器 一个同步服务调用 厂、 一i c n r 1 白 l 7 t 厂、 厂、 服务一 客户端渲染服务二 引擎 同步服务调用返回 服务三 l l 图1 1r i a s o a 架构概貌 采用s o a r i a 架构有两个原因。 一个来自r i a 。r i a 在用户界面有一个大的改善。为了把传统的b s 架构 第6 页河南大学研究生硕士学位论文 的应用程序移植到r i a 客户端,i t 管理人员需要移植用户界面逻辑并从将一 些运算从服务器端放到客户端。下来他们需要一种机制来封装核心的业务逻 辑,使用独立的服务单位是封装核心业务逻辑的一个很好的办法,接下来就 可以进行s o a 的创建了。 另一个是来自s o a 的观点。采用s o a 的第一步需要分清业务的流程,并 将这些流程分解成独立的服务。也就是说,需要将现有的应用程序分解为核 心业务逻辑和外围逻辑。然后,需要将外围逻辑移植到用户界面【4 1 。r i a 不 仅它结合桌面程序的用户界面和基于浏览器的用户界面的优势,而且它强大 的客户端功能,可容纳不适合建设成服务器端的服务外围逻辑,所以r i a 是 最合适的选择。 r i a s o a 仍是一个新兴的架构,i t 管理人员需要一些方法来帮助他们的 企业架构转向r i a s o a 。尽管,n e x a w e b 已经提出了c s 架构向r i a s o a 架 构的移植方法【5 】,但是,对于移植b s 架构到r i a s o a ,我们仍然有许多的 工作要做。 1 4 论文组织框架 全文分成六章,具体如下:第一章:介绍了本论文的课题背景,r i a s o a 在 当今企业发展中的优势,和移植b s 到r i a s o a 的需求,即本课题研究的意义; 第二章:详细的介绍了r i a ,s o a 和r i a s o a 架构;第三章:着重介绍了移植 b s 系统到r i a s o a 的过程模型;第四章:介绍了移植的方案,例如:客户端和 服务器端的服务编排,将服务器端的s e s s i o n 迁移到r i a 客户端的过程;第五章: 结合一款b s 架构的发布信息的系统软件,具体地介绍了移植过程中的关键技术 的实现和方法;第六章:总结全文,并指出下一步的研究设想。 河南大学研究生硕士学位论文第7 页 第二章相关技术 在上一章中我们对目前企业应用程序的架构进行了分析,以及指出 r i a s o a 架构是当今企业发展的一个趋势,本章将重点介绍企业向r i a s o a 转型的过程中所需要的相关技术和理论概念。 2 1 富网络应用程序 在过去的两到三年中,w e b 开发人员一直想构建一种比传统h t m l 更丰 富的客户端:它是一个要比用h t m l 实现的接口更加健壮、反应更加快捷、 更具有吸引力的可视化的用户接口。r i a 技术的出现允许我们在因特网上以 一种像使用w e b 一样简单的方式来部署富客户端程序k 】。无论将来r i a 是否 能够如人们所猜测的那样完全代替h t m l 应用系统,对于那些采用c s 架构 的胖客户端技术运行复杂应用系统的机构和采用基于b s 架构的瘦客户端技 术部署w e b 应用系统地机构来说,r i a 确实提供了一种功能强大而性价比相 对较高的选择【_ 7 1 。下面介绍一下目前出现的几种比较有实力或者有特点的r i a 客户端开发技术。 2 1 1j a v a s c r i p t a j a x j a v a s c r i p t 是一种由n e t s c a p e 的l i v e s c r i p t 发展而来的原型化继承的面向 对象的动态类型的客户端脚本语言,并且区分大小写。它是为了解决服务器 端语言( 比如p e r l ) 和速度问题,为客户提供比较流畅的视觉效果。因为当 时网络速度相当缓慢,仅仅只有2 8 。8 k b p s ,当服务端对接收的数据进行验证 时,验证的过程所花费的时间比较长。于是n e t s c a p e 的浏览器n a v i g a t o r 加入 了j a v a s c r i p t ,提供了数据验证的基本功能。 a j a x 即“a s y n c h r o n o u sj a v a s c r i p ta n dx m l ( 异步j a v a s c r i p t 和x m l ) , a j a x 并非缩写词,而是由j e s s ej a m e sg a i i e t t 创造的名词,是指一种创建交 第8 页河南大学研究生硕士学位论文 互式网页应用的网页开发技术。w e b 应用的交互如f l i c k r ,b a c k p a c k 和g o o g l e 在这方面已经取得了很大的成果。这个术语源自描述从基于网页的w e b 应用 到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人 列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中, 给缓慢的w e b 应用体验着色使之像桌面应用一样 引。 2 1 2m a c r o m e diafla s h ( fie x ) 从f l a s h6 0 版本开始f l a s h 就逐步具有创建窗体风格的应用程序功能。据 m a c r o m e d i a 调查显示已经有9 8 以上的浏览器都安装了m a c r o m e d i af l a s h p l a y e r 。这就使以m a c r o m e d i af l a s hp l a y e r 为客户端的r i a 可以支持各种不同 的操作平台和设备。 为了满足开发r i a 客户端的企业级程序员的需求,从而推出了表示服务 器和应用程序框架的f l e x ,它在提供运行服务时,用于开发和部署丰富客户 端应用程序的表示层。f l e x 表示服务器提供了基于标准的、声明性的编程方 法和流程,f l e x 的开发者使用直观的基于x m l 的m x m l 来定义丰富的用户 界面。该语言由f l e x 服务器翻译成s w f 格式的客户端应用程序,在f l a s h p l a y e r 中运行【9 】o 2 1 3j a v a ( a p pie t j a v aw e bs t a r t ) j a v a 完全支持创建基于窗体的用户界面。除了j a v a 基础类( j f c s w i n g ) 中的用户界面组件之外,开发人员还可以使用来自于e c l i p s ep r o j e c t 的s w t 工具箱和许多第三方工具箱进行开发。对于图形来说,可以采用j a v a2 da p i : 一个非常完整且非常复杂的图形a p i 。可以通过一个w e b 浏览器使用j a v a 插 件软件,或使用j a v a 运行时环境中较新的j a v aw e bs t a r t 技术来部署应用程 序。使用j a v a 建立r i c hc l i e n t 的主要缺陷是它的复杂性( 即使对简单的窗体 河南大学研究生硕士学位论文第9 页 和图形也要求编写非常烦琐的代码) 和j a v a 浏览器插件的低市场占有率1 0 】。 2 1 4mic r o s o f ta v aio n m i c r o s o f t 的a v a l o n 是下一版本的w i n d o w s ( 代号“l o n g h o r n ”) 的一部 分,是一个图形和展示引擎,主要由新加到n e t 框架中的一组类集合而成。 a v a l o n 定义了一个在l o n g h o r n 中使用的新标记语言,其代号为“x a m l ( 可扩展应用程序标记语言) 。可以使用x a m l 来定义文本、图像和控件的 布局,程序代码可以直接嵌入到x a m l 中,也可以将它保留在个单独的文 件内。这与f l e x 中的m x m l 或者l a s z l o 中的l z x 非常相似。不同的是:基 于a v a l o n 的应用程序必须运行在l o n g h o r n 环境中,而f l e x 和l a s z l o 是不依 赖于平台的,仅仅需要装有f l a s h 播放器的浏览器即可。 2 2 面向服务的架构( s o a ) 2 2 1 面向服务架构的定义 自从g a r t n e rg r o u p 提出面向服务的体系结构( s e r v i c eo r i e n t e da r c h i t e c t u r e , s o a ) 和企业服务总线( e n t e r p r i s es e r v i c eb u s ,e s b ) 以来,这些术语已经被大 家所熟识。但是,s o a 应用解决方案的实际操作细节仅仅是最近才逐步发展完善 的。那么,面向服务的体系结构究竟应该怎么被描述呢? s o a 是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组 件进行分布式部署、组合和使用。服务层是s o a 的基础,可以直接被应用调用, 从而有效控制系统中与软件代理交互的人为依赖性。 s o a 的关键是“服务 的概念,w 3 c 将服务定义为:“服务提供者完成一组工 作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变 化,但也可能使提供者的状态改变,或者双方都产生变化【1 1 1 。 第1 0 页河南大学研究生硕士学位论文 s e r v i c e a r c h i t e c t u r e t o m 将s o a 定义为:“本质上是服务的集合。服务间彼此 通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某 些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独 立于其他服务所处环境和状态的函数。【1 2 】 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 规定了资源间更为灵活的松散耦合关系。【1 2 】 g a r m e r 则将s o a 描述为:“客户端服务器的软件设计方法,一项应用由软件 服务和软件服务使用者组成s o a 与大多数通用的客户端服务器模型的不同之 处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。”g a r m e r 相信 b p m 和s o a 的结合对所有类型的应用集成都大有助益? “s o a 极大的得益于b p m 技术和方法论,但是s o a 面临的真正问题是确立正确的企业意识,即:强化战略 化的s o a 计划( 针对供应和使用) 并鼓励重用。【l i 】 通过以上的定义,当提取应用程序作为服务时,s o a 是在应用程序之间构建 企业级集成层的模式集。s o a 解决方案提倡使用开放标准,然而当集成应用程序 时,在某些地方还是需要使用专有技术。s o a 依赖于将应用程序功能发布为服务, 这些服务可被外部各方调用。通常,对s o a 服务定义的一致观点是: 服务通过明确的、与实现业务逻辑无关的接口来定义。 服务被松散绑定,并且可以通过强调位置透明性和互操作性的通信协议进 行调用。 服务封装了可重复使用的业务模块功能。 2 2 2 面向服务架构的优点 面向服务的架构( s o a ) 有以下的优点: 一、s o a 可通过互联网服务器进行发布,从而突破企业内部局域网的限制, 实现与供应链上下游业务伙伴的紧密结合。企业通过s o a 架构不但可以与业务伙 河南大学研究生硕士学位论文第1 1 页 伴直接建立新渠道,而且成本也将得以降低。 二、s o a 可以减少了业务应用实现的限制。因为s o a 与平台无关,企业要和 业务伙伴进行业务整合,其业务伙伴采用什么技术是没有限制的。其对x m l 、w e b 服务标准的支持,并借助精确定义的服务接口,可以支持多种客户端类型,如p d a 、 手机等新型访问渠道。 三、s o a 的低耦合性特点,其业务伙伴的增减并不影响整个业务系统。在企 业与各业务伙伴关系不断发生变化的情况下,可以节省更多的开销。该特性体现 在服务提供者和服务使用者松散耦合的关系上,使用者没有必要了解提供者的实 现方法和细节,这样服务提供者就可以在w e bl o g i c 集群环境中对服务进行灵活 部署,使用者被转接到可用的例程上。 四、s o a 可按功能模块划分,然后分阶段进行实施。依靠服务设计、开发和 部署所采用的架构模型,服务提供者可以彼此独立调整,以满足不同服务需求。 因此,可以成功一步再进行下一步的工作,将对企业的风险减少到最小。 五、s o a 的实施可能并不具有成本显著性。这要分三种情况加以讨论: 当企业从零开始构建业务系统时,采用s o a 架构与不采用s o a 架构成本 可看作是相同的。 当企业业务发展或发生企业重组等变化而原有系统不能满足需要,而需要 重构业务系统时,采用s o a 架构与不采用s o a 架构成本可看作是相同的。 当企业业务发生缓慢变化并可预见到将来需要重构业务系统时,由于可以 按模块分阶段逐步实施s o a 以适应变化的需要,这样企业不需一下投入 一大笔经费进行系统改造,而是根据企业业务发展情况和资金情况逐步投 入,缓解了信息投入的压力【1 6 】。 s o a 可以看作是b s 模型,x m l w e bs e r v i c e 技术之后的自然延伸。s o a 将 能够帮助我们站在一个新的高度理解企业级架构中的各种组件的开发,部署形式, 它将帮助企业系统架构以更迅速,更可靠,更具重用性架构整个业务系统【17 】【1 8 1 。 跟其他架构相比,s o a 架构的系统可以更加适应业务的急剧变化。 第1 2 页河南大学研究生硕士学位论文 2 3 原系统:典型的b s 模式概述 b s ( b r o w s e r s e r v e r ,浏览器服务器) 模式又称b s 架构。它是随着i n t e r n e t 技术的兴起,对c s 架构模式应用的扩展。在这种结构下,用户界面是通过 l e 浏览器来实现的。b s 模式最大的优点是运行维护比较简便,不用的用户 可以在不同的地点以不同的接入方式( 比如l a n ,w a n ,i n t e r n e t i n t r a n e t 等) 访问和操作共同的服务器数据。b s 最大特点是:用户通过浏览器去访问 i n t e r n e t 上的数据、文本、图像、动画、声音信息和视频点播,这些信息产生 于各种w e b 服务器,而每一个w e b 服务器又通过各种连接方式和数据库所在 的服务器连接,大量的数据信息就存放在数据库服务器中。除了使用浏览器 作为客户端以外,一般不需要其他的应用程序,如果有需要的话,可以直接 从w e b 服务器上下载,然后在本地执行就可以了。在下载过程中,可能会遇 到与数据库有关的指令,这时w e b 服务器就会转交给数据库服务器来解释执 行,执行完毕后并返回给w e b 服务器,最后由w e b 服务器通过浏览器显示给 用户。在这种结构下,将广域网、局域网及单机按照一定的通讯协议组成的 国际计算机网络连接到一块,形成一个巨大的网,即互联网。各个企业可以 在此结构的基础上建立自己的企业内部网络( i n t r a n e t ) ,然而,它最大的缺点 是企业对外网的环境具有很强的依赖性,如果由于突发原因造成企业外网中 断,那么企业的系统和业务就会瘫痪。 河南大学研究生硕士学位论文第1 3 页 图2 1 典型的b s 架构应用程序 2 4 目标系统:r ia s o a 架构概述 在w e b2 0 趋势鼓励下,w e b 应用纷纷向用户开放编程接口。面对越来越趋于 开放的架构,我们需进一步强调解耦。s o a 起了很大作用。通过“服务”,我 们成功地把客户端的细节完全阻隔开。下面几个部分概述了r i a s o a 的基本 特征。 支持h t m l 和c s s 这两种语言非常适合用来实现应用程序的“外观 ,并且大多网络用户界面的 开发人员对它们都很熟悉。所以没必要再去另做一些工作实现重复的功能。 提供开放的控件框架( o p e nw i d g e tf r a m e w o r k ) 正如前面讲到的,控件是r i a 程序的基础组成模块。有许多工具可以使用, 比如y a h o o 、d o j o 和e x t j s 。也有一些小型项目或个人开发的独立控件。你可以使 用这些控件构建r i a 程序,但有一些需要注意的地方: 1 几乎不可能仅靠一个控件来满足你所有的需求。 2 集成各种第三方控件时可能需要定制代码,并对各个控件有深入的了解。 第1 4 页河南大学研究生硕士学位论文 3 编写新的控件是一项有挑战性的工作,因为这意味着你得编写自己所用的 控件工具的低层a p i ,甚至要从零开始。 某些控件框架要求开发人员为所用的控件编写大量的j a v a s c f i p t ,这对那些 j a v a s c f i p t 开发经验很少甚至没有的人来说,无疑是有很大问题。 为解决以上问题,r i a s o a 平台提供的开放控件框架需要具备以下功能: a ) 支持集成现有的第三方控件 b ) 为新建控件提供简单的a p i c ) 可以通过简单标记( m a r k u p ) 使用控件( 不需要使用j a v a s c r i p t ) d ) 支持分布模型,以简化新控件的提交、发现和使用。 开放的控件框架将成为开发人员获取控件的资源,并使开发人员可以很容易地 集成控件和应用程序。如果没有所需的控件,使用开放控件框架的a p i 重新创建 也很容易。 由于控件在r i a 开发中的重要性及其分散的特性,开放的控件框架应该是任 何r i a s o a 平台必不可少的组成部分【1 9 1 。 提供一个集成的r i a 编程模型 与传统的w e b 应用相比,r i a 程序需要编写更多的用户界面代码。因此,下 一代平台需要集成的r i a 编程模型来简化主要用户界面设计任务。这些任务包括: - 事件处理 d o m 操作 服务使用( a j a x ) 事件处理、d o m 操作和a j a ) 【是富网络应用中实现“富”任务的部分。它们 的关系非常紧密。为说明这一点,我们来看一个典型的r i a 登录过程。 点击登录按钮( 事件处理) 发送服务请求( a j a x ) 显示相应的活动指示器( d o m 操作) 返回服务( a j a x ) - 关闭活动指示器( d o m 操作) 河南大学研究生硕士学位论文第1 5 页 显示登录“成功 的消息( d o m 操作) 提供集成的服务平台( i n t e
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YY 0267-2025血液净化体外循环系统血液透析器、血液透析滤过器、血液滤过器及血液浓缩器用体外循环血路/液路
- 国开学习网《助理信用管理师实务》形考任务1-4答案
- 工业废弃物处理与节能减排
- 工业排放标准及监管政策分析
- 工业安全技术的创新与升级
- 工业污染与血液病的关联性研究
- 工业机器人技术的新发展
- 工业自动化中的信息安全技术
- 工业级智能硬件的稳定性设计
- 工业节能减排与环境监测结合实践
- 客户体验管理浅谈
- 2023年中国化学奥林匹克竞赛浙江省预赛试题及参考答案
- RB/T 089-2022绿色供应链管理体系要求及使用指南
- 优秀传统文化在高中政治教学中的应用策略 论文
- 汇川MD系列变频器说明书文档全文预览
- 柴油机外文文献翻译资料
- GB/T 10963.1-2020电气附件家用及类似场所用过电流保护断路器第1部分:用于交流的断路器
- GA/T 1567-2019城市道路交通隔离栏设置指南
- RASS镇静评分表格
- 切分轧制孔型设计
- 转化国际食品法典(CAC)农药最大残留限量标准
评论
0/150
提交评论