基于插件开发形式的WEB开发
基于插件开发模式的WEB开发
1、通过ServletBridge把OSGI框架部署到Tomcat容器中去。
程序文件整体结构图如下:
2、通过一个runtime插件把相关需要启动的插件启动起来。
3、在config.ini文件中配置runtime插件在OSGI启动时即启动。
4、利用WebServiceExporter类来注册WebService服务
5、CXFNonSpringServlet类是用来提供Servlet监听
6、Spring通过插件形式集成到框架中来。
绝对都是自己写的。 有源码,但是公司信息安全很严格,上传不了附件,所以只能贴少部分代码,而且必须删除带有公司内容的。
同意,使用Portlet可以将应用解耦,包括后台和前台。
现在的JSR 286规范已经很强大,足够满足一般的需求了
同意,使用Portlet可以将应用解耦,包括后台和前台。
现在的JSR 286规范已经很强大,足够满足一般的需求了
是的, 不过重点是使用正确。
我见过一些项目, 本身是一个应用, 硬是拆成了多个portlet再组合再一次, 系统反倒复杂度更高了。 其实很简单的系统。
不过Portlet使用正确的话, 是系统集成以及SOA的一个很好的方式。
OSGi毕竟一开始是为嵌入式作的.的确缺少很多东西.不过现在也在逐步完善起来了...
不过感觉现在就用OSGi作前台的WEB展示应用还不是很完善...
1、通过ServletBridge把OSGI框架部署到Tomcat容器中去。
程序文件整体结构图如下:
2、通过一个runtime插件把相关需要启动的插件启动起来。
3、在config.ini文件中配置runtime插件在OSGI启动时即启动。
4、利用WebServiceExporter类来注册WebService服务
5、CXFNonSpringServlet类是用来提供Servlet监听
6、Spring通过插件形式集成到框架中来。
20 楼
lvgang
2009-05-04
<p>感谢楼主,希望楼主能写得详细点。我以前的一个web项目在开发的时候使用的是开发OSGi bundle的方法开发的,但实际生成环境并没有使用OSGi。如果楼主的实践很成功,我们会在新项目中尝试着开发运行都使用这样的一种模式!</p>
<p> </p>
<p>Thank you</p>
<p> </p>
<p>Thank you</p>
21 楼
huihua
2009-05-04
whaosoft 写道
呃 我都没听说过呢
是你自己写的??
是你自己写的??
绝对都是自己写的。 有源码,但是公司信息安全很严格,上传不了附件,所以只能贴少部分代码,而且必须删除带有公司内容的。
22 楼
yimlin
2009-05-04
另外,spring dm也有做tomcat的扩展,也是参考的
23 楼
duker
2009-05-04
django 中的模块机制实在是很强大, 一个app 定义的model, 稍做说明,就可以在系统提供的 admin中进行增删改查的操作,当然这得益于动态语言的特性.
-------------------------------
程序员代码管理
http://mysharecode.appspot.com/
gwt中使用flash
http://code.google.com/p/gwt-flash-bridge/
-------------------------------
程序员代码管理
http://mysharecode.appspot.com/
gwt中使用flash
http://code.google.com/p/gwt-flash-bridge/
24 楼
kimmking
2009-05-04
服务器端只有soap的话,客户端是rcp的话,实际上跟大家讲的web没啥关系,
就是远程调用而已。
web上的eclipse技术RAP(rcp的web版)还是很nb的~~
就是远程调用而已。
web上的eclipse技术RAP(rcp的web版)还是很nb的~~
25 楼
pipilu
2009-05-04
楼主如果能先介绍一下应用的场景和程序的基本原理就好了。
26 楼
tutu1982
2009-05-05
提个问题:
web的页面文件,JS文件,CSS文件,等等这些东西怎么处理呢?
web的页面文件,JS文件,CSS文件,等等这些东西怎么处理呢?
27 楼
ebeach
2009-05-05
感谢分享。
LZ的场景和一般WEB不太相同:几乎没有UI的东西,基本都是远程接口暴露。
LZ的场景和一般WEB不太相同:几乎没有UI的东西,基本都是远程接口暴露。
28 楼
zhangxiaoming
2009-05-05
你好,有没有相关的参考资料。
29 楼
berat
2009-05-05
web应用解耦的最好方式是正确使用Portlet。
30 楼
dreaminjava
2009-05-05
你不觉得 打个包 把代码发上来会更好?
31 楼
hatedance
2009-05-05
楼主是通过servlet启动osgi,能不能反过来呢?
我觉得反过来比较符合osgi是个“大”平台的意思。
呵呵,我是个osgi文盲。
我觉得反过来比较符合osgi是个“大”平台的意思。
呵呵,我是个osgi文盲。
32 楼
key232323
2009-05-05
一样关注web ui中……
33 楼
jim19770812
2009-05-06
berat 写道
web应用解耦的最好方式是正确使用Portlet。
同意,使用Portlet可以将应用解耦,包括后台和前台。
现在的JSR 286规范已经很强大,足够满足一般的需求了
34 楼
berat
2009-05-06
jim19770812 写道
berat 写道
web应用解耦的最好方式是正确使用Portlet。
同意,使用Portlet可以将应用解耦,包括后台和前台。
现在的JSR 286规范已经很强大,足够满足一般的需求了
是的, 不过重点是使用正确。
我见过一些项目, 本身是一个应用, 硬是拆成了多个portlet再组合再一次, 系统反倒复杂度更高了。 其实很简单的系统。
不过Portlet使用正确的话, 是系统集成以及SOA的一个很好的方式。
35 楼
lnaigg
2009-05-06
我的理解,在企业级应用上,portlet和osgi是两个不同层面上的架构。
portlet是显示层的插件解决方案。
osgi是服务层的插件解决方案。
我也做了个osgi山寨框架,但发现在实际开发中osgi缺少的东西太多、要修改的东西太多、限制太多、开发模式相差太大。
没有大的投入是很难做出完整的企业级解决方案。
目前来说,portlet开发要比osgi简单很多,技术也成熟很多。
portlet是显示层的插件解决方案。
osgi是服务层的插件解决方案。
我也做了个osgi山寨框架,但发现在实际开发中osgi缺少的东西太多、要修改的东西太多、限制太多、开发模式相差太大。
没有大的投入是很难做出完整的企业级解决方案。
目前来说,portlet开发要比osgi简单很多,技术也成熟很多。
36 楼
zephyrleaves
2009-05-06
lnaigg 写道
我的理解,在企业级应用上,portlet和osgi是两个不同层面上的架构。
portlet是显示层的插件解决方案。
osgi是服务层的插件解决方案。
我也做了个osgi山寨框架,但发现在实际开发中osgi缺少的东西太多、要修改的东西太多、限制太多、开发模式相差太大。
没有大的投入是很难做出完整的企业级解决方案。
目前来说,portlet开发要比osgi简单很多,技术也成熟很多。
portlet是显示层的插件解决方案。
osgi是服务层的插件解决方案。
我也做了个osgi山寨框架,但发现在实际开发中osgi缺少的东西太多、要修改的东西太多、限制太多、开发模式相差太大。
没有大的投入是很难做出完整的企业级解决方案。
目前来说,portlet开发要比osgi简单很多,技术也成熟很多。
OSGi毕竟一开始是为嵌入式作的.的确缺少很多东西.不过现在也在逐步完善起来了...
不过感觉现在就用OSGi作前台的WEB展示应用还不是很完善...
37 楼
jolestar
2009-05-07
这个尝试不错。不过web需要插件式的一个原因是解藕,另一个原因是重用。
web插件要实现重用就必须牵扯到ui的东西,样式表,页面,控制器,等等都比较复杂。
一直在思考这些,但没想到好的解决方案。
用Grails搞过一个东西,感觉它的插件比较好。比方:用grails做了一个网站,现在需要增加搜索功能,你只需要安装它的搜索插件,然后在domain对象里加一些annotaion,表明哪些字段要索引等等,网站的搜索功能就好了,并且自带了默认的页面模板,你只需要修改下页面模板。当网站启动的时候搜索插件也启动,它会检测annotaion,并且监听hibernate的持久化事件,及时更新索引。
感觉这种东西用动态语言实现要方便一些,因为它可以在运行时候给类注入方法,这样插件的控制能力比较强。
web插件要实现重用就必须牵扯到ui的东西,样式表,页面,控制器,等等都比较复杂。
一直在思考这些,但没想到好的解决方案。
用Grails搞过一个东西,感觉它的插件比较好。比方:用grails做了一个网站,现在需要增加搜索功能,你只需要安装它的搜索插件,然后在domain对象里加一些annotaion,表明哪些字段要索引等等,网站的搜索功能就好了,并且自带了默认的页面模板,你只需要修改下页面模板。当网站启动的时候搜索插件也启动,它会检测annotaion,并且监听hibernate的持久化事件,及时更新索引。
感觉这种东西用动态语言实现要方便一些,因为它可以在运行时候给类注入方法,这样插件的控制能力比较强。
38 楼
zzsczz
2009-05-13
服务层的插件解决方案为什么不考虑geronimo的gbeans呢?
39 楼
sbiigu
2009-08-17
楼主的解决方案是Equinox上的quilkstart吧.
http://www.eclipse.org/equinox/server/http_in_container.php
http://www.eclipse.org/equinox/server/http_in_container.php