`
soaFocus
  • 浏览: 3290 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

openadaptor1.x 架构分析

阅读更多
Openadaptor1.x,一款基于消息的系统集成工具,轻量级,简单。它将不同系统间的消息传递抽象成一个Adaptor。

一、体系结构
Adaptor是一个单向的消息传递通道,基于管道、过滤器体系结构,可以有多个数据源,多个数据目的地,源、目的地可以支持多种协议:flat file、socket、database、rmi、jms等等。Adaptor处理数据分为三个阶段:数据提取、数据变换、数据写入,这三个处理阶段由三个不同类型的组件完成Source、Pipe、Sink,组件之间的协调有Controller控制。Source组件提取数据,并将其转换成Adaptor理解的Message,Pipes组件变换Message,Sink组件将Message转换成Sink能理解的数据,最终写入。处理流程如下(附件一):




二、系统流程

组件类结构(OO味道很浓的,有兴趣的可以下载代码好好研究研究)这里就不多说了,直接上流程图(附件二/三):



补充一句:openadaptor是一套框架,解释流程配置文件,组装配置文件中配置的组件形成一个Adaptor流程。而配置文件是有GUI工具画服务流程时候生成的。
由流程图可以看出来,openadaptor内部的消息处理是同步的,这个组件完成之后,下一个紧接着开始,由Controller控制消息流向。

三、线程模型
(附件四)

几点说明:
1、 Openadaptor1.x 开发的比较早,没有用到concurrent包,代码中还有好多wait, notify, sleep用来控制线程
2、每个Source组件对应一个线程,多线程共享一个Controller,因此多个Source线程之间需要同步。
  • 大小: 9 KB
  • 大小: 27 KB
  • 大小: 21.9 KB
  • 大小: 39.6 KB
2
1
分享到:
评论
2 楼 soaFocus 2011-01-13  
国内做企业应用没啥前途,即使是中间件

我已经不干这方面的了,入行互联网
1 楼 WorldHello 2011-01-13  
oa是个比较典型的eai工具
看看oa3吧,基于spring的,很不错!

相关推荐

Global site tag (gtag.js) - Google Analytics