- 浏览: 1141121 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
这个框架的简称为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):
对于基于Equinox的系统而言,只需要安装上TPF的Bundle,便可拥有TPF提供的方便了:
通过TPF可更加方便的对插件进行安装、管理(停止、更新、启动);
可以对插件的元信息(MANIFEST.MF)以及插件外带的一些配置文件的信息进行直接的修改,同时更是提供了更为方便的设置插件启动顺序的方法以及更加形象标明插件作用的插件名的设置的功能;
微核系统的特征,可统一启动或停止系统中的插件,方便了对于用户而言的管理功能。
从这些特性上可以看出,在Equinox中安装了TPF的几个Bundle后,就可以更加方便的对插件进行管理了,同时也可以形象的感觉到微核系统的特 征,即不论系统处于启动还是停止状态,只要微核运行是正常的,那么系统就可以通过微核来进行管理、扩充功能以及修改功能的,而微核通常来讲都是非常稳定 的,在拥有这样特征的系统中,形象的说就是可以在项目开始的第一天在客户处部署一个系统,从此以后无论是更新版本还是如何,系统都是永远保持在运行状态 的。
2、增强的管理特性
在TPF中除了上面所说的一些插件管理功能的提升之外,最重要的就是增加了对远程同样基于TPF系统的监控,在TPF中可以监控远程TPF系统的运行状态,同时还可对远程的TPF系统进行启动、停止的管理动作。
TPF 由三个Bundle共同构成,基于tpf.core可以实现其他方式的管理端,如client UI方式的管理端,JMX管理端等;tpf.webshell这个Bundle则提供了目前看到的web管理的方式,如不需要web管理则直接不安装这个 bundle就可以了或停止这个bundle(在需要的时候启动就可以了);tpf.api提供了管理远程TPF的接口,如不需要远程管理,也可不安装这 个bundle或停止这个bundle。
为了能更加清楚的说明TPF带来的影响,画了张简单的时序图:
这张图表达出了在安装上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
发表评论
-
关于Felix Log Service
2012-12-07 16:44 1551OSGi服务纲要规范中定义了服务于OSGi平台的通用日志服 ... -
Maven 3 Felix 4 Eclipse 的搭建与部署(部分转载自别人文章)
2012-10-18 10:24 20204.1.开发环境搭建 4.2开发工具 Maven 3 F ... -
【绝对路径】OSGi环境中获取Plugin/Bundle中文件资源的绝对路径
2012-10-08 10:53 2438摘要:在进行Eclipse RCP开发的过程中,需要使用一 ... -
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
2012-09-21 17:46 1412随着OSGi/Equinox逐渐成为Java EE服务端的基础 ... -
OSGi技术在Java Web开发中的应用
2012-09-20 11:26 1399随着 Java SE 对模块化功能原生支持的一再推迟(据最 ... -
OSGI典型的应用案例
2012-09-20 11:26 1618OSGI典型的应用案例主要有两个:分别是Eclipse和BMW ... -
OSGi特点
2012-09-20 11:26 12361、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1041不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1218registerResources()方法详解 1、简介 ... -
在equinox环境开发web应用的"利器" -- 序
2012-09-19 17:05 1352在equinox环境中开发web应用必须要借助一些工具包提供的 ... -
equinox环境下web应用资源的部署
2012-09-19 17:04 1290osgi的equinox实现环境下,web服务器和web应用都 ... -
OSGi产生的背景--在繁荣的混乱之中走出困惑
2012-09-19 16:58 1151软件的复杂性正在以惊 ... -
将web容器置于OSGi框架下进行web应用的开发
2012-09-16 14:26 3528将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2012-09-16 14:26 1321Eclipse为开发OSGI Bundle提供了良好的支持,它 ... -
【第一代服务注册形式】 - 将一个Bundle注册为服务
2012-09-14 10:09 11421、创建业务接口类及其实现类 Java代码 ... -
Declarative Services规范简介及应用
2012-09-14 10:08 1405Declarative Services 是一 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2012-09-14 10:07 13211、文件目录如下: F:\study_osgi ... -
服务工厂 - Bundle消费者返回不同的服务对象
2012-09-14 10:03 1202一般情况下,服务对象在注册后,任何其它的Bundle在请求 ... -
服务跟踪(ServiceTracker)
2012-09-14 09:58 1148当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1542OSGi Core定义了一个服务层,提供了一个Bundl ...
相关推荐
【标题】基于Eclipse的Equinox框架开发OSGi Bundle应用 在Java世界中,OSGi(Open Services Gateway Initiative)是一种模块化系统,它允许开发者创建可独立更新和依赖管理的模块,即Bundle。Eclipse的Equinox是...
在Eclipse IDE中,Equinox是默认的运行时环境,它基于OSGi规范,为插件开发提供了一个灵活且模块化的系统。让我们深入探讨Eclipse Equinox 3.4.2版本中的关键知识点。 1. OSGi(Open Service Gateway Initiative)...
安装插件的最简单方式是在myeclipse安装目录下的configuration\org.eclipse.equinox.simpleconfigurator目录下面的bundles.info文件里面按照格式添加插件信息如: 要求格式:包名,版本号,文件路经,4,false...
`org.eclipse.equinox.common`是Equinox框架的核心组件之一,它提供了一些通用的服务,如配置管理、日志记录、线程池等,是构建Eclipse插件和其他基于OSGi的应用的基础。 在Java开发中,这两个库通常用于创建桌面...
org.eclipse.equinox.executable org.eclipse.equinox.launcher org.eclipse.osgi org.eclipse.osgi.tests 另加几篇分析的文章
org.eclipse.equinox.p2.examples.rcp.cloud.rarorg.eclipse.equinox.p2.examples.rcp.cloud.rarorg.eclipse.equinox.p2.examples.rcp.cloud.rar
Eclipse-plugins 插件,eclipse 各种插件 .jar 包,免费下载 eclipse202106 -plugins 各种插件 .jar 包,免费下载 如果下载不了,关注我,评论区联系我,
例如,Eclipse IDE就是基于OSGi框架构建的,它允许开发者动态地添加、卸载插件而不需要重启整个开发环境。在企业应用中,OSGi可以用来构建服务网关或者中间件,以支持微服务架构。 由于OSGi提供了一个严格的模块化...
- `configuration/org.eclipse.equinox.simpleconfigurator/bundles.info`记录了插件的位置信息。 - `p2`目录则保存了更多关于初始化的信息。 通过恢复这两个目录至初始状态,可以有效地重置Eclipse,使其恢复到未...
Eclipse基于OSGi(Open Service Gateway Initiative)框架构建,采用模块化设计,每个模块称为插件。这些插件通过API进行交互,形成了一个可扩展的生态系统。了解OSGi的基本概念和生命周期是插件开发的基础。 二、...
OSGi(Open Services Gateway Initiative)是一种开放标准...通过这本书和源代码的学习,开发者可以深入理解OSGi和Equinox的工作原理,掌握如何构建、管理和维护基于OSGi的复杂Java应用程序,提升软件设计和开发能力。
标题中的"org.eclipse.equinox.p2.examples.rcp.sdkui.rar"是一个压缩文件,它包含了Eclipse Equinox P2的一个示例,专门针对基于RCP(Rich Client Platform)的应用程序的软件开发工具包(SDK)用户界面。...
6. **RCP(Rich Client Platform)**:Eclipse RCP是一个用于构建桌面应用程序的框架,它基于Eclipse插件系统。通过RCP,开发者可以快速构建功能丰富的跨平台应用程序。 7. **Equinox**:Eclipse的运行时环境,是...
1、自己开发的OSGi Web Console,适用于实现了OSGi规范的Equinox、Felix等开源框架,可在web界面上启动、停止OSGi Framework,启动、停止、装载、卸载bundles。当切换成其他OSGi开源框架时,只需在把lib下面的jar...
Eclipse Equinox是Eclipse基金会提供的一个OSGi实现,它是Eclipse平台的核心组成部分之一。Equinox不仅支持OSGi的核心功能,还提供了额外的服务和API,使得开发人员能够更方便地利用OSGi的优势构建复杂的应用程序。...