




已阅读5页,还剩75页未读, 继续免费阅读
(计算机应用技术专业论文)基于osgi的面向服务插件框架研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏大学硕士研究生毕业论文 摘要 随着软件技术和网络技术的快速发展以及复杂商业需求的不断演进,支持 异构模块动态部署、增量式模块开发、运行时刻服务动态管理、敏捷性开发等 软件架构技术己成为软件工程领域的研究热点,受到越来越多研究者的关注。 本文首先在分析传统软件体系结构的演迸过程以及s o n s e i c e o r i e n t e d 觚h i t e c t l l r e ) 现状的基础上,针对s o a 架构实施过程中存在的不足之处,提出 了基于o s g i ( 0 i p e ns e r v i c eg a t e w a yi m t i a t i v e ) 的面向服务插件模型o s p a m ( o s g is e i c e p l u ga i l i t e c t u r cm o d e l ) 以及o s p :a m 的框架模板 s p o f ( s e i c e p l u go r i e n 锄f r a m e w o r l 【) ,设计开发了一个基于s p o f 框架的 0 m c ( 0 i p e r a t i o n & m a i n t e n a n c ec e n t e r ) 系统。本文主要工作包括: 1 介绍了o s g ir 4 规范的详细定义以及o s g i 核心思想在软件体系架构和 企业集成领域的借鉴之处。通过传统体系结构与插件体系结构的对比,结合 o s g i 在插件式开发方面的卓越特点,提出了一种基于o s g i 的面向服务插件模 型o s p a m 。该模型采用分层模式思想,将服务请求实体层s r e 与资源实体层 i 也逻辑分离开来,服务注册管理层s r m 为s l 砸和l 也提供了统一的服务注册、 路由、组合以及消息传递等机制。论文对s i m 层、o s g i 包装器、w s 包装器、 插件生命周期管理矩阵、插件协同机制等作了深入研究。该模型解决了业务场 景变化与迭代式软件开发过程的矛盾,使得复杂商业需求与软件开发架构同步 演进,有利于模块化软件开发过程的标准化,实现了即插即用的模块化管理, 最大限度的降低了模块间的耦合性,使面向服务架构s o a 获得更大程度的商业 敏捷性。 2 在0 s 黝心讧模型基础上,结合s o a 原始模型、o s g i 微内核e q u i n o x 、 w r e bs e r v i c e 、内存数据库、x m l 等技术,设计并实现了一个具体的面向服务插 件框架s p o f 。该框架由s p o f 应用层、b 咖d l ec o n t e x tc a c h e 、服务插件管理中 心等构成。给出了在w r e b 服务器与s e r v l e t 容器中嵌入e q u i i l o x 的解决方案,分 析研究了服务插件的调用方式、o s g i 服务封装方法,并参考e d i p s e 的e x t e n s i o n r e 酉s t 巧技术给出s p o f 框架的扩展设计。s p o f 框架具有整体实现系统的可插 拔性、动态改变系统行为性、资源服务细节无关性、模块依赖最小化等优点 江苏大学硕士研究生毕业论文 3 针对目前在线计费o c s 的子系统o m c 监控维护多网元、多服务进程等 业务需求,设计了基于s p o f 框架的o m c 系统,给出了o m c 系统总体架构、 基于s p o f 的设计思想、业务场景展现、业务场景中的模块描述、业务流程定 义、业务对象组成等的具体实现。 关键词:软件体系结构、面向服务框架、0 s g i 、插件、操作维护中心 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校 保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和 借阅。本人授权江苏大学可以将本学位论文的全部内容或部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 本学位论文属于 保密口,在年解密后适用本授权书。 不保密 学位论文作者签名: 悦聊气 2 0 0 8 年0 6 月0 8 日 指导教师签名: 硝年。喊1 日 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究工作所取得的成果。除文中已注明引用的内容以外,本论 文不包含任何其他个人或集体已经发表或撰写过的作品成果。对本文 的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本 人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:悦怡呼f l l 日期:2 0 0 8 年0 6 月 江苏大学硕士研究生毕业论文 第一章绪论 软件框架是一种微体系结构,为特定领域内的软件系统提供实现模板,它可 以是一个将要被扩展或复用的子系统【1 1 。综合各学者对于软件框架的定义2 ,3 1 ,软 件框架是软件开发过程中提取特定领域软件的共性部分形成的体系结构,框架提 供了可在应用程序之间共享的可覆用的公共结构体。软件框架具有面向实现的特 性,反映了应用的体系结构,是面向特定领域的可复用软件制品。开发者把框架 融入应用程序,并加以扩展,以满足他们特定的需要。为解决复杂多变环境中软 件开发无法适应需求变化的问题、新增异构模块的问题、软件模块动态部署问题 以及逻辑功能可重用问题,需要设计具有可扩展、支持热部署的自适应软件框架。 本文在深入研究o s g ir 4 规范的基础上,采用支持增量式模块开发和软件对象动 态部署的方法,结合面向服务的设计思想,最终形成了基于0 s g i 的面向服务插 件的软件框架。本章主要对课题的研究背景、研究意义、国内外研究现状以及论 文内容和论文组织结构进行介绍。 1 1 研究背景及意义 随着硬件技术和网络技术的快速发展,多变的商业环境无疑使得软件功能日 益复杂、规模庞大、需求变更频繁。实时响应新需求、动态部署新模块、快速装 配各种组件服务已成为全球大小企业工t 部门共同面对的问题。自n a t o 于1 9 6 8 年提出软件工程概念以来,软件工程界已经提出了一系列的理论、方法、语言和 工具,解决软件开发过程中的若干问题。但是软件系统固有的复杂性、易变性和 小可见性,使得软件开发周期长、代价高、质量低的问题依然存在。大量实践统 计表明:系统软件开发中7 0 的错误是由需求和软件设计阶段引入的,而且错误 在系统中存在的时间愈长则愈难发现,解决这些错误的代价也愈高。为了提高软 件需求和软件设计的质量,软件工程界提出了需求分析工程技术和各种软件体系 结构。许多专家学者从不同角度和不同侧面对软件体系结构进行了刻画,较为典 型的定义有: 1 ) d e w a y n e p e r r y 和a l e x w 0 1 f 曾这样定义【4 】:软件体系结构是具有一定形式 的结构化元素即构件的集合,包括处理构件、数据构件和连接构件。处理构件负 责对数据进行加工,数据构件是被加工的信息;连接构件把体系结构的不同部分 江苏大学硕士研究生毕业论文 组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法 在其他的定义和方法中基本上得到保持。 2 ) m a r y s h a w 和d a v i d g a r l a n 认为软件体系结构是软件设计过程中的一个层 次【5 1 ,这一层次超越计算过程中的算法设计和数据结构设计。体系结构问题包括 总体组织和全局控制、通讯协议、同步、数据存取、给设计元素分配特定功能、 设计元素的组织、规模和性能、在各设计方案间进行选择等。在软件体系结构处 理算法与数据结构之上,关于整体系统结构设计和描述方面的一些问题,如全局 组织和全局控制结构,关于通讯、同步与数据存取的协议,以及设计构件功能定 义、物理分布与合成、设计方案的选择、评估与实现等。 3 ) k r u c h t e n 指出【6 1 ,软件体系结构有四个角度,它们从不同方面对系统进 行描述:概念角度描述系统的主要构件及它们之间的关系;模块角度包含功能分 解与层次结构:运行角度描述了系统的动态结构;代码角度描述了各种代码和库 函数在开发环境中的组织。 4 ) d a v i d g a r l a n 和d e w n e p e r r y 于1 9 9 5 年在i e e e 软件工程学报上又采用如 下的定义【7 】:软件体系结构是一个程序系统各构件的结构、它们之间的相互关 系以及进行设计的原则和随时间进化的指导方针。 5 ) b a r r y b o e h m l 8 j 和他的学生提出:一个软件体系结构包括一个软件和系统 构件、互联及约束的集合;一个系统需求说明的集合;一个基本原理用以说明这 一构件,互联和约束能够满足系统需求。 6 ) 1 9 9 7 年b a s sc t e m e n t s 和k a z m a n 在使用软件体系结构一书中给出 如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、 软件构件的外部的可见特性及其相互关系,其中“软件外部的可见特性”是指软 件构件提供的服务、性能、特性、错误处理、共享资源使用等。 纵观软件体系结构技术发展过程1 9 】,从最初的“无结构 设计到现行的基于 体系结构软件开发,可以说经历了4 个阶段:( 1 ) “无体系结构”设计阶段:以 汇编语言进行小规模应用程序开发为特征;( 2 ) 萌芽阶段:出现了程序结构设计 主题,以控制流图和数据流图构成软件结构为特征;( 3 ) 初期阶段:出现了从不 同侧面描述系统的结构模型,以u m l 为典型代表;( 4 ) 高级阶段:以描述系统的 高层抽象结构为中心,不关心具体的建模细节,划分了体系结构模型与传统的软 件结构的界限,该阶段以k r u c h t e n 提出的“4 + 1 模型为标志。由于概念尚不统 2 江苏大学硕士研究生毕业论文 一、描述规范也不能达成一致认识,在软件开发实践中软件体系结构尚不能发挥 重要作用【1 0 j 。 随着软件体系结构的定义在不断完善,软件体系结构的模式也由面向过程的 体系结构、面向对象的体系结构发展至面向服务的体系结构( s e r v i c e 一0 r i e n t e d a r c h i t e c t u r e ,s o a ) ,这标志着软件开发迈进了一个新的里程碑。s o a 既是一 种软件架构,也是一种编程模式,还是一种思考部署软件的方法。模块化开发过 程的标准化、部署、查找、调用( 绑定) 以及相关的实现技术成为现阶段实施 s o a 思想的关键。面对快速多变的商业需求,在构建s o a 应用系统过程中,人 们开始关注模块化开发过程的标准化、运行时刻服务管理、服务版本升级、高效 服务查找、服务扩展方式等具体实现问题,现有的面向服务架构实施方案存在如 下待研究的问题: 1 ) 规范的模块化开发有利于大型项目有效分解以及项目的动态发布,大大 缩短了开发周期和资源成本。为了解决模块化开发过程的规范性,o p e n j d k 组织 给出j s r2 7 7 ( j a v am o d u l es y s t e m ) 的参考建议,但是该规范未被业界广泛接受, 因此模块化开发过程的标准化已经成为构建s o a 应用系统的迫切需要。 2 ) 系统运行时刻对于服务动态管理的要求越来越高,例如在不需要重启系 统的前提下,是否支持添加新服务、更新已有服务、删除过期服务、修改服务配 置、服务行为动态改变等成为现有s o a 实现技术的瓶颈。 3 ) 如何在服务请求时刻获取最新目标服务元数据,以便实现服务间的动态 依赖绑定也是s o a 需要解决的问题。 4 ) 随着业务需求的不断演进,通过预设服务扩展点来扩充系统功能的方式 成为衡量面向服务架构扩展性的指标之一。 在s o a 应用系统构建过程中,系统支撑商和系统运营商最为关心的核心问题 是服务的动态部署、服务查找、需求变更的适应性以及系统的可扩展性,而 o s g i ( c i p e ns e i c eg a t e w a y1 1 1 i t i a t i v e ) r 4 规范所具有的服务生命周期管理、服务 动态部署、模块化的开发标准化等卓越之处恰恰是s 0 a 所需要但未涉及的。o s g i r 4 规范最初出发点是为了移动设备的计算环境,由于移动设备所提供的智能服 务总是以插件的形式存在,因此更多的考虑了模块标准化开发、运行时环境管理 和服务的动态管理等问题。基于0 s g i 的模块化开发思想恰恰能为模块化开发过 程的标准化提供规范性的参考,0 s g ir 4 规范可以有效解决在s o a 架构下的服务 3 江苏大学硕士研究生毕业论文 动态部署、服务动态依赖绑定、运行时刻服务更新、预设服务扩展点等问题,使 它在构建s o a 应用方面具有重大优势,可以像e c l i p s e 平台为软件工具所做的那 样,为企业的n 系统创造一个良性的服务生态环境。 充分利用0 s g i 服务生命周期、服务动态部署、模块化开发等特性,有效改 善s o a 服务生态环境已经引起国际上知名高校和科研机构的关注,同时众多开源 组织s p r i n g 、s t r u t s2 、n e w t o n 积极推动0 s g i 在企业应用软件的实施探索,但 现阶段相关的研究成果还不够成熟,因此我们所做的研究可以紧跟国际前沿水 平,在s o a 的服务部署、服务动态管理、模块化开发标准化等领域作一些大胆的 尝试。另一方面,o s g i 技术也具有很好的应用前景,较有影响的应用案例包括 b m w 汽车应用控制系统、i d ep r o j e c te c l i p s e 等。而面向服务的应用系统与o s g i 规范相互融合的关键技术尚未成熟,目前尚没有较有影响的应用案例,可以预见 的应用场景非常广泛包括各类电子商务系统、企业运营支撑系统、企业服务集成 平台等。 1 2 国内外研究现状 早在2 0 年前,市场研究公司g a r t n e rg r o u p 就提出了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 将成为占有绝对优势的软件工程实践方法,并倡导主流企业将在理 解和应用s o a 开发技能方面进行投资。近年来,s o a 思想及实现技术己经得到国 内外众多的组织和公司的关注。由许多知名公司参与的w 3 c 组织制定和开发了 w e b 服务相关技术和标准,并且己经具有不少成熟的研究成果。s o a 虽然是新兴 的事务,但是它特别适用于企业级系统的开发。在规范方面,该组织于2 0 0 7 年 发布了三个重量级的标准:s c a 、s d 0 、w s p o l i c y 。按照g a r t n e r 预测,2 0 0 8 年 s o a 将成为占有绝对优势的软件工程实践方法,它将结束传统的整体软件体系架 构长达4 0 年的统治地位。近几年来,国内外对s o a 规范的制定、s o a 产品的研 发均投入了大量的研究工作,提出了许多具有代表性的解决方案和框架产品,大 大推动了该研究领域的发展。目前,世界知名的软件公司m i c r o s o f t 、i b m 、s u n 、 s a p 、b e a 等都为客户提供在异构计算环境中开发、部署、管理和运行完整的s o a 的开放平台,大大推动了该研究领域的发展。 1 ) m i c r o s o f t 的i n d i g o 平台【1 1 1 m i c r o s o f t 用于构建基于s o a 应用程序的i n d i g o 平台,使得专门用于创建s o a 4 江苏大学硕士研究生毕业论文 应用程序的技术得到广泛应用。i n d i g o 允许目前创建面向对象应用程序的开发人 员采用n e tf r 硼e w o r k 来创建面向服务的应用程序。同时为了让这些应用程序能 够与运行在w i n d o w s 和其他平台上的软件有效地进行交互,i n d i g o 还实现了s o a p 和其他w e b 服务技术,这样开发人员就可以创建可靠、安全且能够与运行在任何 系统上的软件实现互操作的事务型服务。i n d i g o 基于n e tf r a m e w o r k2 0 并对其 进行了扩展,提供了创建由客户端访问服务的基础,这一基础主要由一组运行于 公共语言运行库( c l r ) 上的类来实现。客户端与服务通过工n d i g o 的内置s o a p 进行 交互。 2 ) i b m 的e s b ( e n t e r p r i s es e r v i c eb u s 企业服务总线) 【1 2 】 i b m 实现了基于w e b s p h e r e 产品族的e s b 平台,构成了i b ms o a 的基础架构, 提供了e s b 的基本功能,如服务路由、消息转换、中介、传输防议、消息传递模 式、服务集成方式以及e s b 的非功能属性的支持,如安全性、事物、性能、可靠 性、服务的监控和管理等。支持在复杂的企业i t 环境中构建稳定、安全、可靠 的e s b ,为整个企业基础设施向s o a 架构迁移提供支持。 3 ) s u n 的s o a p a t h 服务导向架构【1 3 1 s o a 实际执行方式在s o a 技术的整个生命周期内从概念论证、准备阶段到实 际执行等各个关键时刻,均采用s u n 的j a v a 平台和s o a 执行经验。s u n 的s 0 a 架构,实际执行方式强化了支持s u nj a v a 平台和w e b 服务标准以及运行于 s o l a r i s1 0 操作系统的产品和服务的提供。这些产品和服务包括:s u nj a v a s y s t e ma p p l i c a t i o np 1 a t f o r ms u i t e ( j a v a 系统应用平台套件) 解决方案,该平 台套件直接通过一组w e b 服务来集成各种不同的企业系统,这是一个快速启动 w e b 服务的方法,s u nj a v ai d e n t i t ym a n a g e m e n ts u i t e ( j a v a 身份识别管理套 件) 是业界最完整的和最具综合性的可以安全执行用户身份识别管理的一整套产 品。 4 ) b e a 的w e b l o g i cp 1 a t f o r m l l 4 】 b e aw e b 服务的核心技术就是w e b l o g i cp l a t f o r m ,它是紧密集成的应用平 台套件。b e aw e b l o g i cp l a t f o r m8 1 将以往相互分离的应用集成和应用开发汇 聚在一起,在这一平台中,有效整合了b e aw e b l o g i cs e r v e r 、b e aw e b l o g i c p o r t a l 、b e aw e b l o g i ci n t e g r a t i o nl 三【及b e aw e b l o g i cw o r k s h o p 。将集成和开 发融合为一个i t 流程,b e aw e b l o g i cp l a t f o r m 能够提高软件基础架构的复用 江苏大学硕士研究生毕业论文 性、业务灵活性和技能协作水平,并最终为用户带来长远的成本节约。 5 ) s a p 的n e t w e a v e 【1 5 】 s a p 的n e t w e a v e 平台倡导“应用基础设施 的概念,逐渐模糊了应用产品 和基础设施之间的界限,并通过网络服务提供一种端对端的业务流程。n e t w e a v e r 是一个开放的平台,为独立软件开发商开辟了一个新的开发空间。s a p “应用基 础设施”的概念有两大优势:一方面,s a pn e t w e a v e r 与i b mw e b s p h e r e 和 m i c r o s o f t n e t 实现了兼容性和互操作性;从另一角度来看,s a p 正通过 n e t w e a v e r ,将商务软件产品的重心从各种应用模块的机械性集成向业务流程平 台( b u s i n e s sp r o c e s sp l a t f o 瑚,b p p ) 发展,这令s a p 在应用和管理领域的优势 进一步得到发挥。 目前国内针对s o a 的研究,主要体现在部分中间件产品上,而基于s o a 的 e s b 整体解决方案非常缺乏,更多的是一些中间件产品和协同软件产品,并且已 经推出了一些与s o a 密切相关的软件产品。如: 1 ) 中和威推出了国内首个支持s o a 架构的e s b 产品一i n t e r e s b 【1 6 】, i n t e r e s b 是一种可扩展企业服务总线,它提供了种开放的、基于标准的消息 机制,通过简单的标准适配器和接口,来完成粗粒度服务和其他组件之间的互操 作,方便了企业级信息系统的应用整合。 2 ) 普元软件推出了基于构件的s o a 中间件e o s 5 0 【1 7 】,e o s 提供企业应用的 基础构架,在该基础构架上发展出靠近业务层的应用框架和业务引擎,并以构件 化、平台化、业务化、商业化为方向构建“搭积木”式的“随需应变”企业应用 系统。 3 ) 东方通与s u n 的技术合作产物:b o a ( b u s i n e s ss o a ) 【1 8 】即利用s o a 技术 来实现对业务系统通用构件的部署,使得s o a 与行业个性化得以融合。该产品构 架由基础中间件、集成中间件、开放式的行业解决方案套件层三部分组成,行业 解决方案套件层是面向行业的共性功能模块,用以解决领域内的共性问题。b o a 作为一种体系架构,同时也是s o a 的衍生,通过整合大量的行业解决方案套件, 使得系统的开发、部署更加贴近多变的商业环境。 4 ) 东软集团开发的统一架构平台u n i e a p ( u n i f i e de n t e r p r i s ea p p l i c a t i o n p r a c t i c e s ) f 1 9 】是由开发框架、公共构件和方法学组成的,支撑应用软件快速构 造的综合性平台解决方案。在s o a 逐步由概念走向成熟的背景下,u n i e a p 完成了 6 江苏大学硕士研究生毕业论文 面向服务的基础技术平台的转型,为构建行业应用提供稳定、可扩展的应用框架 和丰富的功能构件集,进一步明确架构驱动开发的开发模式,实现用户需求的同 时,衍生出具有实用价值的可复用构件,充当可复用资产解决方案的使能器、加 速器,帮助系统支撑商快速构建s o a 应用系统。 5 ) 金蝶软件为了进一步完善其a p u s i cs o a 战略体系,正式发布下一代的企 业应用集成框架软件a p u s i ce s b 【2 0 】。该产品立足a p u s i c 应用服务器、a p u s i cm q 消息中间件之上,充分展现面向服务、面向消息、事件驱动的特性,是一个在 s o a 架构中充当服务间智能化集成与管理中介的灵活敏捷的基础平台,在服务的 提供者和服务的消费者之间构建交互桥梁,摆脱了传统集成中间件的集中式交换 模式,采用轻量级的分布部署模型。 到目前为止,s o a 并没有形成统一的规范,各大厂商对s o a 的实现也不尽相 同。s c a ( s e r v i c ec o m p o n e n ta r c h i t e c t u r e ) 是被很多厂商推荐的标准,作为不 同平台不同语言解决组装问题的更广泛的方法,但是s c a 还没有推出标准系统的 规范。目前s u n 和t i b c 0s o f t w a r e 公司支持j b i ,而b e a 、i b m 、0 n a 、o r a c l e 、 s a p 、s i e b e ls y s t e m s 和s y s b a s e 公司支持s c a s d 0 。国内企业用户目前对s o a 的价值还没有清晰的认知,这些基于s o a 的系统平台有些共同的特性,都是基于 原有的一些中间件产品,在外围增加一些w e b 服务包装器,再把一些消息处理机 制整合到原有的系统中,实现了面向服务的模块开发的松散藕合,但是这些都离 基于s o a 模型设计的企业级系统解决方案有一定距离。为此,如何设计一个支持 服务动态部署、服务生命周期管理、模块化的开发过程标准化等问题都是s o a 模型应用平台的关键之处,同时也是本文的研究重点。 1 3 研究内容和论文组织 1 3 1研究内容 本文通过广泛查阅相关文献资料,在比较和借鉴现有o s g i 规范和s 0 a 原始 模型的基础上,提出基于o s g i 的面向服务插件模型o s p a m ( o s g is e 媳p l u g 觚h i t e c t u r em o d e l ) 、基于o s p a m 模型的框架模板s p o f ( s e i c e p l u g0 r i e n t e d f r 锄e w o r k ) ,并且通过在o m c ( o p e r a t i o n & m a i n t e n 锄c ec e n t e r ) 系统的设计 实践来验证该模型的即插即用扩展性、服务模块化管理以及服务组件的动态部署 优势,最后设计并实现了一个基于s p o f 框架的原型系统o m c 。论文的主要工 作包括: 7 江苏大学硕士研究生毕业论文 1 ) 设计了面向服务插件模型o s p a m 。与传统的软件结构模型相比,o s p 枷 模型采用分层模式思想,将服务请求实体层s i 也( s e i c er e q u e s te n t i 啪与资源 实体层r e ( r e s o u 股e n t i 叻逻辑分离开来,服务注册管理层s i 泓( s e i c er e g i s t e r m 锄a g e m e n t ) 为s r e 和r e 提供了统一的服务注册、路由、组合以及消息传递等 机制,较好解决了服务动态部署、开发过程模块标准化、降低服务耦合性等问题。 劲设计了基于o s p a m 模型的框架模板s p o f 。以o s p 枷模型作为框架模 板,结合e q u i i l o x 微内核、j 2 e e 、w 曲s e i c e 、内存数据库等技术,提出一个具 体的0 s p 枷模型实现框架s p o f 。分别讨论了应用于s p o f 框架中的分布式业 务请求机制、服务插件管理方案。详细描述了如何实现w r e b 服务器与s e l e t 容 器嵌入e q u i n o x 的解决方案、m e m o r yd b 技术在服务元数据更新的应用。另外, 针对增量式软件开发的需求,参考e d i p s e 的e x t e n s i o nr e 百s 仃y 机制,给出了适 合s p o f 框架的扩展方案。该框架较好的解决了w r e b 服务容器与e q u i i l o x 微内核 相互兼容、服务元数据实时更新、w 曲服务与o s g i 服务封装等问题。 3 ) 设计并实现了一个基于s p o f 框架的原型系统0 m c 。结合s p o f 框架, 在分析了o m c 的业务需求和功能组件特征的基础上,讨论了o m c 系统总体架 构的设计、基于s p o f 的设计思想、业务场景展现,并且给出业务场景中的模块 描述、业务流程定义、业务对象组成、错误处理等部分的具体实现。 1 3 2 论文组织 论文内容安排如下: 第一章绪论。阐述研究背景和意义、国内外研究现状、研究内容以及论文 组织。 第二章面向服务概述。简单介绍了企业应用集成的传统实现方式以及优缺 点,着重分析了s o a 的定义和基本特征,并且总结了基于w e bs e r v i c e 的s o a 在实施过程中面临的问题,提出了将s o a 与o s g i 优劣互补的实施建议。 第三章基于o s g i 的面向服务插件模型o s p 枷。给出了模型的总体结构, 详细介绍了s r m 层、o s g i 包装器、w s 包装器、服务生命周期管理矩阵、服务协 同机制等。 第四章基于0 s p a m 模型的s p o f 框架。结合s o a 原始模型、o s g i 微内核 e q u i n o x 、w e bs e r v i c e s 、内存数据库、x m l 等技术,设计并实现了一个具体的面 向服务插件式框架s p o f ,并对该框架中的s p o f 应用层、b u n d l ec o n t e x tc a c h e 、 8 江苏大学硕士研究生毕业论文 服务插件管理中心、s p o f 扩展性进行了讨论。着重设计和实现了w r e b 服务器与 s e l e t 容器嵌入e q u i n o x 的解决方案、服务插件的调用方式、0 s g i 服务封装方法, 并参考b c l i p s e 的e x t e n s i o nr e 西s n y 技术给出了s p o f 框架的扩展设计。 第五章基于s p o f 框架的0 m c 原型系统的实现。将基于o s p a m 模型的s p o f 框架应用到采用3 g p p 协议的多业务、多网元的在线计费系统o c s 的o m c 子系统 中,从而验证了本文提出的s p o f 框架及其关键技术的可行性、实用性。 第六章工作总结与展望。对本文的主要工作进行了总结并对下一步工作进行 了说明。 9 江苏大学硕士研究生毕业论文 第二章面向服务架构概述 s o a 是目前企业应用集成领域中一个非常热门的研究内容,被誉为软件开发 的下一个里程碑,成为企业级软件架构的趋势,它通过网络将松散耦合的粗粒度 应用组件进行分布式部署、组合、使用。本章首先系统的介绍了常见企业应用集 成的传统实现方式及其缺陷,然后参考业界给出的面向服务的体系结构定义,分 析了基于w e bs e r v i c e 面向服务的企业应用架构方式及其优缺点。最后论述0 s g i 规范作为一种插件体系结构思想,在构建面向服务的企业应用中扮演的重要角 色。 2 1企业应用集成的传统实现方式 分布式计算将网络上分布的软件资源看作是各种服务,面向服务架构是一种 不错的解决方案。但这种架构不是新思想,c o 耻i a 和d c o m 就很类似。首先, 它们是紧密耦合的,这就意味着分布计算连接的两端都必须遵循同样a p i 的约 束。如果一个c o m 对象的代码有了更改,那么访问该对象的代码也必须作出相 应更改,因此这些面向服务的架构都受到厂商的约束。w - e bs e i c c 是对d c o m 和c o 砌狐缺点的改进,今天应用基于w r e bs e i c e 的面向服务架构与过去的不同 之处就在于它们是基于标准以及松散耦合的。广泛接受的标准( 如x m l 和s q 址) 提供了在各不同厂商解决方案之间的交互性。松散耦合将分布计算中的各参与者 隔离开来,交互两边某一方的改动并不会影响到另一方。本章就企业应用集成的 传统实现方式的关键技术进行分析讨论,并且对其优缺点进行归纳总结。 2 1 1 c o r b a 组件技术 2 1 1 1c o r b a 概念 c o 酬c o 皿n o no b j e c tr e q u e s tb r o k e r 加c m 瞅知r e ) 是由国际对象组织 0 m g 制定的著名的分布对象计算规范,主要解决异构平台上分布对象的互操作 和可移植问题,其核心机制是对象请求代理( o b j e c tr e q u e s tb r o k e r ) ,简称o r b 。 目前,o m g 的c o l m a 是工业界支持最多的分布计算标准【2 l 】,其目标就是为应 用开发提供一个公共框架,使得基于对象的软件在分布异构环境下具有良好的可 重用性、可移植性和互操作性,从而能够在多种主流硬件平台上运行多种操作系 1 0 江苏大学硕士研究生毕业论文 统构成的异构分布环境中方便地建立分布式应用。为了实现上述目标,0 m g 组 织成立后不久就制定了o m no b j e c tm a n a g e m e n t c m t e c t i l r e ) ,对象管理体系结 构1 参考模型【2 2 】。针对o m a 中的核心部分o r b 【2 3 1 ,o m g 组织制订了c o 砌a 规范,并于1 9 9 1 年颁布了c o 砒认规范1 1 版本,又于1 9 9 5 年颁布了2 o 版本, 2 0 0 2 年6 月份o m g 组织正式公布了c o r & 够0 规范【2 4 】。遵照此规范开发出的 分布式计算软件环境可以在几乎所有的主流平台和操作系统上运行,它隐藏了应 用层的网络协议的细节,开发者可以在应用程序中使用这些服务而不必关心实际 网络的安装、协议的选择以及数据的格式等,使开发的软件既面向对象又具有可 重用、可移植、可互操作等特点,使得它非常适合现有的分布式系统新的应用程 序的开发和系统集成。 2 1 1 2c o r 队工作原理 基于o m a 发展而来的c o r b a 体系结构如图2 1 所示,主要包括o i m 核心、 客户端码根、服务器端框架、动态调用接口、动态框架接口、接口库、实现库、 o r b 接口和对象适配器【2 5 1 。 图2 1c o r b a 体系结构 当一个客户要使用某个对象实现所提供的服务时,步骤大致如下: 1 ) 客户通过某种方式找到特定对象实现的对象引用。这些查询方式包括: 使用o r b 接口中提供的操作r e s o l v eh l i t i a l lr e f e r e n c e s ;使用c o r b a 对象服务 中的命名服务( n 锄i n gs e i c e ) ;通过o r b 实现系统自身提供的特定的对象引 用获取方法【2 6 1 。 2 ) 客户向对象引用发出请求。如果对象引用有相应的d l 码根,客户可以 通过d l 码根发出请求( 静态调用) ,或者在接口库的协助下使用d ( d y n 锄i c 1 1 江苏大学硕士研究生毕业论文 i n v o c a t i o ni i l t e r f a c e ,动态调用接口) 发出请求( 动态调用) 2 7 1 。 3 1 请求传递到对象适配器。当对象调用请求到达o i 氇核心后,由o r b 核 心负责将请求传送给相应的对象适配器,具体方式由o l 氇的具体实现决定【2 8 】。 4 1 对象适配器调用对象实现的操作。如有d l 框架的存在,对象适配器通 过框架执行对象实现中的操作,否则通过d s i ( d ”a m i cs k e l e t o ni i l t e r f a c e ,动态 框架接口) 中的d m ( d y n 锄i c i n v o c a t i o nr o u t 沁,动态调用例程) 。 5 ) 结果返回给客户。对象实现的特定操作方法执行完后,结果( 包括输出参 数、输人输出参数、返回值以及异常信息等1 将按照对象请求传递和执行路径逆 向返回给客户对象2 9 1 。 如图2 1 所示的c o i 出a 体系结构:对于每一种对象类型来说,都有单独的 客户端码根和服务器框架。在动态调用时,客户使用动态调用接口,这是独立于 任何目标对象的接口。对象实现则使用动态框架接口接收上行调用。动态调用和 动态框架接口对于不同厂商的o l 氇实现来说都是相同的。在某些特定的情况下, 客户还是会直接与o r b 接口进行交互。对象实现选择对应的对象适配器以获得 所需要的由o i m 产品提供的服务,因此对象实现可能由多个对象适配器完成。 2 1 1 - 3c o r b a 存在缺陷 c o 耻i a 体系实现了透明调用和访问远程分布对象的机制,但是传统c 0 砒认 缺乏对异步消息提供支持,随着c o r b a 应用领域的扩展,这种缺陷逐渐明显 【3 0 1 。如果要开发c o i m a 应用程序,应用程序环境中的每个节点都要运行相同的 o r b 产品。现在也有来自不同厂商的c 0 砌狐o i m 能够相互操作,但是那种互操 作性并不能扩展到像安全与事务管理那样的更高级别的服务中去。c o 砌3 a 规范 自身所带来的复杂性,几乎不可能找到一家供应商,能够为异种网络中的所有环 境提供实现。尽管进行了大量标准化工作,不同的c o r b a 实现之间仍缺乏互操 作性,从而不断地造成各种问题;而且c o 砌认又缺乏针对多线程环境的规范, 对于像c 或c + + 这样的语言,源码兼容性从未完全实现过。由于c o i u 认应用程序 环境中的每个节点都要运行相同的o r b 产品,以致c o r b a 组件技术严重制约了 面向服务架构的松藕合特性。 2 1 2d c o m 组件技术 2 1 2 1d c o m 概念 d c o mp i s t 曲u t e dc o m p o n e m0 l b j e c tm o n d e l 分布式组件对象模型) 是微软 1 2 江苏大学硕士研究生毕业论文 公司制定的一个分布式计算的标准【3 l j ,它以o l e 为基础,以0 r p c ( o b j e c t r e m o t ep r o c e d u r ec a l l 对象化远程过程调用) 为应用层协议,现已经成为开发分布 式计算和多层应用的主流技术之一。d c o m 技术是一项基于面向对象的技术, 用它所开发的应用程序除了具有面向对象的特点,它还具有位置独立性、语言平 台的独立性,以及网络性能出色等优点【3 2 】。 2 1 2 2d c o m 分布式模型实现 客户端的普通用户通过安装在各个网站服务器上的业务逻辑层的应用程序 来调用各分布式的c o m 组件,而业务逻辑组件层的应用程序是通过安装在本应 用程序所在的服务器上的c o m 运行库来调用远程c o m 组件,以远程过程调用 的形式调用分散在网络上的c o m 组件的接口函数或过程。当然业务逻辑层应用 程序调用组件对象并不是直接调用远程组件的方法,而是通过d c o m 网络协议 简单地把应用程序同组件联系起来,其实现过程如图2 2 所示: 图2 2d c o m 分布式实现原理 由此看来d c o m 是完全依靠远程过程调用( r e m o t ep r o c e d u r ec a l lr p c ) 来提 供分布式服务的。事实上,也正是r p c 使得c o m 变成了d c o m 。 2 1 - 2 3d c 0 m 存在缺陷 d c o m 作为一项以m i c r o s o f t 和w i n d o w s 为基础的技术,支持的平台仅为 w i n d o w s 系列操作系统。由于它是由单一开发者( 微软) 定义并控制,这就大大限 制了d c o m 使用者的选择范围,这使得它对其他语言的支持产生很多问题,例 如在应用程序之间传递c 2 s t y l e 内存指针,而一些不支持指针类型的语言( 如j a v a 、 c o b o l 等) 却是无法达到的。因此d c o m 在跨平台和多语言支持方面仍存在许 多问题,可以说在操作系统平台上的支持程度d c o m 是最差的。从开发的角度 来看,d c o m 缺乏c 0 砌弘这种交叉平台、支持多种语言的能力。另外d c o m 缺乏众多的平台支持,这极大程度地制约了代码的可重用性和d c o m 应用的可 江苏大学硕士研究生毕业论文 扩展性。d c o m 是非常僵化的,服务和客户端都与技术特性、具体厂商标准紧 密相连。使得来自不同企业应用、不同技术环境的客户端共享某个服务的过程变 得非常困难,因此d c o m 组件技术无法较好的实现s o a 所具有接口标准化、灵 活的互操作、服务复用性、低耦合等优点。 2 1 3ji 技术 2 1 3 1 j i n i 工作原理 皿虮是一种开发分布式系统的j a v a 技术,它可使多种硬件和软件便捷地与 网络相连,从而使人们极其方便地使用各种网络服务。它为各种器件如何连入网 络、共享信息并与网络进行互操作提供规则,而同时又保持了对用户的完全透明。 j 咖将j a v a 技术所建立起来的基于开放性标准的分布式计算模式向前推进了一 大步。j 矾i 组件包括服务、客户和查找服务,客户获得服务之前,必须要经过三 个过程:发现、加入和查找,这三个过程分别对应三个协议:发现协议、加入协 议和查找协议。客户和服务都可以通过发现过程来定位查找服务的位置;加入过 程使得服务可以把自己注册到查找服务上;而查找过程帮助客户查找到感兴趣的 服务。 2 1 3 2j i n i 体系结构 删i 系统由三个部分组成:基础结构、编程模式和网络服务,其体系结构如 图2 3 所示: 网络服务j a v as p a c el l 事务管理器i打印l l 其他服务 基 r m i 系统扩展 编租用 础 发现加入查找 程 j i n i 分布式事务处理 设 查询服务 模 施 式分布式事件处理 分布式安全系统 j a v a 平台l j 2 e e i j 2 s e i ij e m eii 其他j a v a 平台i 操作系统 w i n d o w s i l s 0 1 a r js im a c | | 其他o s 中央处理器i x 8 6 ll s p a r c p o w e r p cl | 其他c p u 图2 3j i n i 体系结构 即插即用的基础结构:删i 基础结构用以解决设备和软件如何与网络连接并 1 4 江苏大学硕士研究生毕业论文 进行注册等基本问题。网络中的任意服务可以随时加入和退出,且不需安装和配 置,达到了即插即用的效果。皿m 的基础结构包括j a v a 的j 踟系统扩展、分布 式安全系统、发现、加入、查找等一组协议。其中发现及加入协议负责解决设备 和应用程序对网络一无所知的情况下如何向网络进行首次注册加入。当用户需要 查找和调用网络中的服务时,就使用查找协议。查询服务则是网络中所有服务的 公告板,存储
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京印刷学院印刷产业市场拓展合作框架合同
- 离婚协议中关于共同债务清偿及信用修复补充条款
- 建筑方案设计人员组成包括
- 2025年机械入职笔试题及答案
- 双重预防体系培训考试题及答案
- 现场文明施工、防止施工扰民措施、环保和保卫方案
- 岗位危险源及控制措施考试及答案
- 咨询项目招标代理方案
- 建筑台阶处理方案设计说明
- 茶社建筑方案设计图纸大全
- 家政服务企业社会责任报告样本
- 血小板活化与流式细胞仪分析
- 发行公司债法律意见书正文
- 部编人教版五年级上册道德与法治全册课件
- 高血压护理查房ppt
- 全关节镜下FiberTape治疗后交叉韧带胫骨止点撕脱骨折课件
- 有限元和有限差分法基础超详细版本
- 《临建布置方案》word版
- 疑似预防接种异常反应(AEFI)监测与处理PPT课件
- 某某某污水处理厂施工组织设计
- (完整)地面硬化施工合同
评论
0/150
提交评论