`
snoopy7713
  • 浏览: 1141028 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

[!!!! web console] 基于Eclipse Equinox的插件框架:TPF

    博客分类:
  • OSGi
阅读更多
这篇blog是继之前的一篇提升C/S结构软件的管理性的延续,在这 篇blog中会更加的实际的去介绍基于Eclipse Equinox实现的一个插件框架,而不再是象上篇中那样的提及的想法而已了,通过这篇blog来展现目前一个这样的插件框架的实际应用的情况,为了更加 形象的表达,在文中会贴出一些目前这个系统的截图。
这个框架的简称为TPF,是目前我所做的产品的底层框架,TPF本身构建于Eclipse Equinox之上,Equinox做为OSGI R4的RI,提供了OSGI R4的全部实现,而且同时它还结合了Eclipse IDE做为插件平台的优势之处,所以是一个非常优秀的插件框架,但相对需要强大管理性的应用系统来说,基于Equinox还是缺少了一些做为基于微核的系 统的管理性,TPF就是为了满足这个而实现的,TPF主要的目标就是:
1、形成以TPF为微核的系统
      Equinox其实也是一个具备微核特征的插件框架,在Equinox中只需要System Bundle是正常运行的,那么就可以通过它来完成基于它之上的所有插件的管理,但对于系统级别而言,更多时候需要的是一种基于系统级别的控制,也就是统 一控制基于Equinox的插件,统一的进行重启、停止和启动这样的管理,而同时由于Equinox仅仅提供了console方式的管理,这对于用户来说 通常会有点麻烦,所以在TPF中提供的是web形式的管理。
      在一个拥有TPF的系统的图示通常是这样(写基于TPF不太正确,因为其他的Bundle并不需要依赖于TPF):
      tpfapp.jpg
      对于基于Equinox的系统而言,只需要安装上TPF的Bundle,便可拥有TPF提供的方便了:
      通过TPF可更加方便的对插件进行安装、管理(停止、更新、启动);
      index.JPG
      可以对插件的元信息(MANIFEST.MF)以及插件外带的一些配置文件的信息进行直接的修改,同时更是提供了更为方便的设置插件启动顺序的方法以及更加形象标明插件作用的插件名的设置的功能;
      info.jpg
      微核系统的特征,可统一启动或停止系统中的插件,方便了对于用户而言的管理功能。
      appman.jpg
      从这些特性上可以看出,在Equinox中安装了TPF的几个Bundle后,就可以更加方便的对插件进行管理了,同时也可以形象的感觉到微核系统的特 征,即不论系统处于启动还是停止状态,只要微核运行是正常的,那么系统就可以通过微核来进行管理、扩充功能以及修改功能的,而微核通常来讲都是非常稳定 的,在拥有这样特征的系统中,形象的说就是可以在项目开始的第一天在客户处部署一个系统,从此以后无论是更新版本还是如何,系统都是永远保持在运行状态 的。
2、增强的管理特性
      在TPF中除了上面所说的一些插件管理功能的提升之外,最重要的就是增加了对远程同样基于TPF系统的监控,在TPF中可以监控远程TPF系统的运行状态,同时还可对远程的TPF系统进行启动、停止的管理动作。
      remoteman.jpg
TPF 由三个Bundle共同构成,基于tpf.core可以实现其他方式的管理端,如client UI方式的管理端,JMX管理端等;tpf.webshell这个Bundle则提供了目前看到的web管理的方式,如不需要web管理则直接不安装这个 bundle就可以了或停止这个bundle(在需要的时候启动就可以了);tpf.api提供了管理远程TPF的接口,如不需要远程管理,也可不安装这 个bundle或停止这个bundle。

为了能更加清楚的说明TPF带来的影响,画了张简单的时序图:
tpfstart.JPG
这张图表达出了在安装上TPF Bundles后,其他App Bundles的生命周期包括启动顺序等是由TPF Bundles来控制,而不再是通过Equinox直接控制了,此时TPF Bundles和Equinox共同构成了系统的微核。

posted on 2006-08-18 21:24 BlueDavy 阅读(4971) 评论(10)  编辑  收藏 所属分类: Plugin Architecture

评论

 

#   re: 基于Eclipse Equinox的插件框架:TPF 2006-08-18 21:43 robbie

正如你所讲的,“写基于TPF不太正确,因为其他的Bundle并不需要依赖于TPF”,你的TPF提供了一个管理界面,类似于osgi console但强于这种命令终端也更加方便,功能更为强大,但从架构上,正如osgi bundle 也如eclipse plugin ,TPF与其它的bundle是并行在一个平面上的,而没有谁是谁的基础条件的问题,因为其它的bundle并没有依赖TPF,也没有必须知道TPF的存 在。所以你上面的图就有点问题了,TPF不是作为infrastructure存在的,我觉得从概念上讲 osgi web console更为合适。:)当然前提是我的理解没有错的话。不知道TPF是否以OS的方式发布?非常关注,因为作过一段时候的基于eclipse 的IDE开发,当时eclipse 并没有完全转向osgi,随时的3.0的release,osgi便吸引了eclipse社区相当的关注。这是一个能使软件真正能有机会实现组件化开发的 机会  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2006-08-19 11:27 leowu

我感觉那个框架图也不是太贴切,其实TPF在层次上也是一个bundle而已,并不属于基础性的东西,整体图示来看的话,核心还应该是osgi,tpf放在左侧或者右侧可能更合适一些。

题外话:此外,对于远程管理,可能很多时候还要考虑防火墙的限制,那么tpf作为大型应用的客户端架构的话(例如服务器管理客户端不同功能模块),这种远程控制就要做一些调整了。  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2006-08-19 16:36 BlueDavy

@robbie
感谢你的答复,你说的没错,由于我的一时偷懒,所以只是加了一行文字避免大家对图的误解,准确的来说TPF并不仅仅是OSGI Web console,就像我文中所说的Web console只是TPF提供的一个更加方便的管理方式可以,但如果觉得没必要的话,仍然可以不安装,TPF.core提供的API足以让你完成其他形式 的管理端,TPF将以OS的方式发布。

@leowu
图的问题确实是由于我的一时偷懒表达的不够准确,但其实在安装了TPF后所有的插件不是通过System Bundle去安装和启动,而是通过TPF去安装和启动的。
对于远程管理方面的话,穿越防火墙仍然是http较为方便,而目前tpf采取的也是http的方式。  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2006-08-19 17:28 BlueDavy

感谢robbie和leowu指出的错误,为了避免图给大家造成的误解,重新画了图,并增加了一个简单的时序图来说明下在安装TPF后对Equinox产生的影响。  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2006-08-24 22:06 guangqing

我的理解是这样,TPF是一个web化的增强的Equinox的console,同时提供了对对于console的远程管理。那么我想问,console中管理的是不是都是在同一个JVM中运行的bundle,远程节点之间的bundle又可不可以交互呢?
我对OSGi了解不多,总感觉它讲的都是在同一个JVM的情况(也许是由于它的原始需求决定的),我不知道它可不可以解决远程服务相互交互的情况,解决这个问题好像并不是一件难事?  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2006-08-25 11:31 BlueDavy

远程服务交互的话需要引入WebService,OSGI规范中目前只有硬件方面的远程互通的协议。  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2007-09-07 16:09 huangmy

BlueDavy 。不知道你能不能把TPF开源,谢谢  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2007-09-08 23:48 BlueDavy

@huangmy
TPF在今年年内一定会开源的,目前在做一些准备工作,最快的话可以在十月份完成开源的工作,多谢你的关注!
  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2009-05-13 09:29 疯狂的奶瓶

这张图表达出了在安装上TPF Bundles后,其他App Bundles的生命周期包括启动顺序等是由TPF Bundles来控制,而不再是通过Equinox直接控制了,此时TPF Bundles和Equinox共同构成了系统的微核。


这么说,当TPF启动后,equinox就退休了,此时不就是"基于"TPF了吗?  回复   更多评论   

#   re: 基于Eclipse Equinox的插件框架:TPF 2009-12-14 13:17 sjrfox

请问能给一个下载的有效连接吗??谢谢  回复   更多评论

分享到:
评论

相关推荐

    基于Eclipse的Equinox框架开发OSGi Bundle应用

    【标题】基于Eclipse的Equinox框架开发OSGi Bundle应用 在Java世界中,OSGi(Open Services Gateway Initiative)是一种模块化系统,它允许开发者创建可独立更新和依赖管理的模块,即Bundle。Eclipse的Equinox是...

    eclipse-equinox-3.4.2.zip

    在Eclipse IDE中,Equinox是默认的运行时环境,它基于OSGi规范,为插件开发提供了一个灵活且模块化的系统。让我们深入探讨Eclipse Equinox 3.4.2版本中的关键知识点。 1. OSGi(Open Service Gateway Initiative)...

    TFS插件 基于Eclipse的控制插件TFS

    安装插件的最简单方式是在myeclipse安装目录下的configuration\org.eclipse.equinox.simpleconfigurator目录下面的bundles.info文件里面按照格式添加插件信息如: 要求格式:包名,版本号,文件路经,4,false...

    swt.jar org.eclipse.equinox.common_3.6.0.v20110523.jar

    `org.eclipse.equinox.common`是Equinox框架的核心组件之一,它提供了一些通用的服务,如配置管理、日志记录、线程池等,是构建Eclipse插件和其他基于OSGi的应用的基础。 在Java开发中,这两个库通常用于创建桌面...

    org.eclipse.equinox

    org.eclipse.equinox.executable org.eclipse.equinox.launcher org.eclipse.osgi org.eclipse.osgi.tests 另加几篇分析的文章

    org.eclipse.equinox.p2.examples.rcp.cloud.rar

    org.eclipse.equinox.p2.examples.rcp.cloud.rarorg.eclipse.equinox.p2.examples.rcp.cloud.rarorg.eclipse.equinox.p2.examples.rcp.cloud.rar

    org.eclipse.equinox.launcher.win32.win32.x86_64.jar

    Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我,

    深入理解OSGi:Equinox原理、应用与最佳实践.pdf

    例如,Eclipse IDE就是基于OSGi框架构建的,它允许开发者动态地添加、卸载插件而不需要重启整个开发环境。在企业应用中,OSGi可以用来构建服务网关或者中间件,以支持微服务架构。 由于OSGi提供了一个严格的模块化...

    Eclipse以上版本的插件安装方法

    - `configuration/org.eclipse.equinox.simpleconfigurator/bundles.info`记录了插件的位置信息。 - `p2`目录则保存了更多关于初始化的信息。 通过恢复这两个目录至初始状态,可以有效地重置Eclipse,使其恢复到未...

    神州数码 Eclipse插件开发面试

    Eclipse基于OSGi(Open Service Gateway Initiative)框架构建,采用模块化设计,每个模块称为插件。这些插件通过API进行交互,形成了一个可扩展的生态系统。了解OSGi的基本概念和生命周期是插件开发的基础。 二、...

    深入理解OSGi:Equinox原理、应用与最佳实践源代码+equinox-SDK-3.8源代码

    OSGi(Open Services Gateway Initiative)是一种开放标准...通过这本书和源代码的学习,开发者可以深入理解OSGi和Equinox的工作原理,掌握如何构建、管理和维护基于OSGi的复杂Java应用程序,提升软件设计和开发能力。

    org.eclipse.equinox.p2.examples.rcp.sdkui.rar

    标题中的"org.eclipse.equinox.p2.examples.rcp.sdkui.rar"是一个压缩文件,它包含了Eclipse Equinox P2的一个示例,专门针对基于RCP(Rich Client Platform)的应用程序的软件开发工具包(SDK)用户界面。...

    eclipse权威开发指南2光盘(插件开发部分代码)

    6. **RCP(Rich Client Platform)**:Eclipse RCP是一个用于构建桌面应用程序的框架,它基于Eclipse插件系统。通过RCP,开发者可以快速构建功能丰富的跨平台应用程序。 7. **Equinox**:Eclipse的运行时环境,是...

    自己开发的OSGi Web Console

    1、自己开发的OSGi Web Console,适用于实现了OSGi规范的Equinox、Felix等开源框架,可在web界面上启动、停止OSGi Framework,启动、停止、装载、卸载bundles。当切换成其他OSGi开源框架时,只需在把lib下面的jar...

    深入理解OSGi:Equinox原理、应用与最佳实践

    Eclipse Equinox是Eclipse基金会提供的一个OSGi实现,它是Eclipse平台的核心组成部分之一。Equinox不仅支持OSGi的核心功能,还提供了额外的服务和API,使得开发人员能够更方便地利用OSGi的优势构建复杂的应用程序。...

Global site tag (gtag.js) - Google Analytics