Apache ServiceMix介绍
转自:http://www.jdon.com/soa/servicemix.html
Apache ServiceMix 是一个广泛使用的开源ESB,适合SOA项目的集成,它提供类似商业ESB产品一样的功能呢,它的核心是基于开放标准和规范。
ServiceMiX综合了许多常用的开源项目,它的杰出的消息路由能力是基于. Apache Camel,这是一个轻量的集成框架,使用标准的企业集成模式(EIP)和领域规范语言DSL来定义集成路由。
一个集成的项目需要可靠的消息基础设施,ServiceMix使用嵌入的 Apache ActiveMQ 作为消息代理broker,这是一个使用最广泛的消息产品之一,充分兼容JMS规范,它提供很多消息功能,能够扩展到几千个客户端,支持多集群和高可靠性。
为了支持Web服务和RESTful,ServiceMix使用了Apache CXF,CXF是一个Web服务开源框架,支持 JAX-WS 和 JAX-RS两种标准,以及所有主流的WS-* 规范。
ServceMix的核心是一个OSGI容器,OSGi 是负责加载和运行动态软件模块,一个OSGI bundle是一个普通的Java Jar文件,包含OSGI元数据信息,有关该Jar中类和资源信息。
ServiceMix中OSGI的运行容器是 Apache Karaf,提供部署 OSGI动态配置 集中式日志系统,远程通过JMX管理系统和可用于管理的控制台, 使用Karaf能够管理模块的全部生命周期,不仅支持OSGI bundles,也支持普通java的.jar文件,XML Spring XML和war 文件。
ServiceMix部署这些开源项目是基于Karaf OSGI之上的out-of-the box方式,ActiveMQ和Camel注册Shell命令道Karaf,这样它能管理嵌入的JMS中间件和Camel运行环境,也可以根据项目需要定制这些功能,下图是ServiceMix技术总结图:
ServiceMix利用了一些非常成功的开源项目。这些项目都是基于开放标准和行业规范,旨在提供互操作性的最高水平。今天ServiceMix已经部署在数以千计的客户单位中,成为在许多关键任务应用非常流行的ESB。