一、OpenAdaptor背景
德国的投资银行,Dresdner Kleinwort Wassertein(DrKw),以 "openadaptor" 的名字公开了该软件的源码,被 DrKW 称之为 "让所有电子商务的异种系统无缝连接的一个最基本的部件。"DrKW 把源码的发布的看作是 "加速投资银行客户之间的电子商务联络的一个重要一步。"
根据 DrKW 公司的声明,“opendadptor 允许快速、简单地把免费代码集成到其他的系统中,通过对网站的操作,使所有的供应链和内部系统整合成一个整体。”openadaptor 软件原来是由 DrKW 内部开发的,据说从 1998 年开始,已成功应用于超过 40 个的项目。实际上,该软件被用来配备 DrKW 银行的全球交易系统。
Openadaptor 软件早先是用 Java 写的,支持很多金融和 IT 业的标准,包括了:XML(可扩展的标记语言)、JMS (Java消息服务),JDBC (Java数据库连接),以及 RMI(远程方式调用)等。它还有与第三方软件包比如 Tibco 和 IBM 的 MQSeries 相互交换数据的接口界面。授权协议参考了 MIT 的 X license 的协议格式,该协议允许在任何开放源码软件或有版权的应用程序中自由免费的使用其源码。
为什么 DrKW 银行会决定把 openadaptor 的源码公开呢?在声明中,DrKW 的 CIO,Al-Noor Ramji 谈了一些做出这个决定背后的有意思的观点:
"我们需要为我们的客户降低做生意的成本,这可不是一个容易解决的问题,因此我们必须采取的一项重要的基本措施是加快我们的客户的联络速度,甚至我们因此还要付出帮助我们的竞争对手的高昂代价。因为我们的客户都是投资银行的老客户了,他们通常会选择几个服务商。让客户在网站上与他们选定的任何人打交道,将不只是增加市场的透明度和流动性,而且使所有的客户降低了成本,增加了商业机会。我们在继续努力巩固我们的 "客户技术员" 的角色,为双方提供更多的商机 。openadaptor 允许所有的客户积极地参加这个开放环境,没有任何侵权的顾虑。"
DrKW 的常务董事 Conor Killeen 是这样说的:"这只是 DrKW 在 2001 年中一系列关键技术发布的开始,要为全球的客户扮演一个 "可依赖的顾问" 角色,在别人还只是在口头上讨论时就付诸实施以成为业界领导者是势在必行的了。
二、OpenAdaptor简介
现代企业需要将大量不同的系统连接在一起,使得它们之间可以进行信息交互。原有的典型处理方法是直接的“点对点”的数据传输,并自行完成数据的安全性、可靠性、一致性等处理。随着系统的不断增加,直接的定向连接和定制编程的情况会急剧增加,这最终会成为信息流动的瓶颈。
OpenAdaptor是一个基于Java/XML的软件平台,允许用少量的或非常规的编程进行快速地商业系统集成。它具有高扩展性并已经为JMS,LDAP,Mail,MQSeries,Oracle,Sybase,MSSQL Server和作为数据交换格式的XML构建接口组件。OpenAdaptor为开发人员提供了大量接口组件,通过Source、Pipe、Sink组件链的形式实现系统和系统间的连接,从而完成数据的交换。
Source 数据获取对象,是一个接口,可以根据数据获取来源不同,实现很多子类,比如:FileSource、JMSSource等。它本身并没有定义任何方法,但是扩展了线程,所以它的核心方法应该就是线程的run方法。
Pipe 对source获取的数据进行处理,比如过滤、重新组织等,比如:FilterPipe。最上层是一个抽象类,核心方法是processMessage()
Sink 数据发布,将整合后的数据,根据配置文件,发布出去,比如:FileSink、JMSSink等。定义了一个接口,核心方法是processMessage()
Controller 整个消息传递的控制类,是一个线程,负责对上面所说的三个对象的调用,完成一次消息的传递,每一次消息的传递都会新建一个线程实例。定义了一个接口。
DataObject 传递消息数据的对象,定义了一个接口。
Message 对DataObject对象集合的封装,用来传递消息。
三、OpenAdaptor链接
https://www.openadaptor.org/ OpenAdaptor
http://visualadaptor.sourceforge.net/ Eclipse Plugin for the OpenAdaptor framework