SOA是英文Service-Oriented Architecture 三個首字母單詞的縮寫,中文譯為:面向服務架構(SOA),SOA架構與B/S 、C/S架構是目前最流行三種Web服務的基礎架構。
通常,在企業(yè)應用軟件產品,如MRP、ERP、OA系統(tǒng)等,在設計或架構上都是緊偶合、封閉式、自成體系,屬于一次性投入一次性完結的產品。這樣的產品很難適應或快速響應市場或客戶靈活多變的需求,以及后續(xù)的擴展。在這樣的市場、及客戶需求下,從而催生了軟件產品一種新的設計或架構的理念:面向服務架構(SOA架構),那么面向服務架構與應用軟件的不同之處在哪呢?
面向服務架構其原理是,通過分析服務之間的相互調用,SOA使得公司管理人員方便的拿到什么時候、什么原因、哪些商業(yè)邏輯被執(zhí)行的數據信息,這樣就幫助了企業(yè)管理人員或應用架構師迭代地優(yōu)化他們的企業(yè)業(yè)務流程、應用系統(tǒng)。SOA的一個中心思想就是使得企業(yè)應用擺脫面向技術的解決方案的束縛,輕松應對企業(yè)商業(yè)服務變化、發(fā)展的需要。企業(yè)環(huán)境中單個應用程序是無法包容業(yè)務用戶的(各種)需求的,即使是一個大型的ERP解決方案,仍然不能滿足這個需求在不斷膨脹、變化的缺口,對市場快速做出反應,商業(yè)用戶只能通過不斷開發(fā)新應用、擴展現有應用程序來艱難的支撐其現有的業(yè)務需求。通過將注意力放在服務上,應用程序能夠集中起來提供更加豐富、目的性更強的商業(yè)流程。其結果就是,基于SOA的企業(yè)應用系統(tǒng)通常會更加真實地反映出與業(yè)務模型的結合。服務是從業(yè)務流程的角度來看待技術的--這是從上向下看的。
SOA要求開發(fā)者超越應用軟件來思考,并考慮復用現有的服務,或者檢查如何讓服務被重復利用。SOA鼓勵使用可替代的技術和方法,通過把服務聯系在一起而非編寫新代碼來構架應用。經過適當構架后,這種消息機制的應用允許公司僅通過調整原有服務模式而非被迫進行大規(guī)模新的應用代碼的開發(fā),使得在商業(yè)環(huán)境許可的時間內對變化的市場條件做出快速的響應。
保全或保護企業(yè)原來遺留下來的軟件系統(tǒng),實現軟件數據的無縫接軌,避免企業(yè)原有投資打水漂、數據需重復錄入。由此,可以縮短軟件產品的實施推廣期?梢栽趯嵤┩茝V期間,快速調整以最大程度的滿足客戶的需求。在客戶應用業(yè)務發(fā)生改變,必須進行新的投入、改造時,產品可以進行新的快速擴展或直接第三方設備(軟、硬件)兼容。從而避免產品本身的僵化,成為使用者的遺留系統(tǒng)。 ..
|