走出面向對象編程的沼澤—在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不禁有些得意,甚至已經開始盤算著完成這個項目后去海邊好好的度個假了,殊不知,他正在慢慢的陷入一個看不見的沼澤之中。
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/