当前位置: 首页 > 工具软件 > OpenAdaptor > 使用案例 >

openadaptor1.x 架构分析

邵绪
2023-12-01
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线程之间需要同步。
 类似资料: