JavaEE的辉煌似乎再也不能回来,多多少少与当年Sun IBM 透支了Java的未来有一定关系。但动态语言的发展抢占了Java的份额其实也是一个重要的原因,而动态语言的最大优势就是它的解释执行,对实现插件来说非常容易。
知道PHP的人们应该听说过Mambo CMS,它的开源分支joomla作为一个开放的平台,可以在它的上面开发关于server端的插件。当你需要一个新功能时就现看看是不是有人已经实现过这个功能,然后去买或下载插件。一些插件如Virtual Mart等都还有free版,有兴趣的话您可以试试,相信会给您带来不少惊喜。
而对于Java平台,跟这个类似的东西就是eclipse,eclipse的插件平台也成就了MyEclispe,Windows Builder等插件。但eclipse的是RCP技术(Rich Client Platform),对于目前Web如此火爆的今天,能够有基于server端的java插件体系,相信将会振奋web界甚至软件界。
eclipse 3.0以前采用自己私有的插件体系,并且它的设计在业界也被认为是非常成功的设计。而自eclipse 3.0后eclipse小组重新设计了基于OSGi的插件体系-equinox。OSGi本是用在嵌入式软件体系的开放标准,而当时OSGi与eclipse结合应该说是强强联合。
近期国内关于OSGi的新闻逐渐多了起来,Robbin在程序员杂志中关于Struts2将会考虑与OSGi整合,将会考虑在服务端动态的添加插件的问题。其实早在2006年EclipseCon 2006会议上BMW采用OSGI的事件让开源界重视起OSGi起来,关于 OSGI 被商业领域(例如 IBM P5 服务器系列、Websphere V6.1、Lotus Sametime、Adobe CS2 等)、知名开源软件领域(例如 Apache等)采用的消息已经是不断的传出,也终于让大家看到了些许JavaEE插件体系的未来。
在eclipse那边,RSP项目(Rich Server Platform)正如火如荼的发展起来(相信也是IBM,BEA等公司推动的),而eclipsezone.com上的一篇文章详细介绍了开发一个OSGi的web程序,也告诉了大家其实目前技术上已经没有太大问题。
对于IT界有很多问题其实都不是技术问题,RSP我也相信是类似。笔者觉得RSP的发展其实最需要的是一个公司的有力支持-Sun。但Sun前几年猛推Netbean以及关于OSGi的jsr277的不太顺利告诉我们Sun似乎不太情愿接受eclipse与OSGi,毕竟Eclipse是IBM的儿子,商业上IBM是Sun的主要竞争对手。
当然其实目前JavaEE的竞争主要是EJB3 VS Spring,EJB3是吸收开源框架Hibernate的成果,所以说逼急的话Sun其实也不得不进行开放而全面接受eclipse与OSGi。
总的来说,OSGi的动态插件思想将会给JavaEE界带来一场革命,你准备好了吗?