- 浏览: 587543 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (188)
- java (14)
- web (14)
- web service (3)
- 杂谈 (14)
- Version Control (13)
- software test (30)
- linux (17)
- database (3)
- distributed storage and computing (1)
- ejb (7)
- project building (46)
- spring & IOC (2)
- Thread (2)
- xml (2)
- tool software (0)
- [网站分类]1.网站首页原创Java技术区(对首页文章的要求: 原创、高质量、经过认真思考并精心写作。BlogJava管理团队会对首页的文章进行管理。) (0)
- project manager (9)
- OSGI (1)
- nosql (3)
最新评论
-
sp42:
好搞笑
你懂不懂xml! (2) -
cherishmmo2004:
感觉你们都很牛掰,我们做的一个运维平台也是用karaf的,用k ...
基于osgi开发大型的企业应用 -
liubey:
“自作聪明”的使用了读写锁,其实只使用ReentrantLoc ...
编码最佳实践(4)--小心LinkedHashMap的get()方法 -
liubey:
你这个代码是sublist后仍然一直持有这个sub的引用,一般 ...
编码最佳实践(5)--小心!这只是冰山一角 -
xiegqooo:
初学maven(5)-使用assembly plugin实现自定义打包
前端时间认真的学习了一下osgi相关的知识,个人感觉是非常的不错。
但是看了一下目前osgi的时候,几个成功案例都是基于osgi开发ide,比如eclipse之类。还没有看到用于企业应用的成功案例,是osgi不适合开发企业应用?还是说,目前没有人这样开始使用osgi?或者只是我孤陋寡闻,其实大家已经用开了?
顺便说明一下为什么有这种的疑问,这个要冲java开发application的方式说起,我接触过的无非是两种:
1. 简单的j2se的application
就是自己写代码,编译打包,然后写一个命令行脚本或者shell,通过java 和main class启动java进程,里面爱干嘛干嘛。
好处是简单,小巧,灵活,没有额外的负载。缺点嘛,没有模块化的支持,想安装,卸载,启动,停止,更新其中部分功能时,完全没辙,只能整个退出,更新之后重启启动。不过对于小程序倒不是问题,大型系统就不大可能了。
这个是轻量级的解决方法。
2. 大而全的app server
这个就是标准的j2ee,weblogic,glassfish,jboss之类的都是了,提供标准的j2ee容器,完整的j2ee支持,诸如ejb之类,总之什么都有了。自己写代码,打包为app,通过ear,war等方式发布,对其中的任何一个app,安装,卸载,启动,停止都是可以通过控制台搞定的。
很强大,但是很“重“,非常的重,像我在的团队,目前开发的东东,启动起来什么不跑就吃了1g内存......
这个方案会带来一个问题,当模块被打包在不同ear中时,无法使用java的方法调用,只能通过ejb,或者自己开端口等方式进行远程调用。效率方面不好,而且感觉也挺傻的:同一个机器同一个进程,彼此直接访问还要走远程......在weblogic上可以通过将功能模块打包在同一个ear中,开启 ejb的local call优化为本地访问,但是限制是只能在一个ear中,这又破坏了模块化。
从个人爱好和经历来说,我喜欢第一种方式的轻巧,比较讨厌2的笨重。但是1的缺点也很明显,当程序大到一定程度,功能模块越来越多的情况下,就不适用了。上面的例子,那个启动就吃1g内存的家伙,它的java project现在都超过200个了,可以想象有多大吗?如果用1的方式来开发,根本不可能啊。
再有就是个人审美观的问题,我这个人生性比较反感庞大而复杂的东西,可以说j2ee 容器/ejb(尤其是ejb3.0以前)是完全违背我的美感的,虽然我现在靠这个吃饭,恩,似乎有点偏激......
所以现在想看看有没有第三条路可以走(恩,当然工作方面2是肯定无法避免的了),我自己现在想到解决方案就是基于osgi,将不同的功能模块划分为不同的 bundle(当然可以继续按照service细分)。这就避免了1原有的最大不足:无法划分模块来适用和管理,同时也绕开了app server这个大块头。
稍后准备按照这个思路来开发一个application来练练手,试试可行性如何。比较看好这个思路的前景,但是目前没有信心,呵呵,主要是没有看到类似的案例,不知道该怎么着手,更别提什么最佳实践之类的可供参考。
颇有摸石头过河的感觉,有朋友可以帮忙指点一二吗?网上可以找到的osgi的内容,基本都停留在简单介绍和高度评价上,没有找到实际的可供参考的东西。哪位同学如有osgi方面的知识请不吝赐教,不胜感激啊!
非常有诚意的希望能有人和我一起深入探讨这个话题,无论是赞成还是反对.
ps: 因为在标题中有“请教”的字眼,被自动转移到问答频道了。我想了一下,我发这个帖子的主要目的还是为了可以找人讨论,而不是一个简单的问答。因此厚颜将请教二字从标题中去除后再发贴一次,
这个不敢苟同,osgi已经足够成熟了,只是它设计的初衷不是针对企业开发,所以目前迁移到企业开发时遇到比较多的问题。至少在ide,app server基本是不二选择,怎么至少给出“无用”的评价。
不好意思,我说的那句话过于简略了。其实我想说的是,osgi用在企业开发中还不够成熟。不成熟所以应用困难,所以难推广,也就是“无用”了。
不知道你们在Karaf基础上做了哪些改进,我们公司的Fuse ESB也是基于Karaf的,有空可以聊一聊。
我们重构了声明式服务,重构了日志服务,重构了热部署,定义了部署框架,现在可以部署war包,还可以随时扩展新的部署器、定义了协议处理器框架,定义了web容器框架同时集成了tomcat和jetty,并开发了dservice容器、集成opensso、集成数据源事物等等,下一步要重构karaf的内核
目前我们开源的只是微内核框架,以后会陆续开源所有的源码!
不知道你说的重构主要做了那方面的工作。
据我所知你上面提到的大部分功能 都是由karaf是通过pax-xxx 来实现的。
dservice容器、集成opensso、集成数据源事物, 这几个功能到是有点意思。
我现在有个问题就是如果Karaf升级了,你们的微内核框架需要做多大的修改才能使用新版本的Karaf.
这个不敢苟同,osgi已经足够成熟了,只是它设计的初衷不是针对企业开发,所以目前迁移到企业开发时遇到比较多的问题。至少在ide,app server基本是不二选择,怎么至少给出“无用”的评价。
不知道你们在Karaf基础上做了哪些改进,我们公司的Fuse ESB也是基于Karaf的,有空可以聊一聊。
我们重构了声明式服务,重构了日志服务,重构了热部署,定义了部署框架,现在可以部署war包,还可以随时扩展新的部署器、定义了协议处理器框架,定义了web容器框架同时集成了tomcat和jetty,并开发了dservice容器、集成opensso、集成数据源事物等等,下一步要重构karaf的内核
目前我们开源的只是微内核框架,以后会陆续开源所有的源码!
扯淡,没有osgi,硬件成本和部署成本都不知道被吃掉多少,开发还得忍受沟通和协调的无尽的折磨。
有没有什么公开的可供参考的资料啊?
还没有应用到WEB项目中, blueDavy在淘宝
no,no,我不大关心WEB项目的。。。。
blueDavy的大名早就知道了,我就是从看他的opendoc和书开始学osgi的。
2010年,可能会有比较大的突破吧,现在都在尝试,blueDavy主管的项目,已经是基于了OSGI开发的,是个高性能通信的框架
有没有什么公开的可供参考的资料啊?
还没有应用到WEB项目中, blueDavy在淘宝
no,no,我不大关心WEB项目的。。。。
blueDavy的大名早就知道了,我就是从看他的opendoc和书开始学osgi的。
有没有什么公开的可供参考的资料啊?
还没有应用到WEB项目中, blueDavy在淘宝
有没有什么公开的可供参考的资料啊?
对于商业项目,风险的确是一个非常重要的考虑,目前情况下全面转向osgi是非常需要自信和勇气的。
不过对于个人而言,练练手还是不错
熟悉之后以后也许就用的上,我个人感觉模块化和面向service应该会是未来java企业开发的发展方向,所以提前尝试一下按照这种思路来设计规划系统,希望能从这个过程中学习到一些新的东西。
但是看了一下目前osgi的时候,几个成功案例都是基于osgi开发ide,比如eclipse之类。还没有看到用于企业应用的成功案例,是osgi不适合开发企业应用?还是说,目前没有人这样开始使用osgi?或者只是我孤陋寡闻,其实大家已经用开了?
顺便说明一下为什么有这种的疑问,这个要冲java开发application的方式说起,我接触过的无非是两种:
1. 简单的j2se的application
就是自己写代码,编译打包,然后写一个命令行脚本或者shell,通过java 和main class启动java进程,里面爱干嘛干嘛。
好处是简单,小巧,灵活,没有额外的负载。缺点嘛,没有模块化的支持,想安装,卸载,启动,停止,更新其中部分功能时,完全没辙,只能整个退出,更新之后重启启动。不过对于小程序倒不是问题,大型系统就不大可能了。
这个是轻量级的解决方法。
2. 大而全的app server
这个就是标准的j2ee,weblogic,glassfish,jboss之类的都是了,提供标准的j2ee容器,完整的j2ee支持,诸如ejb之类,总之什么都有了。自己写代码,打包为app,通过ear,war等方式发布,对其中的任何一个app,安装,卸载,启动,停止都是可以通过控制台搞定的。
很强大,但是很“重“,非常的重,像我在的团队,目前开发的东东,启动起来什么不跑就吃了1g内存......
这个方案会带来一个问题,当模块被打包在不同ear中时,无法使用java的方法调用,只能通过ejb,或者自己开端口等方式进行远程调用。效率方面不好,而且感觉也挺傻的:同一个机器同一个进程,彼此直接访问还要走远程......在weblogic上可以通过将功能模块打包在同一个ear中,开启 ejb的local call优化为本地访问,但是限制是只能在一个ear中,这又破坏了模块化。
从个人爱好和经历来说,我喜欢第一种方式的轻巧,比较讨厌2的笨重。但是1的缺点也很明显,当程序大到一定程度,功能模块越来越多的情况下,就不适用了。上面的例子,那个启动就吃1g内存的家伙,它的java project现在都超过200个了,可以想象有多大吗?如果用1的方式来开发,根本不可能啊。
再有就是个人审美观的问题,我这个人生性比较反感庞大而复杂的东西,可以说j2ee 容器/ejb(尤其是ejb3.0以前)是完全违背我的美感的,虽然我现在靠这个吃饭,恩,似乎有点偏激......
所以现在想看看有没有第三条路可以走(恩,当然工作方面2是肯定无法避免的了),我自己现在想到解决方案就是基于osgi,将不同的功能模块划分为不同的 bundle(当然可以继续按照service细分)。这就避免了1原有的最大不足:无法划分模块来适用和管理,同时也绕开了app server这个大块头。
稍后准备按照这个思路来开发一个application来练练手,试试可行性如何。比较看好这个思路的前景,但是目前没有信心,呵呵,主要是没有看到类似的案例,不知道该怎么着手,更别提什么最佳实践之类的可供参考。
颇有摸石头过河的感觉,有朋友可以帮忙指点一二吗?网上可以找到的osgi的内容,基本都停留在简单介绍和高度评价上,没有找到实际的可供参考的东西。哪位同学如有osgi方面的知识请不吝赐教,不胜感激啊!
非常有诚意的希望能有人和我一起深入探讨这个话题,无论是赞成还是反对.
ps: 因为在标题中有“请教”的字眼,被自动转移到问答频道了。我想了一下,我发这个帖子的主要目的还是为了可以找人讨论,而不是一个简单的问答。因此厚颜将请教二字从标题中去除后再发贴一次,

