- 浏览: 246238 次
- 性别:
- 来自: 大连
最新评论
-
di1984HIT:
不错。不错~
JIMI、JAI和ImageIO的一些感想 -
houyi521:
...
给OSGi加入数字签名及认证特性的思考 -
dsjt:
map是映射到直接内存,回收比较复杂。用堆内存缓存:
Byte ...
慎用 MappedByteBuffer! -
faint2010:
PHP这个基础本身是非持久的,你却硬要做持久层,无异于霸王硬上 ...
用PHP做ORM效率那是相当的低啊! -
wuhoufeng:
orm带来开发上的方便 但是增加性能优化上难度 所以要配合缓存 ...
用PHP做ORM效率那是相当的低啊!
最近将N久以前的项目整理了一下,发现我很早之前搁置的项目,现在已经是时机重新启动了,它就是 XMLX 项目。
XMLX项目建立之初本想使用Java的一些模块特性,来动态把XML解析成应用程序,例如图形界面等。但是当时由于没有成熟的模块机制,所涉及出来的功能模块开发时非常繁琐,直接导致入门门槛很高(主要是因为是自己设计的API,文档没有及时跟上),于是乎,就被搁置了。
如今,OSGi技术已经成熟了,使用OSGi作为XMLX的模块平台,可以说是极爽的一件事情。
对于我的想法,可以从下面的代码中展示出来:
<?xml version="1.0" encoding="utf-8"?> <!-- com.cmspad.xmla.swt 为支持SWT核心部件标记的Bundle --> <!-- com.cmspad.xmla.swt.layout 为支持SWT布局部件标记的Bundle --> <!-- com.cmspad.osgi 为系统核心功能标记,提供各种有用的功能 --> <Shell xmlns="com.cmspad.xmla.swt:(1.0.0,2.0.0]" xmlns:t="com.cmspad.osgi" xmlns:l="com.cmspad.xmla.swt.layout:1.0.0" t:id="hello" text="Hello World" style="DIALOG_TRIM,MAX,MIN" size="300,200" l:layout="grid" l:numColumns="3" defaultButton="aButton"> <button text="Button 1"/> <button text="Button 2"/> <button t:id="aButton" text="Button 3" l:horizontalAlignment="FILL" l:grabExcessHorizontalSpace="yes"/> <button text="Button 4"/> <button>Button 5</button> <button text="Button 6" l:horizontalAlignment="FILL" l:grabExcessHorizontalSpace="yes"/> </Shell>
以上的代码,用过SWT的同学应该不难理解。XML与OSGi结合之处,就是通过XML的命名空间,来区分不同Bundles的功能。
看看效果图吧:
这样,我们只要在开发相应的Bundles,就可以实现各种应用,当然,在这过程中还需要有一个API规范来指导开发。
这只是一个想法,距离完整实现还有一段时间,大家可以发表一下自己的想法和建议~~
评论
49 楼
鱼言风语
2009-09-29
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
我用Java的时间很短,也就比抄袭者.net岁数大1、2岁而已。
唉,我用Java的时间比你长耶
嘴硬什么啊,.net明明是抄袭,还在这里显摆。
你既然java有经验,就敬请发表java的看法。
这个没有什么好显摆的,微软再好跟我也没关系,我们公司靠Java混饭吃,.net再好跟我有什么关系?
我很奇怪你为何不能平心静气的讨论
我说的都是事实,我也没有否认.net向java学习,但是后来的有后发优势也是事实
我们是搞技术的,不是搞宗教的,好的就是好的,不足的就是不足,就事论事吧
引用
OSGI只是实现了部分.net framework已经实现的功能
这就是你说的事实?谁先谁后搞清楚没?照你的说法,OSGI成盗版了。
我也没工夫与你讨论.net的优劣,错了就是错了,承认不就完了吗。
我哪句话说OSGI是盗版的了?中文没学好?
我冲天发誓,你确实没说过“OSGI成盗版了”,那是我说的。
眼神不好还怨别人中文没学好,看在可能你人老昏花的份上我也不和你见识。
呵呵,没意思
48 楼
pufan
2009-09-29
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
我用Java的时间很短,也就比抄袭者.net岁数大1、2岁而已。
唉,我用Java的时间比你长耶
嘴硬什么啊,.net明明是抄袭,还在这里显摆。
你既然java有经验,就敬请发表java的看法。
这个没有什么好显摆的,微软再好跟我也没关系,我们公司靠Java混饭吃,.net再好跟我有什么关系?
我很奇怪你为何不能平心静气的讨论
我说的都是事实,我也没有否认.net向java学习,但是后来的有后发优势也是事实
我们是搞技术的,不是搞宗教的,好的就是好的,不足的就是不足,就事论事吧
引用
OSGI只是实现了部分.net framework已经实现的功能
这就是你说的事实?谁先谁后搞清楚没?照你的说法,OSGI成盗版了。
我也没工夫与你讨论.net的优劣,错了就是错了,承认不就完了吗。
我哪句话说OSGI是盗版的了?中文没学好?
我冲天发誓,你确实没说过“OSGI成盗版了”,那是我说的。
眼神不好还怨别人中文没学好,看在可能你人老昏花的份上我也不和你见识。
47 楼
鱼言风语
2009-09-29
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
我用Java的时间很短,也就比抄袭者.net岁数大1、2岁而已。
唉,我用Java的时间比你长耶
嘴硬什么啊,.net明明是抄袭,还在这里显摆。
你既然java有经验,就敬请发表java的看法。
这个没有什么好显摆的,微软再好跟我也没关系,我们公司靠Java混饭吃,.net再好跟我有什么关系?
我很奇怪你为何不能平心静气的讨论
我说的都是事实,我也没有否认.net向java学习,但是后来的有后发优势也是事实
我们是搞技术的,不是搞宗教的,好的就是好的,不足的就是不足,就事论事吧
引用
OSGI只是实现了部分.net framework已经实现的功能
这就是你说的事实?谁先谁后搞清楚没?照你的说法,OSGI成盗版了。
我也没工夫与你讨论.net的优劣,错了就是错了,承认不就完了吗。
我哪句话说OSGI是盗版的了?中文没学好?
46 楼
pufan
2009-09-29
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
我用Java的时间很短,也就比抄袭者.net岁数大1、2岁而已。
唉,我用Java的时间比你长耶
嘴硬什么啊,.net明明是抄袭,还在这里显摆。
你既然java有经验,就敬请发表java的看法。
这个没有什么好显摆的,微软再好跟我也没关系,我们公司靠Java混饭吃,.net再好跟我有什么关系?
我很奇怪你为何不能平心静气的讨论
我说的都是事实,我也没有否认.net向java学习,但是后来的有后发优势也是事实
我们是搞技术的,不是搞宗教的,好的就是好的,不足的就是不足,就事论事吧
引用
OSGI只是实现了部分.net framework已经实现的功能
这就是你说的事实?谁先谁后搞清楚没?照你的说法,OSGI成盗版了。
我也没工夫与你讨论.net的优劣,错了就是错了,承认不就完了吗。
45 楼
carydeepbreathing
2009-09-29
pufan 写道
鱼言风语 写道
说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?
ejb能不能不抄袭com+?
就是c++忒难用,才有的java的诞生,这叫创新。
ejb原来是抄com+啊,怪不得如此垃圾。
丫 太经典 了
44 楼
鱼言风语
2009-09-28
pufan 写道
鱼言风语 写道
说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?
ejb能不能不抄袭com+?
ejb原来是抄com+啊,怪不得如此垃圾。
说说历史吧,ejb曾经被多少java开发人员和公司追捧
搞技术的还是少点狂热,迷信和偏见,多点冷眼旁观吧
SUN不是上帝
43 楼
鱼言风语
2009-09-28
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
我用Java的时间很短,也就比抄袭者.net岁数大1、2岁而已。
唉,我用Java的时间比你长耶
嘴硬什么啊,.net明明是抄袭,还在这里显摆。
你既然java有经验,就敬请发表java的看法。
这个没有什么好显摆的,微软再好跟我也没关系,我们公司靠Java混饭吃,.net再好跟我有什么关系?
我很奇怪你为何不能平心静气的讨论
我说的都是事实,我也没有否认.net向java学习,但是后来的有后发优势也是事实
我们是搞技术的,不是搞宗教的,好的就是好的,不足的就是不足,就事论事吧
42 楼
yipsilon
2009-09-28
solonote 写道
C#来自J++,J++其实就是Java的微软实现.
C#也有很多Java没有的特性,所以Java也在向C#学习(委托,泛型)
语言只是用来描述程序的东西,何必又那么多孰优孰劣的争执
C#也有很多Java没有的特性,所以Java也在向C#学习(委托,泛型)
语言只是用来描述程序的东西,何必又那么多孰优孰劣的争执
没想到啊,一个想法能演变成语言之争.... !-_-
41 楼
solonote
2009-09-28
C#来自J++,J++其实就是Java的微软实现.
C#也有很多Java没有的特性,所以Java也在向C#学习(委托,泛型)
语言只是用来描述程序的东西,何必又那么多孰优孰劣的争执
C#也有很多Java没有的特性,所以Java也在向C#学习(委托,泛型)
语言只是用来描述程序的东西,何必又那么多孰优孰劣的争执
40 楼
pufan
2009-09-25
鱼言风语 写道
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
我用Java的时间很短,也就比抄袭者.net岁数大1、2岁而已。
唉,我用Java的时间比你长耶
嘴硬什么啊,.net明明是抄袭,还在这里显摆。
你既然java有经验,就敬请发表java的看法。
39 楼
pufan
2009-09-25
鱼言风语 写道
说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?
ejb能不能不抄袭com+?
就是c++忒难用,才有的java的诞生,这叫创新。
ejb原来是抄com+啊,怪不得如此垃圾。
38 楼
鱼言风语
2009-09-25
说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?
ejb能不能不抄袭com+?
37 楼
鱼言风语
2009-09-25
pufan 写道
鱼言风语 写道
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
我用Java的时间很短,也就比抄袭者.net岁数大1、2岁而已。
唉,我用Java的时间比你长耶
36 楼
鱼言风语
2009-09-25
pufan 写道
鱼言风语 写道
OSGI只是实现了部分.net framework已经实现的功能
明明是.net framework实现(copy?)了OSGI早已实现的功能。
OSGI联盟成立于1999年,那时候.net还在微软的娘肚子里吧。
鱼言风语 写道
.net framework = jdk + osgi
明明是.net framework = copy (jdk + osgi)
鱼言风语 写道
器量这么狭小吗?我可没说.net比java+osgi早出来
就你之前的那些大言不惭,在一个java论坛上,没挨板砖算幸运了。
好玩
35 楼
pufan
2009-09-25
鱼言风语 写道
OSGI只是实现了部分.net framework已经实现的功能
明明是.net framework实现(copy?)了OSGI早已实现的功能。
OSGI联盟成立于1999年,那时候.net还在微软的娘肚子里吧。
鱼言风语 写道
.net framework = jdk + osgi
明明是.net framework = copy (jdk + osgi)
鱼言风语 写道
器量这么狭小吗?我可没说.net比java+osgi早出来
就你之前的那些大言不惭,在一个java论坛上,没挨板砖算幸运了。
34 楼
pufan
2009-09-25
越来越看不明白了。
给你个建议,不要谈实现,跳出具体,上升一个层次,把需求、功能、设计(可不是详细设计)、应用场景(可不是你那个example,要更实际一些),总结一下,这样别人才有可能看的懂。
33 楼
pufan
2009-09-25
鱼言风语 写道
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
我用Java的时间很短,也就比抄袭者.net岁数大1、2岁而已。
32 楼
鱼言风语
2009-09-25
<div class="quote_title">yipsilon 写道</div>
<div class="quote_div">专门用于像UI生成等等都是具体应用,应该是Bundles做的事情,可能是之前我举了太多SWT Bundles的例子,让大家误读了,这些Bundles以后统称“应用插件”吧。
<p> </p>
</div>
<p> </p>
<p> </p>
<p>这么说就清楚了,应该是很有用途的一个框架,不过最好不要涉及UI,没必要</p>
<div class="quote_div">专门用于像UI生成等等都是具体应用,应该是Bundles做的事情,可能是之前我举了太多SWT Bundles的例子,让大家误读了,这些Bundles以后统称“应用插件”吧。
<p> </p>
</div>
<p> </p>
<p> </p>
<p>这么说就清楚了,应该是很有用途的一个框架,不过最好不要涉及UI,没必要</p>
31 楼
yipsilon
2009-09-25
<div class="quote_title">pufan 写道</div>
<div class="quote_div">
<br>不建议将UI生成与OSGI相关联,原因很简单,不够专注。你既无法与专注UI生成的JFormDesginer、Netbeans等等竞争,也将在OSGI模块化、可插拔化上丧失太多。<br><br>如果实在要做,我建议你分成两个无关的独立框架来设计:<br><br>1)一个专注于UI生成,可以用XML描述,但必须生成JAVA code(因为以个人的经验看大部分UI生成的代码都需程序员手工修改,这样做也更灵活)。框架设计前功能建议参考一下竞争对手,如果你认为没能力比他们做的好那还是放弃吧(出于兴趣练手除外)。<br>2)一个专注于基于OSGI的Swing插件应用快速程序开发(也可以包括SWT等其他实现方式)。OSGI热插拔特性我认为在桌面应用中极为重要,新插件插入,非Core插件的更新,这些都可以做到不重启应用。基于OSGI的框架设计不应仅仅包括UI机制(不是UI生成,可以为View生命周期管理、docking支持等等其他特性),Plugin机制、Resource机制、Event机制、I18N机制、异常处理机制、数据库机制、皮肤机制等等也是必不可少的。另外如果要支持企业级的CS架构开发,Net访问机制(包括数据的推与拉,还要考虑穿越防火墙)、插件自动下载与升级机制、权限机制、缓存机制甚至离线浏览机制也要必须提供。<br><br>目前框架2的swing开源实现比较少,个人认为还是可以一做的。<br>
</div>
<p> </p>
<p><span>现在说的“XML应用程序”,它是一个极抽象的概念,不仅仅可以用来实现UI。假设说如果你的Bundle是做服务器软件的,你完全可以实现出点击运行含有如下代码的文件,来启动服务器:</span></p>
<p> </p>
<pre name="code" class="xml"><server xmlns="com.yourdomain.server.plugin:1.0.0" port="12345" address="192.168.0.20">
<protocol name="http" class="com.yourdomain.server.plugin.protocols.HTTProtocol" maxWorkThreads="10"/>
</server></pre>
<p>当然,写个Swing的插件,那也可以像之前SWT演示那样显示界面了。专门用于像UI生成等等都是具体应用,应该是Bundles做的事情,可能是之前我举了太多SWT Bundles的例子,让大家误读了,这些Bundles以后统称“应用插件”吧。</p>
<p> </p>
<p>这里面我又新想出来一个方法,就是利用OSGi Fragment Bundle这个特性,还是拿UI举例子:</p>
<p> </p>
<pre name="code" class="xml"><window xmlns="com.sample.osgi.ui" size="100">
<button text="Hello World" bounds="0,0,50,20"/>
</window></pre>
<p> </p>
<p>此XML代码是很抽象的窗口构造代码,它其中包含了一个按钮,并通过SymbolicName为 com.sample.osgi.ui 的Bundle进行处理(下称“主bundle”)。</p>
<p> </p>
<p>而在处理过程中,通过如果插件库中有 com.sample.osgi.ui.swt 的Bundle,那么生成的窗口就是基于SWT的;如果有 com.sample.osgi.ui.swing 的 Bundle,那么生成的窗口就是Swing的;如果两个都有,那么...可以增加个属性来设置默认的插件,当然,如果有 com.sample.osgi.ui.web 的Bundle并在servlet容器下运行,那么它就可以在web下显示该窗体(运行原理跟RAP差不多)等等。这些假设方法的基础是利用了OSGi的Fragment Bundle特性,就像Eclipse下的SWT Bundle一样,它本身只定义了抽象的解释层,而具体实施在各种 win32、gtk等等fragment bundles中,通过操作系统来自动识别并载入相关的fragment bundle。</p>
<div class="quote_div">
<br>不建议将UI生成与OSGI相关联,原因很简单,不够专注。你既无法与专注UI生成的JFormDesginer、Netbeans等等竞争,也将在OSGI模块化、可插拔化上丧失太多。<br><br>如果实在要做,我建议你分成两个无关的独立框架来设计:<br><br>1)一个专注于UI生成,可以用XML描述,但必须生成JAVA code(因为以个人的经验看大部分UI生成的代码都需程序员手工修改,这样做也更灵活)。框架设计前功能建议参考一下竞争对手,如果你认为没能力比他们做的好那还是放弃吧(出于兴趣练手除外)。<br>2)一个专注于基于OSGI的Swing插件应用快速程序开发(也可以包括SWT等其他实现方式)。OSGI热插拔特性我认为在桌面应用中极为重要,新插件插入,非Core插件的更新,这些都可以做到不重启应用。基于OSGI的框架设计不应仅仅包括UI机制(不是UI生成,可以为View生命周期管理、docking支持等等其他特性),Plugin机制、Resource机制、Event机制、I18N机制、异常处理机制、数据库机制、皮肤机制等等也是必不可少的。另外如果要支持企业级的CS架构开发,Net访问机制(包括数据的推与拉,还要考虑穿越防火墙)、插件自动下载与升级机制、权限机制、缓存机制甚至离线浏览机制也要必须提供。<br><br>目前框架2的swing开源实现比较少,个人认为还是可以一做的。<br>
</div>
<p> </p>
<p><span>现在说的“XML应用程序”,它是一个极抽象的概念,不仅仅可以用来实现UI。假设说如果你的Bundle是做服务器软件的,你完全可以实现出点击运行含有如下代码的文件,来启动服务器:</span></p>
<p> </p>
<pre name="code" class="xml"><server xmlns="com.yourdomain.server.plugin:1.0.0" port="12345" address="192.168.0.20">
<protocol name="http" class="com.yourdomain.server.plugin.protocols.HTTProtocol" maxWorkThreads="10"/>
</server></pre>
<p>当然,写个Swing的插件,那也可以像之前SWT演示那样显示界面了。专门用于像UI生成等等都是具体应用,应该是Bundles做的事情,可能是之前我举了太多SWT Bundles的例子,让大家误读了,这些Bundles以后统称“应用插件”吧。</p>
<p> </p>
<p>这里面我又新想出来一个方法,就是利用OSGi Fragment Bundle这个特性,还是拿UI举例子:</p>
<p> </p>
<pre name="code" class="xml"><window xmlns="com.sample.osgi.ui" size="100">
<button text="Hello World" bounds="0,0,50,20"/>
</window></pre>
<p> </p>
<p>此XML代码是很抽象的窗口构造代码,它其中包含了一个按钮,并通过SymbolicName为 com.sample.osgi.ui 的Bundle进行处理(下称“主bundle”)。</p>
<p> </p>
<p>而在处理过程中,通过如果插件库中有 com.sample.osgi.ui.swt 的Bundle,那么生成的窗口就是基于SWT的;如果有 com.sample.osgi.ui.swing 的 Bundle,那么生成的窗口就是Swing的;如果两个都有,那么...可以增加个属性来设置默认的插件,当然,如果有 com.sample.osgi.ui.web 的Bundle并在servlet容器下运行,那么它就可以在web下显示该窗体(运行原理跟RAP差不多)等等。这些假设方法的基础是利用了OSGi的Fragment Bundle特性,就像Eclipse下的SWT Bundle一样,它本身只定义了抽象的解释层,而具体实施在各种 win32、gtk等等fragment bundles中,通过操作系统来自动识别并载入相关的fragment bundle。</p>
30 楼
鱼言风语
2009-09-24
pufan 写道
鱼言风语 写道
carydeepbreathing 写道
鱼言风语 写道
carydeepbreathing 写道
看不下去了。。。你们这些人不要来侮辱OSGI。。。
OSGI只是实现了部分.net framework已经实现的功能
我想请教你 osgi 跟 .net framework 有什么关系
哎 我连osgi是什么都不懂了。。。。。。。。
.net framework = jdk + osgi
你也不怕闪掉了牙,你查查Java什么时候出来的,OSGI又是什么出来的,.net除了抄袭还会什么?
这里是 Java编程和Java企业应用版,你该回哪回哪里去吧。
器量这么狭小吗?我可没说.net比java+osgi早出来
倒是想问问你什么时候开始用java做开发的
发表评论
-
给OSGi加入数字签名及认证特性的思考
2013-04-12 00:29 1701曾经我很困惑,所开发的商业软件被频频破解,促使我开始研究 ... -
把xSocket打包成OSGi Bundle了,附源代码方便大家使用。
2010-01-24 14:30 1830核心库为 xSocket 2.8.2,集成了 xSocket ... -
用 Bond(OSGi) + SWT 写的漂亮程序界面
2010-01-12 22:28 2779本系统是基于BOND(一个OSGi平台)和SWT做出来的程序, ... -
关于属性触发器(Property Trigger)的一些想法
2009-10-17 16:48 1867此灵感源自 Eclipse E4 项目的 XWT UI Tri ... -
“XML应用程序”的演示程序
2009-09-26 05:10 1044基于之前讨论的帖子,做了一个演示。大家 ... -
Fragment Bundle的实际用途
2009-04-21 15:42 4134最近在研发兼容OSGi R4.1规范的运行环境 BOND(前身 ... -
OSGi的热部署特性及实现
2009-04-04 23:58 4828很多文章里都提到了OSGi的热部署特性,但是很少有实例去演示它 ... -
正在开发MiniOSGi中型应用中...
2008-08-04 02:21 1289正在开发一套数据管理 ... -
感受PHPortlet技术的几个实用的特性
2007-11-29 14:42 1720PHPortlet技术是CMSPAD项目的重点特性之一,在MV ... -
MINI-OSGI 源代码开放了!
2007-07-27 18:32 4281大家可以到 中国Eclipse社区 里下载: http://w ... -
基于Web的OSGi框架构想
2007-01-23 06:44 6990这两天没什么事情,研究了一下RoR,粗看了一下,感觉Rub ... -
MINI OSGI 实现Layer分离开发。
2007-01-17 16:39 2225经过一段时间的改造和重构,MINI OSGi的代码已经实现La ... -
为Equinox的控制台(Console)增加自己的命令
2007-01-14 18:08 3543由于项目需要, 偶开始研究Equinox, 发 ... -
MINI OSGI 的开发计划
2006-12-31 08:18 2653跟 Blue Davy 研究了一下,已动手开发了一套基于 J ... -
刚才根据MINI OSGi的API做的一个简单的管理器。
2006-12-28 19:20 2104吃完晚饭,闲着没事儿,做了个简单的MINI OSGi管理器。用 ... -
偶也研究OSGi了之三
2006-12-28 15:21 6489经过了“偶也研究OSGi了 ... -
偶也研究OSGi了之二
2006-12-28 06:49 5788继“偶也研究OSGi了之一”之后不到12小时,偶又开始发博了, ... -
偶也研究OSGi了之一
2006-12-28 02:53 7394偶也开始研究OSGi了,这东西真不错。不过官方的OSGi标准包 ...
相关推荐
辛苦研究了一个多月,终于搭建成了一个可用于实际应用开发的OSGI-WEB框架,采用OSGi+SpringMVC+Spring+Hibernate+Virgo技术,鉴于此类技术架构甚少,特提供出来供大家参考。 使用步骤: 一、下载STS搭建Osgi开发...
OSGI(Open Services Gateway Initiative)是一种开放标准,用于创建模块化和可扩展的Java应用程序。它提供了一种灵活的框架,允许开发人员将应用程序分解为独立的模块,这些模块称为服务。OSGI的核心是它的模块系统...
OSGi(Open Services Gateway Initiative)是一种开放标准,用于创建模块化和可管理的Java应用程序。它的核心特性是基于服务的架构,允许动态发现、安装、卸载和升级软件组件,从而提高了灵活性和可维护性。OSGi技术...
9. Web 应用 bundle:Web 应用 bundle 是一个基于 OSGi 和 Spring 的 Web 应用程序,能够提供更加强大的灵活性和可靠性。 本文通过一个简单实例,介绍了如何利用 Spring-DM 开发基于 OSGi 和 Spring 架构的 Web ...
在IT行业中,OSGi(Open Services Gateway Initiative)是一种模块化软件开发框架,它允许开发者将应用程序分解为独立的、可重用的组件,称为服务。这些组件可以动态地安装、卸载和升级,无需重启应用服务器。...
在基于OSGi和Spring开发Web应用中,OSGi(Open Services Gateway Initiative)是一个开放标准,用于创建模块化Java应用程序。它允许开发者将应用程序分解为独立的模块,称为bundle,每个bundle都包含自己的类路径、...
OSGI的核心概念是服务和模块化,它的出现解决了Java应用程序的复杂性问题,使得组件之间的依赖关系更加清晰,同时也支持动态部署和更新。 在"OSGI实战"中,你将学习到如何使用OSGI来开发模块化的Java应用。实战部分...
Spring-DM,即Spring Dynamic Modules,是Spring官方在2008年推出的项目,旨在将Spring框架与OSGi模块化平台相结合,为Java开发者提供了一套全面的工具和API,以支持在OSGi环境中开发、部署和管理Spring应用程序。...
OSGI(Open Services Gateway Initiative)应用程序是一种遵循OSGi规范构建的模块化软件系统。它允许开发者将应用程序拆分成独立的、可热插拔的模块,称为服务或bundle。Eclipse Equinox是OSGI联盟规范的一个实现,...
3. **编写模块化代码**:使用OSGi API开发模块化的应用程序,并利用容器提供的服务进行交互。 4. **测试与部署**:在容器中部署和测试应用程序,确保所有模块能够正确工作。 #### 结语 随着技术的不断进步和发展,...
- **OSGi**:作为一种模块化平台,OSGi允许应用程序被分解成小型、独立的服务组件(称为bundles)。这些组件可以在运行时动态安装、更新或卸载,大大提高了系统的灵活性和可维护性。此外,OSGi通过其强大的服务注册...
Spring MVC是Spring框架的一部分,用于构建Web应用程序。在OSGI环境中集成Spring MVC,我们需要处理Servlet的生命周期和路由问题。通常,我们需要一个OSGI兼容的Servlet容器,如Pax Web,来托管Spring MVC的应用。...
本文将深入探讨OSGi的基本概念、架构以及如何使用它来构建可扩展和灵活的Java应用程序。 首先,我们需要了解OSGi的核心概念——模块化。在OSGi中,每个Java应用程序被划分为独立的模块,称为“bundle”。这些bundle...
Spring Dynamic Modules (Spring DM) 是Spring Framework的一个扩展项目,它使得Spring可以在OSGi环境中运行,进而为开发者提供了模块化的应用程序开发能力。通过将Spring与OSGi相结合,开发者能够享受到以下优势: ...
SSM(Spring、SpringMVC、MyBatis)框架是Java Web开发中常见的技术栈,而OSGi(Open Service Gateway Initiative)则是一种模块化系统,主要用于解决Java应用程序的动态性、可扩展性和版本管理问题。将SSM框架与...
在"MQTT测试工具-paho+for+eclipse"这个场景中,Paho被用作一个客户端工具,集成在Eclipse环境中,便于开发者测试和调试MQTT应用程序。 首先,`paho.exe`是Eclipse Paho MQTT C/C++客户端的可执行文件,它可以独立...
与Spring框架的XML配置类似,Blueprint使得我们在OSGi环境中能够以声明式方式管理我们的应用程序组件。 接下来,我们将Spring框架与OSGi结合。Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力著称,...
**背景:** OSGi (Open Service Gateway Initiative) 是一种模块化容器,它允许Java应用程序以模块化的形式组织起来,每个模块被称为一个“bundle”。OSGi不仅支持模块化编程,还支持热部署和动态配置等功能,非常...
OSGi(Open Services Gateway Initiative)是一种Java模块化系统,它允许开发人员将应用程序分解为一组可独立更新和管理的小型服务。在Web容器中部署OSGi应用,特别是像Tomcat这样的流行Servlet容器,可以提高应用的...