设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

Eclipse新成员Swordfish详解

2009-3-28 12:42| 发布者: joejoe0332| 查看: 3254| 评论: 0

  OSGi和JBI全面详解

  Swordfish框架所使用的是现在SOA通用的标准。在底层有OSGi,具体来说就是Equinox,即Eclipse基金会的OSGi。OSGi提供了组件模型,一个模块部署系统,以及一个clean class加载系统。在上层有JBI标准来实现组件之间的消息抽取(messaging abstraction)以及消息路由(message routing)。一开始的JBI 1.0使用自己的组件模型和部署系统,不过后来转而使用了OSGi。这也符合JBI 2.0工作组的情况,还有Apache ServiceMix的第4版。Apache ServiceMix这个Apache的JBI容器(JBI container)正是Swordfish中的核心消息路由引擎。而ServiceMix不仅仅提供路由功能,它本身就包含了大量做好了的组件,这些组件可以直接被用于连接业务逻辑(business logic)或用于传输通道以及协议。

  综合来说,Swordfish是一个建立在ServiceMix基础上,并将功能延伸至企业SOA范围的框架。Swordfish核心使用ServiceMix的公共扩展点(public extension points)在规范化消息路由器(NMR)中与消息流建立联系。

  与NMR内部建立联系的中心概念就是拦截器(Interceptor)。拦截器是一段代码,这段代码在消息经过NMR进行消息交换时将其拦截下来并对这个消息做一番动作。Java界面可以在Swordfish API中起到拦截器的作用,借助一些插件便可让这个拦截器实现一些特定任务,如消息认证(validation),消息转换(transformation)等。拦截器对消息交换作用的次序可以通过Swordfish框架核心中一个叫做Planner的组件来计算并定义计划。具体计划如何实施可以由用户来决定,所以API中还有一个叫做PlannerStrategy的界面,此界面可以通过插件来使用。举例来说,评估一个消息交换中的策略便可以通过这个PlannerStrategy来实现。除了传统拦截器以外,在特定情况下还可以使用特定的拦截器,比如有一种拦截器可以在服务注册中观察一个服务并为相应的交换重建路由。这个拦截器的基本性能(JBI相关)是核心运行中的一部分,不过具体的观察过程如何实施则靠一个将ServiceResolver界面实施到框架API的插件来完成。所有的公共API都是这样工作的。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部