评论
56 楼
javaonejcy
2010-02-03
skydream 写道
javaonejcy 写道
对应用过于复杂的技术就是无用的技术。osgi离成熟尙远。
这个不敢苟同,osgi已经足够成熟了,只是它设计的初衷不是针对企业开发,所以目前迁移到企业开发时遇到比较多的问题。至少在ide,app server基本是不二选择,怎么至少给出“无用”的评价。
不好意思,我说的那句话过于简略了。其实我想说的是,osgi用在企业开发中还不够成熟。不成熟所以应用困难,所以难推广,也就是“无用”了。
55 楼
jnn
2010-02-03
liu_swei 写道
jnn 写道
liu_swei 写道
目前国外很多开源的应用服务器都开始转向osgi了,比如:glassfish、jonas、geronimo、spring-dm、spring-osgi、pax-web等,我们目前做的是开发微内核集成框架,用的内核是karaf,karaf是felix的子项目,项目是开源的,大家感兴趣可以申请加入来为国产中间件做一份贡献:
http://www.trustie.net/projects/project/show/loong
http://www.trustie.net/projects/project/show/loong
不知道你们在Karaf基础上做了哪些改进,我们公司的Fuse ESB也是基于Karaf的,有空可以聊一聊。
我们重构了声明式服务,重构了日志服务,重构了热部署,定义了部署框架,现在可以部署war包,还可以随时扩展新的部署器、定义了协议处理器框架,定义了web容器框架同时集成了tomcat和jetty,并开发了dservice容器、集成opensso、集成数据源事物等等,下一步要重构karaf的内核
目前我们开源的只是微内核框架,以后会陆续开源所有的源码!
不知道你说的重构主要做了那方面的工作。
据我所知你上面提到的大部分功能 都是由karaf是通过pax-xxx 来实现的。
dservice容器、集成opensso、集成数据源事物, 这几个功能到是有点意思。
我现在有个问题就是如果Karaf升级了,你们的微内核框架需要做多大的修改才能使用新版本的Karaf.
54 楼
hatedance
2010-02-03
说到“企业开发”,我目前从事这个行业。我觉得企业开发和互联网开发不同,一般的企业开发对技术要求低,对超大并发量也没什么要求,不需要华丽的界面。说起来似乎没什么技术含量,当然它的特点是围绕多变的业务,结合工作流,基于数据库,界面基本以表单为主。
我很希望做企业开发的同学们能一起搞个圈子,共同交流。
我很希望做企业开发的同学们能一起搞个圈子,共同交流。
53 楼
skydream
2010-02-03
javaonejcy 写道
对应用过于复杂的技术就是无用的技术。osgi离成熟尙远。
这个不敢苟同,osgi已经足够成熟了,只是它设计的初衷不是针对企业开发,所以目前迁移到企业开发时遇到比较多的问题。至少在ide,app server基本是不二选择,怎么至少给出“无用”的评价。
52 楼
javaonejcy
2010-02-02
对应用过于复杂的技术就是无用的技术。osgi离成熟尙远。
51 楼
liu_swei
2010-02-02
jnn 写道
liu_swei 写道
目前国外很多开源的应用服务器都开始转向osgi了,比如:glassfish、jonas、geronimo、spring-dm、spring-osgi、pax-web等,我们目前做的是开发微内核集成框架,用的内核是karaf,karaf是felix的子项目,项目是开源的,大家感兴趣可以申请加入来为国产中间件做一份贡献:
http://www.trustie.net/projects/project/show/loong
http://www.trustie.net/projects/project/show/loong
不知道你们在Karaf基础上做了哪些改进,我们公司的Fuse ESB也是基于Karaf的,有空可以聊一聊。
我们重构了声明式服务,重构了日志服务,重构了热部署,定义了部署框架,现在可以部署war包,还可以随时扩展新的部署器、定义了协议处理器框架,定义了web容器框架同时集成了tomcat和jetty,并开发了dservice容器、集成opensso、集成数据源事物等等,下一步要重构karaf的内核
目前我们开源的只是微内核框架,以后会陆续开源所有的源码!
50 楼
shijiyu
2010-02-02
希望楼主在研究的过程当中 与我们分享经验哈
49 楼
newlife111
2010-02-02
defrag_sly 写道
听说淘宝网是OSGI架构
扯淡,没有osgi,硬件成本和部署成本都不知道被吃掉多少,开发还得忍受沟通和协调的无尽的折磨。
48 楼
pufan
2010-02-02
可以做PAAS呀,试想:
1)前台Swing(SWT)架构,自动升级插件,富客户端完美用户体验。
2)后台可根据用户需求定制bundle,热插拔,随改随上线。
All in java,开发速度与产品竞争力兼得,嘿嘿。
1)前台Swing(SWT)架构,自动升级插件,富客户端完美用户体验。
2)后台可根据用户需求定制bundle,热插拔,随改随上线。
All in java,开发速度与产品竞争力兼得,嘿嘿。
47 楼
yefeng
2010-02-02
skydream 写道
yefeng 写道
skydream 写道
defrag_sly 写道
听说淘宝网是OSGI架构
有没有什么公开的可供参考的资料啊?
还没有应用到WEB项目中, blueDavy在淘宝
no,no,我不大关心WEB项目的。。。。
blueDavy的大名早就知道了,我就是从看他的opendoc和书开始学osgi的。
2010年,可能会有比较大的突破吧,现在都在尝试,blueDavy主管的项目,已经是基于了OSGI开发的,是个高性能通信的框架
46 楼
hzh0725
2010-02-02
SeviceMix 4就是基于osgi开发的,大家可以看看他的代码
45 楼
yuanyi_wang
2010-02-02
再说个个人感觉,呵呵
做OSGI前,前确定你真的需要插件机制吗?各个插件之间真的能相互隔离吗?
插件可以分为基础插件和非基础插件,基础插件就是不启动这几个插件,系统就无法运行;其他插件之间就应该是可以相互隔离的了。
如果你所有的插件间,都是互相依赖的,那还是算了吧,直接用传统的也许更简单。
当然,如果你想单独升级,插件之间的通信是异步的,用OSGI还是有用的,但是设计目的(目标)就不一样了。
做OSGI前,前确定你真的需要插件机制吗?各个插件之间真的能相互隔离吗?
插件可以分为基础插件和非基础插件,基础插件就是不启动这几个插件,系统就无法运行;其他插件之间就应该是可以相互隔离的了。
如果你所有的插件间,都是互相依赖的,那还是算了吧,直接用传统的也许更简单。
当然,如果你想单独升级,插件之间的通信是异步的,用OSGI还是有用的,但是设计目的(目标)就不一样了。
44 楼
hatedance
2010-02-02
我看osgi是个好东西,但凡事都有代价。
一个插件系统,首先就是允许你选择可加载的插件(所谓disable/enable),然后更进一步允许动态启动/停止/升级。
普通的插件系统就已经如此强大了,osgi则更进一步,把插件体系做得更灵活,允许自定义扩展点。这一点对于ide这样的应用显然是很有价值的。但对于我们通常的应用场合,一般不需要,比如不需要为插件再定义几个扩展点,然后再定义几个插件。总之,那是一种树型的结构,插件依赖插件。
我想大部分人对普通的插件系统已经很满意了,就像firefox的插件系统。插件之间反正也没什么关系。比如传统的企业应用,我们只要把一个表单作为一个插件,对应一个菜单项即可。
但无论是firefox还是eclipse,只要你升级了一个插件,都强烈建议你你重启整个系统。虽然eclipse号称是osgi的。
一个插件系统,首先就是允许你选择可加载的插件(所谓disable/enable),然后更进一步允许动态启动/停止/升级。
普通的插件系统就已经如此强大了,osgi则更进一步,把插件体系做得更灵活,允许自定义扩展点。这一点对于ide这样的应用显然是很有价值的。但对于我们通常的应用场合,一般不需要,比如不需要为插件再定义几个扩展点,然后再定义几个插件。总之,那是一种树型的结构,插件依赖插件。
我想大部分人对普通的插件系统已经很满意了,就像firefox的插件系统。插件之间反正也没什么关系。比如传统的企业应用,我们只要把一个表单作为一个插件,对应一个菜单项即可。
但无论是firefox还是eclipse,只要你升级了一个插件,都强烈建议你你重启整个系统。虽然eclipse号称是osgi的。
43 楼
skydream
2010-02-02
yefeng 写道
skydream 写道
defrag_sly 写道
听说淘宝网是OSGI架构
有没有什么公开的可供参考的资料啊?
还没有应用到WEB项目中, blueDavy在淘宝
no,no,我不大关心WEB项目的。。。。
blueDavy的大名早就知道了,我就是从看他的opendoc和书开始学osgi的。
42 楼
yefeng
2010-02-02
skydream 写道
defrag_sly 写道
听说淘宝网是OSGI架构
有没有什么公开的可供参考的资料啊?
还没有应用到WEB项目中, blueDavy在淘宝
41 楼
songfantasy
2010-02-02
关注OSGI的web开发
40 楼
wangzaixiang
2010-02-02
我们在2009年度基于OSGi重新设计了我们的自助终端服务的后台系统。技术方面,主要基于:
* OSGi
* Spring DM
* 每个业务设计成为相对隔离的服务(我们称之为交易码),每个服务对应于一个OSGi的服务,在开发上对应一个Spring POJO Bean
* 业务开发除按着OSGi的规范进行隔离、打包外,POJO本身基于Spring的DI模式,不依赖于OSGi(没有任何与OSGi直接相关的依赖)
在应用OSGi的过程中,我的感觉是:
* OSGi帮助我们更好的实现了业务的隔离和模块化设计工作。没有依赖关系是最好的关系,这个是我们的目标。
* 每个模块有更清晰的职责、更简单的依赖关系、更简单的代码、更容易进行单元测试。
* OSGi对于服务部署来说,是非常合适的一个容器。相比一个整体的软件,OSGi帮助我们更好的实施服务。
* 基本上,OSGi在我们的项目中,没有给我们的开发带来额外的开销。不过,单元测试方面,大部分的单元测试都需要在容器内进行,更麻烦一些。这个可能与我们现在的开发方式有关系。后续可能需要再改进。
总的说来,感觉Spring DM与OSGI相结合是一个很佳的选择,基本上可以实现业务代码与OSGi本身的隔离。
* OSGi
* Spring DM
* 每个业务设计成为相对隔离的服务(我们称之为交易码),每个服务对应于一个OSGi的服务,在开发上对应一个Spring POJO Bean
* 业务开发除按着OSGi的规范进行隔离、打包外,POJO本身基于Spring的DI模式,不依赖于OSGi(没有任何与OSGi直接相关的依赖)
在应用OSGi的过程中,我的感觉是:
* OSGi帮助我们更好的实现了业务的隔离和模块化设计工作。没有依赖关系是最好的关系,这个是我们的目标。
* 每个模块有更清晰的职责、更简单的依赖关系、更简单的代码、更容易进行单元测试。
* OSGi对于服务部署来说,是非常合适的一个容器。相比一个整体的软件,OSGi帮助我们更好的实施服务。
* 基本上,OSGi在我们的项目中,没有给我们的开发带来额外的开销。不过,单元测试方面,大部分的单元测试都需要在容器内进行,更麻烦一些。这个可能与我们现在的开发方式有关系。后续可能需要再改进。
总的说来,感觉Spring DM与OSGI相结合是一个很佳的选择,基本上可以实现业务代码与OSGi本身的隔离。
39 楼
skydream
2010-02-02
defrag_sly 写道
听说淘宝网是OSGI架构
有没有什么公开的可供参考的资料啊?
38 楼
skydream
2010-02-02
yefeng 写道
应该说osgi要大规模推广,还有很多路要走,现在小搞搞不少,运用到大规模系统几乎没有,这其中有很多考虑,技术成本,学习成本,还有遇到问题的时候,解决问题的成本, 风险太大
对于商业项目,风险的确是一个非常重要的考虑,目前情况下全面转向osgi是非常需要自信和勇气的。
不过对于个人而言,练练手还是不错

