适应OSGI需要耐心?
TSS最近贴出一个OSGI粉丝的文章,他认为OSGI的主要优点是模块化,而大多数程序都没有模块化概念(banq按:jar包白打了)。对于OSGI你必须忍受它的额外消耗(banq按:给你带个套子,虽然不舒服但要清楚他的好处)。
该作者将OSGI = 软件模块化 划上等于号了,其实未必,模块化有很多方式达到,模块化是一种架构设计风格,不一定需要通过框架标准强制实现,就像REST和SOA是一种架构风格一样。
强制带上OSGI套子,就会面临新的OSGI编程模型,这个模型和一般JVM POJO编程模型还不一样,比如事件处理模式,我在下面帖子中讨论了(http://www.jdon.com/jivejdon/thread/36798),普通情况下,事件侦听模式有异步和同步之分,我们可以根据需求灵活实现,但是在OSGI中,你就很难搞清楚OSGI自己的事件是一种同步或异步?如果是其中一个,我们却需要另外一个,如何办?自己修改OSGI底层基础?
当我们为追求一种目标时,可别因为实现这个目标而牺牲更多,这和中国谚语捡了芝麻,丢了西瓜以及 按下了葫芦飘起了瓢有什么区别?
老外更多的争论:
http://www.theserverside.com/news/thread.tss?thread_id=57009
OSGI本来在客户端 终端设备中呆的好好的,后来经过Spring的鼓弄,跑到服务器端,很多人以为这是一个big thing,其实只是IOC依赖注射模式结合OSGI带来的好处。
OSGI一跑到企业服务器端,这下就象揭开了热水锅,热闹了,因为企业服务端本来就有很多概念,SOA SCA JavaEE EJB ESB等等,来了一个新人,位置呆在哪里?与这些现有概念是什么关系?是不是增加复杂性了?
企业OSGI:
http://blogs.iona.com/newcomer/archives/000357.html[url=http://blogs.iona.com/newcomer/archives/000357.html]http://blogs.iona.com/newcomer/archives/000357.html[/url]