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