Eclipse平台架构技术分析及基于RCP的应用研究(1)(2)
2014-12-23 01:45
导读:OSGi规范的核心,提供了一个通用的、安全可管理的Java 框架。提供了以下功能: 管理bundle的安装和更新。bundle安装后会注册一定数量的服务,可被同一Frame
OSGi规范的核心,提供了一个通用的、安全可管理的Java 框架。提供了以下功能:
管理bundle的安装和更新。bundle安装后会注册一定数量的服务,可被同一Framework下的其他bundle使用。不同bundle提供的Services可构成一个大规模的Services,不同的bundle和Services形成依赖。这种依赖关系由Framework负责管理。Framework为bundle提供了代码动态加载的功能, OSGi兼容设备可以任意加载和卸载OSGi bundle。使得开发者开发、部署一个大规模的Services变的很容易。Framework还为Java bundle开发者提供了简明一致的编程模型,允许开发者将自己的接口规范绑定到OSGI环境中的Services。
◆包管理服务(Package Admin Service)规范:管理不同nbundle之间的引用关系。当bundle更新或者卸载时判断是否有其他的服n务正在使用当前的bundle。
◆启动层次(Start Level)规范:定义了启动和停止一个OSGi服n务平台时,n不同nbundle的启动或者停止的先后顺序。
◆权限管理服务(Permission Admin Service)规范:对bundle间的访问权限进行控制。
Eclipse实现了OSGi规范,平台运行(runtime)实现了Framework标准,提供了相应的核心功能。插件在效果上相当于bundle,整个体系灵活而且强大。
1.4 Eclipse的插件技术:
1.4.1 与插件相关的概念
◆插件(Plug-in):Eclipse功能实现的最小单位,包含Java代码或其他文件。实现插件的类一般都继承或实现某些类或接口。插件位于plugins目录下,n使用清单文件plugin.xml向系统说明如何集成到平台。
◆扩展点(extension point):具有命名n特性的信息收集点,n也就是为插件提供的接口。每一个插件都是在已有的扩展点上开发,同n时可自定义扩展点,n以便在这个插件上继续开发。正是由引入了扩展点,n插件不n仅可以安装在Eclipse的平台上,n还可以安装到其他插件上。
中国大学排名 ◆扩展(extension):对扩展点的实现。每个插件至少实现了一个扩展点。
1.4.2Eclipse插件的通信机制
插件之间的通信是通过扩展点来实现的。首先插件A声明了扩展点P及其实现规则接口I。插件B如果要扩展插件A的扩展点P,则生成一个实现接口I的类C,从而实现对P的扩展。在实际运行时,插件A找到类C并实例化,然后调用其实现了接口I中的方法。

图2 插件的通信机制
当需要与实现某扩展点的插件通信时,根据实现扩展的插件清单plugin.xml中extension标签声明中的“class”属性查找并装入类,再根据实现扩展类的规则来调用该类中的方法,从而实现了扩展。
共2页: 1 [2] 下一页 论文出处(作者):
基于HL7的电子病历交换模型的研究
Hibernate作为J2EE数据持久层的分析和研究