走出面向对象编程的沼泽—在SOA中使用WebSphere Adapter[2] SOA架构
关键字:面向对象 编程 SOA
使用WebSphere Adapter还是采用面向对象编程?是个问题!
Peter加入项目组后,便首先对项目的整体情况和自己负责的子模块做了一些研究。他发现应用系统A底层采用了DB2数据库进行数据存储,因为当时设计时没有考虑到将来的可扩展性,所以系统并没有提供很好的编程接口供外部程序访问。
经过仔细的分析过后,Peter发现实现WebSphere平台对应用系统A的数据库的访问有两种实现方案可供选择:
1) 使用WebSphere Adapter产品。像我们前面介绍的那样,WebSphere Adapter可以实现WebSphere平台与其它各种应用系统和数据源(包括数据库)的快速集成。采用这种实现技术的好处是可以避免大量的编程工作,绝大部分的配置工作都可以通过图形化的工具来完成。而Peter对这种实现方式的顾虑在于,他需要花一定时间去学习和熟悉该产品的功能和具体用法,另外它是否能支持一些比较复杂的数据库操作。
2) 面向对象编程。通过编写java代码,使用JDBC接口实现对目标数据库的访问。这是Peter比较熟悉的一种实现方式。它的好处在于开发人员可以根据实际需求编写任意的代码实现,具有很强的灵活性。而这种方式相应的代价就在于开发人员需要进行较多的编程工作。
二种实现方式似乎各有利弊,到底应该选哪个呢?这是个问题!
顺利开局
经过反复的思考之后,Peter最后决定采用面向对象编程这种实现方案,因为他对自己的java编程能力还是相当有信心的。于是,Peter很快设计出了下面的系统架构。
图3:实现方案
在接下来的几天里,Peter埋头苦干,很快便完成了程序的主体框架和主要功能的实现。单元测试进行的也很顺利,实现的功能基本都已经达到了预定的目标。在Peter看来,项目的进展颇为顺利,他只要再对子模块的实现做一些后续的完善工作,并完成整个项目的集成测试,就可以大功告成了。Peter不禁有些得意,甚至已经开始盘算着完成这个项目后去海边好好的度个假了,殊不知,他正在慢慢的陷入一个看不见的沼泽之中。