欢迎来到天天文库
浏览记录
ID:26666554
大小:59.50 KB
页数:7页
时间:2018-11-28
《eclipse平台架构技术分析及基于rcp的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Eclipse平台架构技术分析及基于RCP的应用摘要由于Eclipse提供了一个开放灵活的框架,Eclipse技术现在广为流行,基于Eclipse构架的应用越来越多。本文先对Eclipse的结构进行了剖析,分析了Eclipse使用的技术及实现原理。最后给出了一个基于EclipseRCP应用的项目实例。关键词Eclipse;插件;嵌入式;RCP●0引言Eclipse是一个具有先进软件设计和实现技术的开发框架。应用软件在Eclipse中被称为“插件”。它们在架构中互动工作,完美的集成。随着Eclipse3.0加强了对RCP(Ric
2、hClientProgram)开发的支持,Eclipse已成为广为业界所支持的开放性标准软件开发环境,业界已成事实的工业标准。Eclipse的特点:跨平台;提供了GUI和非GUI;语言中立;基于插件的开放的、可扩展的平台。●1.Eclipse技术剖析1.1Eclipse体系结构概述Eclipse的结构体系如下图所示:图1Eclipse体系结构图Eclipse类似于“软总线”的体系结构,Eclipse的核心部分(PlatformRuntime)类似于一条“即插即用”的“总线”,它提供了许多的“插槽”(扩展点:extensionp
3、oint)。其余的部分都可看成类似于外部设备的“插件”(Plug-in),可随时加载和卸载。更为灵活的是每个插件又提供了“插槽”可继续安装其他的插件。Eclipse分为Eclipse平台、JDT、PDE、其他的插件几个部分。其中Eclipse平台是整个系统的基础,Eclipse的核心。JDT是提供了用于编辑、查看、编译、调试和运行Java代码的专门插件。PDE构建于Eclipse平台和JDT之上,提供了专门开发插件的工具。Eclipse平台是在其上创建插件扩展的核心框架和服务的名称,是一个通用的基础架构。平台由平台运行时、工作
4、空间、工作台、帮助、小组、调试构成。平台在结构上大致可分为核心(core)和用户界面(UI)两层。核心是与用户界面无关的基础结构,包含平台运行时和插件管理、工作空间和资源管理以及版本和配置管理。其中平台运行时又是Eclipse平台的核心。1.2平台运行时(PlatformRuntime):运行时相当于一个微内核,是插件的核心引擎。它位于平台核心中最低级别的部分,由org.eclipse.osgi和org.eclipse.core.runtime两个插件组成,其他所有的插件都依赖于这两个插件。1)运行时的功能:a)定义插件的结构
5、以及它们包含的实现详细信息(bundle和类载入器)。b)查找和执行主要的Eclipse应用程序以及维护插件的注册表、扩展和扩展点。c)提供实用程序(例如,记录、调试跟踪选项、适配器、首选项库和并发性基础结构)。2)运行时工作原理:运行时管理着一个插件注册表(所有插件的标识),当Eclipse启动时,运行时内核先是定位JRE的位置,然后启动startup.jar扫描plugins和features目录下的插件配置文件,对插件进行初始化注册到OSGi中,并保存配置文件中的信息。然后查找清单文件中声明的extensionpoint
6、和extension,将二者匹配,保存插件的依赖关系。最后启动应用。运行时对插件实行“lazyload“,只有当需要使用插件时才将其调入内存。不需要时选择适当的时机清除出内存。1.3OSGi-1.4Eclipse平台技术的核心参照1.3.1OSGi概述:Eclipse体系架构是参照OSGi实现的。核心插件org.eclipse.osgi就是OSGi的实现。OSGi(OpenServiceGateeeeeeinService)规范:管理不同nbundle之间的引用关系。当bundle更新或者卸载时判断是否有其他的服n务正在使用当
7、前的bundle。◆启动层次(StartLevel)规范:定义了启动和停止一个OSGi服n务平台时,n不同nbundle的启动或者停止的先后顺序。◆权限管理服务(PermissionAdminService)规范:对bundle间的访问权限进行控制。Eclipse实现了OSGi规范,平台运行(runtime)实现了Framel向系统说明如何集成到平台。◆扩展点(extensionpoint):具有命名n特性的信息收集点,n也就是为插件提供的接口。每一个插件都是在已有的扩展点上开发,同n时可自定义扩展点,n以便在这个插件上继续开
8、发。正是由引入了扩展点,n插件不n仅可以安装在Eclipse的平台上,n还可以安装到其他插件上。◆扩展(extension):对扩展点的实现。每个插件至少实现了一个扩展点。1.4.2Eclipse插件的通信机制插件之间的通信是通过扩展点来实现的。首先插件A声明了扩展点P及其实
此文档下载收益归作者所有