首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

OSGi + XML = XML应用程序

2012-11-18 
OSGi + XML XML应用程序?最近将N久以前的项目整理了一下,发现我很早之前搁置的项目,现在已经是时机重新

OSGi + XML = XML应用程序?

最近将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的功能。看看效果图吧:

OSGi + XML = XML应用程序

?

这样,我们只要在开发相应的Bundles,就可以实现各种应用,当然,在这过程中还需要有一个API规范来指导开发。

?

这只是一个想法,距离完整实现还有一段时间,大家可以发表一下自己的想法和建议~~

  &lt;protocol name="http" maxWorkThreads="10"/&gt;
&lt;/server&gt;</pre>
<p>当然,写个Swing的插件,那也可以像之前SWT演示那样显示界面了。专门用于像UI生成等等都是具体应用,应该是Bundles做的事情,可能是之前我举了太多SWT Bundles的例子,让大家误读了,这些Bundles以后统称“应用插件”吧。</p>
<p>?</p>
<p>这里面我又新想出来一个方法,就是利用OSGi Fragment Bundle这个特性,还是拿UI举例子:</p>
<p>?</p>
<pre name="code" size="100"&gt;
  &lt;button text="Hello World" bounds="0,0,50,20"/&gt;
&lt;/window&gt;</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> 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> 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岁而已。

34 楼 pufan 2009-09-25  
越来越看不明白了。


给你个建议,不要谈实现,跳出具体,上升一个层次,把需求、功能、设计(可不是详细设计)、应用场景(可不是你那个example,要更实际一些),总结一下,这样别人才有可能看的懂。

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论坛上,没挨板砖算幸运了。 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论坛上,没挨板砖算幸运了。


好玩 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的时间比你长耶 38 楼 鱼言风语 2009-09-25   说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+? 39 楼 pufan 2009-09-25   鱼言风语 写道说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?
就是c++忒难用,才有的java的诞生,这叫创新。
ejb原来是抄com+啊,怪不得如此垃圾。

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的看法。 41 楼 solonote 2009-09-28   C#来自J++,J++其实就是Java的微软实现.
C#也有很多Java没有的特性,所以Java也在向C#学习(委托,泛型)
语言只是用来描述程序的东西,何必又那么多孰优孰劣的争执 42 楼 yipsilon 2009-09-28   solonote 写道C#来自J++,J++其实就是Java的微软实现.
C#也有很多Java没有的特性,所以Java也在向C#学习(委托,泛型)
语言只是用来描述程序的东西,何必又那么多孰优孰劣的争执
没想到啊,一个想法能演变成语言之争.... !-_- 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学习,但是后来的有后发优势也是事实

我们是搞技术的,不是搞宗教的,好的就是好的,不足的就是不足,就事论事吧 44 楼 鱼言风语 2009-09-28   pufan 写道鱼言风语 写道说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?

ejb原来是抄com+啊,怪不得如此垃圾。



说说历史吧,ejb曾经被多少java开发人员和公司追捧
搞技术的还是少点狂热,迷信和偏见,多点冷眼旁观吧
SUN不是上帝 45 楼 carydeepbreathing 2009-09-29   pufan 写道鱼言风语 写道说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?
就是c++忒难用,才有的java的诞生,这叫创新。
ejb原来是抄com+啊,怪不得如此垃圾。


丫 太经典 了 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的优劣,错了就是错了,承认不就完了吗。 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是盗版的了?中文没学好?
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成盗版了”,那是我说的。

眼神不好还怨别人中文没学好,看在可能你人老昏花的份上我也不和你见识。 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成盗版了”,那是我说的。

眼神不好还怨别人中文没学好,看在可能你人老昏花的份上我也不和你见识。

呵呵,没意思

热点排行