`
huihua
  • 浏览: 62086 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
文章分类
社区版块
存档分类
最新评论

基于插件开发模式的WEB开发

阅读更多
1、通过ServletBridge把OSGI框架部署到Tomcat容器中去。
程序文件整体结构图如下:
2、通过一个runtime插件把相关需要启动的插件启动起来。
3、在config.ini文件中配置runtime插件在OSGI启动时即启动。
4、利用WebServiceExporter类来注册WebService服务
5、CXFNonSpringServlet类是用来提供Servlet监听
6、Spring通过插件形式集成到框架中来。
分享到:
评论
39 楼 sbiigu 2009-08-17  
楼主的解决方案是Equinox上的quilkstart吧.
http://www.eclipse.org/equinox/server/http_in_container.php
38 楼 zzsczz 2009-05-13  
服务层的插件解决方案为什么不考虑geronimo的gbeans呢?
37 楼 jolestar 2009-05-07  
这个尝试不错。不过web需要插件式的一个原因是解藕,另一个原因是重用。
web插件要实现重用就必须牵扯到ui的东西,样式表,页面,控制器,等等都比较复杂。
一直在思考这些,但没想到好的解决方案。
用Grails搞过一个东西,感觉它的插件比较好。比方:用grails做了一个网站,现在需要增加搜索功能,你只需要安装它的搜索插件,然后在domain对象里加一些annotaion,表明哪些字段要索引等等,网站的搜索功能就好了,并且自带了默认的页面模板,你只需要修改下页面模板。当网站启动的时候搜索插件也启动,它会检测annotaion,并且监听hibernate的持久化事件,及时更新索引。
感觉这种东西用动态语言实现要方便一些,因为它可以在运行时候给类注入方法,这样插件的控制能力比较强。

36 楼 zephyrleaves 2009-05-06  
lnaigg 写道
我的理解,在企业级应用上,portlet和osgi是两个不同层面上的架构。

portlet是显示层的插件解决方案。
osgi是服务层的插件解决方案。

我也做了个osgi山寨框架,但发现在实际开发中osgi缺少的东西太多、要修改的东西太多、限制太多、开发模式相差太大。
没有大的投入是很难做出完整的企业级解决方案。

目前来说,portlet开发要比osgi简单很多,技术也成熟很多。



OSGi毕竟一开始是为嵌入式作的.的确缺少很多东西.不过现在也在逐步完善起来了...
不过感觉现在就用OSGi作前台的WEB展示应用还不是很完善...
35 楼 lnaigg 2009-05-06  
我的理解,在企业级应用上,portlet和osgi是两个不同层面上的架构。

portlet是显示层的插件解决方案。
osgi是服务层的插件解决方案。

我也做了个osgi山寨框架,但发现在实际开发中osgi缺少的东西太多、要修改的东西太多、限制太多、开发模式相差太大。
没有大的投入是很难做出完整的企业级解决方案。

目前来说,portlet开发要比osgi简单很多,技术也成熟很多。
34 楼 berat 2009-05-06  
jim19770812 写道
berat 写道
web应用解耦的最好方式是正确使用Portlet。

同意,使用Portlet可以将应用解耦,包括后台和前台。
现在的JSR 286规范已经很强大,足够满足一般的需求了


是的, 不过重点是使用正确。
我见过一些项目, 本身是一个应用, 硬是拆成了多个portlet再组合再一次, 系统反倒复杂度更高了。 其实很简单的系统。

不过Portlet使用正确的话, 是系统集成以及SOA的一个很好的方式。
33 楼 jim19770812 2009-05-06  
berat 写道
web应用解耦的最好方式是正确使用Portlet。

同意,使用Portlet可以将应用解耦,包括后台和前台。
现在的JSR 286规范已经很强大,足够满足一般的需求了
32 楼 key232323 2009-05-05  
一样关注web ui中……
31 楼 hatedance 2009-05-05  
楼主是通过servlet启动osgi,能不能反过来呢?
我觉得反过来比较符合osgi是个“大”平台的意思。
呵呵,我是个osgi文盲。
30 楼 dreaminjava 2009-05-05  
你不觉得 打个包  把代码发上来会更好?
29 楼 berat 2009-05-05  
web应用解耦的最好方式是正确使用Portlet。
28 楼 zhangxiaoming 2009-05-05  
你好,有没有相关的参考资料。
27 楼 ebeach 2009-05-05  
感谢分享。
LZ的场景和一般WEB不太相同:几乎没有UI的东西,基本都是远程接口暴露。
26 楼 tutu1982 2009-05-05  
提个问题:
web的页面文件,JS文件,CSS文件,等等这些东西怎么处理呢?
25 楼 pipilu 2009-05-04  
楼主如果能先介绍一下应用的场景和程序的基本原理就好了。
24 楼 kimmking 2009-05-04  
服务器端只有soap的话,客户端是rcp的话,实际上跟大家讲的web没啥关系,
就是远程调用而已。


web上的eclipse技术RAP(rcp的web版)还是很nb的~~
23 楼 duker 2009-05-04  
django 中的模块机制实在是很强大, 一个app 定义的model, 稍做说明,就可以在系统提供的 admin中进行增删改查的操作,当然这得益于动态语言的特性.

------------------------------- 
程序员代码管理 
http://mysharecode.appspot.com/
gwt中使用flash
http://code.google.com/p/gwt-flash-bridge/
22 楼 yimlin 2009-05-04  
另外,spring dm也有做tomcat的扩展,也是参考的
21 楼 huihua 2009-05-04  
whaosoft 写道
呃 我都没听说过呢
是你自己写的??

绝对都是自己写的。 有源码,但是公司信息安全很严格,上传不了附件,所以只能贴少部分代码,而且必须删除带有公司内容的。
20 楼 lvgang 2009-05-04  
<p>感谢楼主,希望楼主能写得详细点。我以前的一个web项目在开发的时候使用的是开发OSGi bundle的方法开发的,但实际生成环境并没有使用OSGi。如果楼主的实践很成功,我们会在新项目中尝试着开发运行都使用这样的一种模式!</p>
<p> </p>
<p>Thank you</p>

相关推荐

Global site tag (gtag.js) - Google Analytics