SOA— 服務為導向的架構是什麼?

xo_zhang發表於2013-06-30
SOA(Service Oriented Architecture,以服務為導向的架構)


SOA協同軟體 輕鬆應對資訊化新挑戰

作者:復旦協達首席軟體架構師 馮巨集衛博士

  SOA可以簡單地理解為“抽象、鬆散耦合和粗粒度”的軟體架構,它可以根據服務請求通過分散式網路對鬆散耦合的應用群件進行部署、組合和使用。新一代的軟體架構SOA,因為能夠有效應對資訊化面臨的新挑戰,將快速取代傳統的軟體架構。協同軟體作為近年來新起的軟體應用門類,SOA技術使其應用理念和功能得到了進一步昇華,並迅速成為資訊化建設的首選軟體。

  資訊化面臨全新挑戰

  縱觀資訊化建設與應用的歷程,儘管出現過 XML、Unicode 以及 UML等眾多資訊標準,但是許多異構系統之間的資料來源仍然使用各自獨立的資料格式、後設資料以及元模型,這是資訊產品提供商一直以來形成的習慣。各個相對獨立的源資料整合一起,往往通過構建一定的資料獲取與計算程式來實現,這樣的做法需要花費大量工作。資訊孤島大量存在的事實,使資訊化建設的ROI(投入回報率)大大降低,ETL(資料載入工具Extract Transform Load)成為集中這些異構資料的有效工具。ETL 常用於從源系統中提取資料,將資料轉換為與目標系統相相容的格式,然後將其裝載到目標系統中,例如資料倉儲或者資料市場。資料經過獲取、轉換、裝載後,要產生應用價值,還需另外的資料展現工具予以實現,如BI軟體。如此複雜的資料應用過程,必定產生高昂的應用成本。

  結構化的資料管理尚可通過以上方法,予以實現其整合應用。在非結構化的內容方面,這些具有挑戰性的問題令人生畏。內容管理的應用方案基於不同的資訊化應用系統,而且大部分是縱向的以組織部門為界限的。例如,用於行政部門的檔案管理、用於決策部門的知識管理,或者是用於營銷部門的宣傳網頁資訊。在目前的內容管理市場中,經常使用來自不同廠商的產品來提供這些解決方案。即使是同一個廠商的產品,相互之間的功能也是經常重疊,並且無法整合。

  隨著資訊化建設的深入,不同應用系統之間的功能界限已趨於模糊。例如,商業智慧BI需要企業資源計劃ERP資料作為支援,企業資源計劃的有效執行需要協同商務CC予以保障和優化。同時企業資源計劃系統和協同商務系統,又需要商業智慧的分析展現資料提供使用者操作依據。

  在激烈競爭且多變的市場環境下,企業的管理模式很難固化,應用傳統的資訊化軟體,當企業要做出一些改動時需要面對巨大的挑戰。以下是企業在資訊化管理變革時必須要考慮的一些專案:

  放棄從縱向和以部門為管理界限考慮問題

  將現有的資訊管理功能轉換為可複用的應用服務

  整合大量的基於不同應用系統的資料和資訊

  有效降低成本,減少開發費用

  及時擴充套件更多應用功能

  這些挑戰並不是很容易應對的,因為資訊化產品供應商想保護他們當前的產品和使用者基礎,並不願意放棄已有的軟體應用思想和功能框架。ERP供應商將產品的理念和功能不斷泛化,就是個明顯的例證。同時,企業管理者和資訊部門也必須在內部推銷SOA的構想,以便讓具體應用部門接受SOA所帶來的應用價值。從資訊化產品的使用者角度而言,將以往的資訊化投入作為新的資訊化建設的一部分,這是非常艱鉅的任務。

  採用SOA直面資訊化挑戰

  對於那些採用 SOA 作為資訊管理的使用者來說,能夠享受基於 SOA 的資訊管理所帶來的許多好處,以中國首套SOA協同軟體復旦協達CTOP以例,SOA所帶來的主要好處包括:

  可複用以往的資訊化軟體。基於SOA的協同軟體提供了應用整合功能,能夠將ERP、CRM、HR等異構系統的資料整合。

  加快開發速度,並且減少了開發和維護的費用。軟體將所有的管理提煉成表單和流程,以記錄管理的內容,指定過程的流轉方向。

  使用了更簡便的資訊和資料整合。資訊整合功能可以將散落在廣域網和區域網上的文件、目錄、網頁輕鬆整合,加強了資訊的協同相關性。同時,複雜、成本高昂的資料整合,也變成了可以簡單且低成本實現的引數設定。

  建立了完全整合的資訊化應用新領域。協同軟體就是一個全新的應用領域,管理資訊由完全結構化的資料,擴充到非結構化資訊的應用領域,Gartner 預言了非結構化資訊管理將會帶來一個新IT應用潮流。

  簡化了企業資訊化模型的總體複雜度。

  在具體的功能實現上,SOA協同軟體所實現的功能包括了知識管理、流程管理、人事管理、客戶管理、專案管理、應用整合等,從部門角度看涉及了行政、後勤、營銷、物流、生產等。從應用思想上看,SOA協同軟體中的資訊管理功能,全面兼顧了貫穿整個企業組織的資訊化軟硬體投入。儘管各種IT技術可以用於不同的用途,但是資訊管理並沒有任意地將資訊分為結構化或者非結構化的部分,因此ERP等結構化管理系統並不是資訊化建設的全部;同時,資訊管理也沒有將資訊化解決方案劃分為部門的檢視,因此僅僅以部分為界限去構建軟體應用功能的思想未必是不可撼動的。基於SOA的協同軟體與ERP、CRM等傳統應用軟體相比,關鍵的不同在於它可以為在合適的時間、合適的地點並且有正當理由而需要它的任何使用者提供服務。

  從SOA協同軟體的功能框架中可以看從,功能選單的排列不再以部門劃分的方式進行,而是按照應用服務的性質來劃分,例如:人事管理部分,並非只限定在人事部分才擁有相關應用功能,在其他部門的操作使用者也仍然可以呼叫相關應用服務,如人事相關的請假、考評等,除人事部門所外的使用者,也是這些管理的參與者。而作為協同軟體核心的流程管理部分,不僅涉及到所有的管理部門,而且貫穿到各個應用功能部分,行政、專案、人事等等功能,都是通過可靈活定製的管理表單和流程來實現。

  即便本文是通過協同軟體的示例來闡述SOA的技術和應用,但應該指出的是,不是所有的協同軟體都是SOA,也不是SOA只適合協同軟體。因為協同軟體的應用理念和價值通過SOA最容易體現,才使SOA成為等企業級協同軟體廠商技術追求的目標。

  SOA必將引領資訊化建設步入一個新的時代,在這個新的時代中,資訊化相關軟體產品的應用思想和管理功能也將會重構。如今,去商討該不該採用SOA已經於事無補,我們應該考慮如何拋開原有資訊化應用思想的束縛,以全新的觀念去迎接一個必將走向繁榮的SOA時代。

相關文章