- 1、本文档共36页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于OSGi的服务协作总线的设计与实现ppt
在服务协作总线环境下,OSGi部署的远程服务需要通过指定的通讯协议暴露出来,使得其他远程客户的可以使用。这里涉及到几个问题: 把OSGi注册的服务暴露为外部可以使用的服务; 为外部服务生成代理客户端,并注册到OSGi框架中,实现透明的交互。 服务协作总线支持基于多种协议的通讯方式,并对用户屏蔽协议通讯的细节,用户甚至不能区分本地服务和远程服务的差别。 * 步骤1,2:组件按照标准方式注册本地服务,并通知通讯管理组件 步骤3:通讯管理组件设定服务交互协议,生成端点地址 步骤4:通讯管理组件利用发布服务将服务发布到服务注册库中 * 服务请求者提供透明化的远程服务访问 步骤1:组件调用服务,它通过查找、监听等,关注该服务信息; 步骤2:服务查找、监听机制通知代理生成框架,需要指定的服务; 步骤3:代理生成框架使用服务发现组件,从服务注册库上找到满足要求的服务; 步骤4:根据查找返回的服务信息,由通信管理组件选择适合的代理生成组件; 根据取得服务信息(WSDL、接口、QoS),生成服务代理,并注入到代理服务注册库中。 * 服务部署透明性设计:OSGi服务部署事件;抽象OSGi服务模型,采用一致的服务描述机制 服务代理生成透明性设计;完整的服务信息描述模型;FindHook、ListenerHook和声明式生命周期管理机制 远程服务调用透明性设计:透明的远程服务代理,达到本地服务和远程服务一致性 * 服务管理对松散的SOA应用程序的管理,服务管理包括对基于SOA的应用程序的整个生命周期进行控制和监视,服务生命周期和状态管理,性能管理,服务和资源调配,以及像可伸缩性,有效性等的其他方面。 OSGi的生命周期管理在组件层的基础上增加了动态安装、开始、停止、更新和卸载组件的功能,使得基于OSGi框架可以在运行时动态地对组件的生命周期进行管理。 服务依赖关系 组件-服务依赖: 服务-服务依赖: 问题分析 现有应用把服务依赖关系交给开发者处理,增加应用开发的难度 * 针对我们的应用需求,设计了声明式远程服务组件模型,将服务状态分为四个状态Deployed,Invalid, Valid, Destroyed; Deployed 当包含DRSCM的OSGi组件被激活时,DRSCM处于Deployed状态。此时DRSCM验证DRSCM配置文件描述,以及涉及到的Java类、Java方法等,如果都正确,则转换组件状态到Invalid,否则保持在Deployed状态。 Invalid 该组件实例已经通过验证,并且该组件需要的服务没有得到满足,如果需要的服务得到满足,则将组件状态转化为Valid状态。 Valid 处于Valid状态的服务表示当前组件需要的条件已经满足,可以正常运行,并且可以提供组件本身的服务。 如果在运行过程中,该组件需要的服务失效,则导致服务重配,如果重配成功,服务还处于Valid状态,否则服务将处于Invalid状态。 Deployed 当OSGi组件从激活状态变成钝化或者被删除时,该组件将注销自己使用和提供的资源。 * 声明式组件模型的组件描述如下所示: component 标签component定义一个组件元素,在component元素中声明组件与服务、服务与服务之间的依赖关系。 implementation 标签implementation定义组件类。组件类可能实现一个或多个服务接口,并有依赖服务的注入方法。 service 标签service定义组件提供的服务,该标签符合服务描述模型定义。 require-services 标签require-services定义组件需要的服务列表信息。这里定义组件与服务、以及服务与服务之间的依赖关系。 require-service 标签require-service定义一个依赖的服务的详细信息。 require-service/service 标签require-service/service描述依赖的服务信息,该描述符合服务描述模型。 binding 标签binding定义如何将需要的服务注入到组件中。set-method属性表示当需要的服务可用时,注入到组件中的方法;unset-method属性表示当外部服务失效时,调用的服务组件的方法。这些方法都是组件中声明的方法。 * DRSCM组件模型的动态特性。 DRSCM组件是包含在OSGi的Bundle中的,当OSGi的Bundle安装时,DRSCM解析组件模型,并注入组件需要的服务,如果组件条件得到满足,将注册组件提供的服务; 当OSGi的Bundle删除时,将引起DRSCM模型的销毁和组件信息的清除。 * 服务是由服务协作总线添加和删除的。当一个服务添加时,DRSCM将根据自己状态,注入服务对象,如果组件由无效变成有效,
您可能关注的文档
- 地铁车站的排水设计.doc
- 地震中的自救.ppt
- 地质构造产状和褶皱).ppt
- 地质图片.doc
- 地震无情、人间有爱;雅安加油!电大让爱回家!.ppt
- 地震资料处理中的反褶积处理.ppt
- 地震速报流程.ppt
- 场地平整工程施工组织设计.doc
- 地质灾害危险性评估说明书.doc
- 地震采集现场监控与资料分析软件.ppt
- 2025年广西中考地理二轮复习:专题四+人地协调观+课件.pptx
- 2025年广西中考地理二轮复习:专题三+综合思维+课件.pptx
- 2025年中考地理一轮教材梳理:第4讲+天气与气候.pptx
- 第5讲+世界的居民课件+2025年中考地理一轮教材梳理(商务星球版).pptx
- 冀教版一年级上册数学精品教学课件 第1单元 熟悉的数与加减法 1.1.6 认识1-9 第6课时 合与分.ppt
- 2025年中考一轮道德与法治复习课件:坚持宪法至上.pptx
- 2025年河北省中考一轮道德与法治复习课件:崇尚法治精神.pptx
- 八年级下册第二单元+理解权利义务+课件-2025年吉林省中考道德与法治一轮复习.pptx
- 精品解析:湖南省娄底市2019-2020学年八年级(上)期中考试物理试题(原卷版).doc
- 2025年中考地理一轮教材梳理:第10讲+中国的疆域与人口.pptx
文档评论(0)