论坛首页 Java企业应用论坛

OSGi + XML = XML应用程序?

浏览 11813 次
精华帖 (0) :: 良好帖 (5) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-09-24   最后修改: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做开发的
0 请登录后投票
   发表时间:2009-09-25   最后修改:2009-09-25
pufan 写道

不建议将UI生成与OSGI相关联,原因很简单,不够专注。你既无法与专注UI生成的JFormDesginer、Netbeans等等竞争,也将在OSGI模块化、可插拔化上丧失太多。

如果实在要做,我建议你分成两个无关的独立框架来设计:

1)一个专注于UI生成,可以用XML描述,但必须生成JAVA code(因为以个人的经验看大部分UI生成的代码都需程序员手工修改,这样做也更灵活)。框架设计前功能建议参考一下竞争对手,如果你认为没能力比他们做的好那还是放弃吧(出于兴趣练手除外)。
2)一个专注于基于OSGI的Swing插件应用快速程序开发(也可以包括SWT等其他实现方式)。OSGI热插拔特性我认为在桌面应用中极为重要,新插件插入,非Core插件的更新,这些都可以做到不重启应用。基于OSGI的框架设计不应仅仅包括UI机制(不是UI生成,可以为View生命周期管理、docking支持等等其他特性),Plugin机制、Resource机制、Event机制、I18N机制、异常处理机制、数据库机制、皮肤机制等等也是必不可少的。另外如果要支持企业级的CS架构开发,Net访问机制(包括数据的推与拉,还要考虑穿越防火墙)、插件自动下载与升级机制、权限机制、缓存机制甚至离线浏览机制也要必须提供。

目前框架2的swing开源实现比较少,个人认为还是可以一做的。

 

现在说的“XML应用程序”,它是一个极抽象的概念,不仅仅可以用来实现UI。假设说如果你的Bundle是做服务器软件的,你完全可以实现出点击运行含有如下代码的文件,来启动服务器:

 

<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>

当然,写个Swing的插件,那也可以像之前SWT演示那样显示界面了。专门用于像UI生成等等都是具体应用,应该是Bundles做的事情,可能是之前我举了太多SWT Bundles的例子,让大家误读了,这些Bundles以后统称“应用插件”吧。

 

这里面我又新想出来一个方法,就是利用OSGi Fragment Bundle这个特性,还是拿UI举例子:

 

<window xmlns="com.sample.osgi.ui" size="100">
  <button text="Hello World" bounds="0,0,50,20"/>
</window>

 

此XML代码是很抽象的窗口构造代码,它其中包含了一个按钮,并通过SymbolicName为 com.sample.osgi.ui 的Bundle进行处理(下称“主bundle”)。

 

而在处理过程中,通过如果插件库中有 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。

0 请登录后投票
   发表时间:2009-09-25  
yipsilon 写道
专门用于像UI生成等等都是具体应用,应该是Bundles做的事情,可能是之前我举了太多SWT Bundles的例子,让大家误读了,这些Bundles以后统称“应用插件”吧。

 

 

 

这么说就清楚了,应该是很有用途的一个框架,不过最好不要涉及UI,没必要

0 请登录后投票
   发表时间: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岁而已。

0 请登录后投票
   发表时间:2009-09-25   最后修改:2009-09-25

越来越看不明白了。


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

0 请登录后投票
   发表时间:2009-09-25   最后修改: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论坛上,没挨板砖算幸运了。
0 请登录后投票
   发表时间: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论坛上,没挨板砖算幸运了。



好玩
0 请登录后投票
   发表时间: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的时间比你长耶
0 请登录后投票
   发表时间:2009-09-25  
说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?
0 请登录后投票
   发表时间:2009-09-25  
鱼言风语 写道
说道抄袭,java能不能不抄袭c/cpp?
ejb能不能不抄袭com+?

就是c++忒难用,才有的java的诞生,这叫创新。
ejb原来是抄com+啊,怪不得如此垃圾。

0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics