OSGI Spring Hibernate的优势

OSGI Spring Hibernate的优势

在网上看到这么一句话觉得总结的非常好: 从高内聚,低耦合到设计模式,从 Ioc 、 Spring 框架 到 SOA 我们一步一步的抽象着、分离着。很显然,我们需要一个灵活而不失严谨的架构,需要一个功能强进而不令人生畏的产品; 企业的应用软件发展还有着很大的空间和尺度,也大概明白为什么OSGI起源于1999年却近几年才进入软件行业,当时软件业确实还不发达,人们确实想不了这么多,做软件只为了能解决一些问题而做。而如今更多是要资源最大化共享,就想着怎么能把原来做过的软件集成起来,不用再做个新的,于是就有了SOA。随着Eclipse的成功,大家对它以OSGI为核心的插件体系无不赞叹,原来做软件可以像搭积木一样的拼装,多么美妙,人们也就认识到

OSGi的优缺点

OSGi的优缺点

对于OSGi,有人评论称OSGi是“Spring之后的下一个big thing”。不过该文的作者后来又觉得,OSGi也有不少的问题,其中之一就是它在把技术变得复杂化。作者是这样说的:   我对OSGi不怀疑并承认OSGi解决了许多问题,而且它支持一些出众的结构模型比如高模块化(high modularization)以及微服务(micro services)。然而从另外一个角度来说,在使用了OSGi几年之后,也体验了它在不同领域的表现(我是指开发领域)之后,我真的开始怀疑OSGi了。   这是我喜欢和讨厌的OSGi的一些方面:   它从几百个具有代表性的小bundle中创建出一个系统的概念非常棒。OSGi bundle很好的一点是它们定义了边界:不仅从依赖关系的意义上,而且从运行时间的意义

OSGi概念

OSGi概念

OSGi(Open Service Gateway Initiative)技术是面向Java的动态模型系统。OSGi服务平台向Java提供服务,这些服务使Java成为软件集成和软件开发的首选环境。Java提供在多个平台支持产品的可移植性。OSGi技术提供允许应用程序使用精炼、可重用和可协作的组件构建的标准化原语。这些组件能够组装进一个应用和部署中。 OSGi亦称做Java语言的动态模块系统,它为模块化应用的开发定义了一个基础架构。OSGi容器已有多家开源实现,比如Knoflerfish、Equinox和Apache的Felix。您可以通过这些容器,把您的应用程序劈分为多个模块单元,这样,您就可以更容易地管理这些模块单元之间的交叉依赖关系。 OSGi规范和Servlet规范及EJB规范类似,该规范定义了两种对