使用WebSphere Adapter摆脱困境
就在Peter感到束手无策之时,忽然想起了WebSphere Adapter这种实现方案。当初他曾经在两种实现方案间思量过很久,并最终选择了面向对象编程的实现方案。现在看来,使用WebShere Adapter或许是一种更恰当的选择。
于是,Peter去WebSphere Adapter的信息中心,对其功能做了一番仔细研究。他发现其中有一款WebSphere JDBC Adapter可以专门用来实现对各类数据库的访问,它的底层通过JDBC编程接口实现和数据库的通信,可以支持包括DB2在内的各种主流数据库平台。

Peter发现,用户可以通过WebSphere JDBC Adapter轻松地实现对目标数据库中各类数据表、视图、别名和存储过程的访问,而且它还支持用户自定义的SQL语句的执行。另外,它还提供了连接管理、事务支持、事件唯一性保证等各种功能来满足用户的不同需求。这些功能正是Peter在项目中所需要的。

另外,WebSphere Adapter的使用也是相当的便捷,所有的配置操作都可以在IBM的集成开发环境WebSphere Integration Developer中完成,几乎不需要任何额外的编程工作。下面就是WebSphere JDBC Adapter的一个服务配置向导界面:

这些发现让Peter有些欣喜若狂,于是,他很快对原来的实现方案进行了调整,用WebSphere JDBC Adapter取代了面向对象编程的方式来实现对应用系统A的访问。新的实现方案如下所示:

新的实现方案进展的相当顺利,Peter用了不到两天时间便完成了所有的开发工作,测试的结果也非常令人满意。
故事后的思考
我们的故事有了一个圆满的结局,而里面的一些问题却值得我们进一步的思考:在实施SOA业务整合解决方案时,究竟应该选用什么样的实现方案来实现各异构系统间的连接?
我们不妨对故事中提到的两种实现方案(使用WebSphere Adapter和面向对象编程)做一个简单的比较:

通过上面的比较,我们可以很容易的看到:
对于一些功能比较简单、不需要考虑系统将来的可扩展性的项目,面向对象编程和使用WebSphere Adapter两种方案都是适用的。当然,面向对象编程这种方案要求开发人员必须熟悉目标应用系统的编程接口,而使用WebSphere Adapter这种实现方案则没有这种限制。
另外,对于一些功能比较复杂、项目需求可能会不断变化、需要考虑系统将来的可扩展性的项目,使用WebSphere Adapter这种实现方案无疑是一种比较明智的选择。
主要作者
邢常亮:高级软件工程师,IBM中国软件开发实验室。
金千里:软件开发经理,IBM中国软件开发实验室。
协作作者
吴卫:软件工程师,IBM中国软件开发实验室。
袁金松:软件工程师,IBM中国软件开发实验室。
卢伟勤:软件工程师,IBM中国软件开发实验室。
张凯:软件工程师,IBM中国软件开发实验室。