如何从新开发的程序中提炼服务
現在已確寫在SOA的開發中也不就是將所有的功能都開發為公開的服務,而只是將與其它軟件會發生交互的部分才設計為服務。
通過這樣的一種方式,就必須從新開發的程序中提煉出服務。那么這里應當怎么的提煉出來服務呢,提煉出來的服務又與程序中其它的功能是一種什么樣的關系呢?
在看SOA的很多介紹中都是將原有系統作為實現SOA服務的一個底層的依賴,根據這一種設想,那么根據以前的分層關系:x.IServices x.IServices.Impls ...就應當在x.IServices層之上建立EnterpriseServices,并且實現這個EnterpriseServices,并且在實現中調用x.IServices層??梢猿浞值睦靡延械能浖崿F,包裝出新的功能。那么也就表示開發新的軟件中使用SOA與改造已有軟件提供SOA的功能是相同的。而這里的EnterpriseServices只是將x.IServices包裝為一個或多個服務而已。而且可能在有的情況之下可能EnterriseServices所提供的功能與x.IServices中的功能相同,并且這樣不會有什么問題嗎。
還有一種方式就是根據已有程序的功能和數據直接全新建立一個EnterpriseServices與x.IServices這一部分不產生關系,這樣做的好處理是,因為x.IServices畢竟不是以實現EnterpriseServices為核心,而是以實現軟件自己的功能為核心的,其性能不能夠保證。數據實體等肯定需要重新為服務的需求而定義。而如果全新開發一個EnterpriseServices那么就能夠為EnterpriseServices專門進行開發。但這里所產生的問題是,EnterpriseServices對x.IService極其實現的數據庫數據的依賴關系是客觀存在的,并且也不能夠充分利用已有的代碼。
這兩種方式怎樣好一點呢,或者說說了這么長時間的SOA,軟件出來最后應當是個什么樣子呢。是整個系統都是全SOA化呢,還是只是部分SOA化。思考很久不知道答案。
轉載于:https://www.cnblogs.com/jeffwoot/archive/2008/03/15/1106826.html
總結
以上是生活随笔為你收集整理的如何从新开发的程序中提炼服务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 价值一千元的 iPhone 11 智能电
- 下一篇: 看来cmwap真的是没有可以使用的邮件客