37 楼
defrag_sly
2010-02-02
听说淘宝网是OSGI架构
发表评论
-
新博客网站
2014-04-22 23:26 1101开始启用新的博客网站,基于hexo,搭载在github上。 ... -
遭遇drupal keyword search模块bug,不能添加新的页面关键字
2012-07-11 08:00 2261这是个非常无聊而无奈的问题,昨晚在解决globalre ... -
解决drupal的globalrediect模块的重定向循环问题
2012-07-11 07:26 1676昨晚继续折腾俺的小站http://www.javaun ... -
Java University 网站开通过程吐糟
2012-06-24 10:40 1689折腾了两天,终于将Java University这个站 ... -
告别JE
2012-01-02 19:04 293在JE很多年了,看了很多好帖子,认识很多优秀的人。 ... -
写在qcon beijing 2011前夜
2011-04-07 22:40 1848在酒店里上网,无聊又来到je,sorry,我还是习惯这 ... -
被收购之后sun打算放弃开源社区了吗?
2010-05-09 21:41 1408对比最近遇到的两个事情,明显感觉sun有力不从心或者 ... -
sun的程序员也是程序员啊!
2010-05-05 16:48 4348依然是近期工作中发现的问题,真实案例,写下来分享给 ... -
基于java的cms系统magnolia安装试用
2010-04-04 16:33 3398最近想找个cms系统来用用,做点简单的东西,因为自己比较熟悉j ... -
一个因参数定义不合理造成的滑稽错误引发的思考
2010-04-17 10:22 1084这是一个真实案例,本周在工作中发现的,案例情况比较极端,因此显 ... -
java资源收集--开源项目
2008-10-21 15:54 1331一些看到过的java资源,包括项目,工具等,因 ... -
转:Google App Engine正式宣布支持Java!
2009-04-08 16:48 1242刚得到的消息,实验了一下可以申请成功,有兴趣的兄弟赶紧。 新 ... -
充分利用8G大内存----Ramdisk的安装设置
2009-07-05 21:23 14097日前升级内存容量到8g之后,发现在xp下因为无法全 ... -
[fun]我们的代码规模比起来还是差得远
2009-07-29 09:45 1322我们的团队 ...
相关推荐
综上所述,基于OSGi和Spring开发Web应用不仅能够充分利用OSGi的模块化优势和Spring的依赖注入机制,还能借助dmServer和SpringSource应用平台等工具,实现更加高效、灵活和可靠的企业级应用开发。
在基于OSGi和Spring开发Web应用中,OSGi(Open Services Gateway Initiative)是一个开放标准,用于创建模块化Java应用程序。它允许开发者将应用程序分解为独立的模块,称为bundle,每个bundle都包含自己的类路径、...
文章提到的实验验证了基于OSGi的分布式Web应用结构可以优化大型Web应用结构的设计,表明了这种结构在实际应用中具有可行性和优势。通过测试和研究,可以为开发者提供专业的指导和参考。 总结而言,文章深入探讨了...
**基于OSGi的Web应用开发**是现代软件开发中的一种技术实践,它允许开发者构建模块化、可扩展和可维护的Web应用。OSGi(Open Service Gateway Initiative)是一种开放的标准,提供了一种服务导向的、模块化的Java...
随着技术的发展,SpringSource应用平台进一步整合了OSGi、Spring和Apache Tomcat,提供了一个全新的应用服务器,该服务器不再遵循传统的Java EE标准,而是充分利用Spring编程模型,以及基于OSGi内核的部署和打包系统...
这样的实践对提高应用程序的可维护性和扩展性具有重要作用,也符合现代企业对于大型系统开发的需求。随着Java模块化技术的不断成熟,掌握OSGi技术将变得越来越重要,对于开发者而言,不仅是一项技能,更是职业发展的...
2. **企业级应用**:在大型企业应用中,OSGi可以帮助构建松耦合的组件,便于开发、测试和部署。 3. **IDE和工具平台**:Eclipse IDE就是一个基于OSGi的平台,其插件系统就是OSGi服务模型的体现。 四、学习资源 ...
**基于OSGi构建小例子** OSGi(Open Service Gateway Initiative)是一种Java模块化系统,它允许开发者将应用程序拆分成独立的、可管理的模块,这些模块可以动态地安装、卸载和更新,而不影响系统的其他部分。在...
在基于OSGi的RCP应用程序中,各个组件(如视图、编辑器)可以被封装为独立的OSGi bundles,这样可以实现模块化的开发和部署。开发者可以轻松地添加、更新或移除应用的特定部分,而不会影响整个应用的稳定性。此外,...
"基于osgi框架实战源码"的学习资料为开发者提供了一个宝贵的实践平台,通过实际操作可以加深对OSGi的理解,提升在大型复杂系统中的模块化开发能力。在深入学习源码的过程中,不仅要关注代码逻辑,还要理解其背后的...
【标题】基于Eclipse的Equinox框架开发OSGi Bundle应用 在Java世界中,OSGi(Open Services Gateway Initiative)是一种模块化系统,它允许开发者创建可独立更新和依赖管理的模块,即Bundle。Eclipse的Equinox是...
创建OSGi开发的jar包涉及到以下几个关键知识点: 1. **Bundle基础知识**:一个OSGi bundle本质上就是一个遵循特定规范的JAR文件,其中包含了MANIFEST.MF文件。这个文件包含了关于bundle的重要元数据,如Bundle-...
这种基于OSGi的日志管理方案以插件形式部署到应用程序中。这意味着系统管理员可以随时卸载这个OSGi插件,让应用回到使用原始的本地日志存储方式。这种方法的优点在于它的灵活性和便利性,可以根据需要快速切换日志...
例如,IBM的WebSphere Application Server和Rational Software Architecture均基于OSGi开发。 使用Eclipse开发OSGi应用非常方便,Eclipse提供了完整的工具链来支持bundle的开发、调试、部署和测试。开发者可以通过...
Java应用架构设计中,模块化模式与OSGi是两个关键概念,它们对于构建大型、可扩展且易于维护的系统至关重要。模块化模式使得代码组织更加有序,而OSGi(Open Services Gateway Initiative)则是一种实现模块化的动态...
该规范旨在提供一个灵活且可扩展的框架,支持复杂的企业级应用开发与部署。 #### 二、OSGi核心框架解析 ##### 1. 模块化架构 OSGi的核心框架基于模块化的理念设计,每个模块被称为“Bundle”。这种模块化设计使得...
3. **开发工具**:Eclipse IDE就是基于OSGi构建的,其插件系统也是OSGi的一种应用实例。 4. **云平台**:OSGi的动态性使其适合云环境中的服务部署和管理。 ### OSGi的挑战与实践: 1. **复杂性**:OSGi的模块化和...
OSGi(Open Services Gateway Initiative)是一种开放标准...通过这本书和源代码的学习,开发者可以深入理解OSGi和Equinox的工作原理,掌握如何构建、管理和维护基于OSGi的复杂Java应用程序,提升软件设计和开发能力。
至觉得用这种方式开发基于OSGi WEB应用比使用Spring DM Server更好至少目前你可以获得更好便携性(可以 在多个Spring DM支持OSGi平台上运行)并且Spring DM Server并没有提供更多企业应用支持 不过对于刚 使用Spring ...