促銷快訊
Go Go 購
2019年 9/10月
封面故事:
利用您自身網路的力量來發現並防禦威脅活動
本期內容 本期目錄 產品內容與價格 返回列表
期數: 100年9/10月期
封面故事
Oracle SOA Suite 快速地呈現出企業的商業價值
/施建成
 
C到C++
 
         “C到C++”是我唸書時的大轉變。這當然不是指我成績單的分數(否則就太瞎了),而是指我寫電腦程式時所選擇的程式語言。當時 C語言是80年代高階程式語言的市場主流,但是隨著軟體的複雜度愈來愈高,大家的程式也愈寫愈長;C語言以電腦執行指令為主的方法讓程式設計師感到困擾,對於動輒數萬行的程式也愈來愈難以掌握及修改。因此,以物件(Object)及類別(Class)為導向的C++語言被創造出來,希望以新的、結構化的架構來讓程式設計師能夠開發及管理更大型、更複雜的程式。
 
模組化更好利用
 
C++語言強調以物件為導向,與人們看事物的方式較為接近,並以結構化的方式來進行程式的規劃與開發。資料與程式被封裝(Encapsulation)成一個個獨立的模組,然後再被整合起來使用。每個物件模組都有自己的標準功能,並將繁瑣的運算及細節包藏起來,而僅透過極小的界面來與其他物件模組做鬆散(loose coupling)的溝通。因此C++不但整合容易、可以重複使用,而且程式修改時也比較不會牽動太多。
 
模組(Module)的結構設計、容易重複使用(reuse)的特性讓C++很容易地便擁有了許多的愛用者,並透過愈來愈多的模組及資料庫來縮短新功能的開發時間。依據1998年的一份數據顯示,大概有80%的工業級應用程式研發計畫是採用C++語言來進行,完全取代了原本C語言的主流地位。

網路服務的興起
 
        這些年來,不斷被開發出來的應用程式讓企業的資訊系統穩定地成長,並持續為用戶提供需要的資料及服務。而近年來隨著網際網路、TCP/IP、HTTP、XML等技術的發展,網路服務(Web Service)更讓使用者可以透過標準的瀏覽器介面(Browser)來存取企業內部以及上下游廠商的資訊,提升不少的工作效率。
 
        可是企業為了追求持續成長,總是會進行商業合併及系統增購,但這樣卻讓公司的資訊愈來愈多,而且新舊交陳。這些系統可能會包括SAP的ERP、IBM的Mainframe、PeopleSoft的HRMS人資管理、Oracle的Financials財務管理…等等。但不同的系統常常會有不同的協定、存取介面與格式、及管理方法,並沒有統一的標準。為了讓這些獨立的系統可以互相溝通並且傳遞系統內的訊息而達成系統自動化整合的目的,資訊人員往往透過程式語法或是Hard-Coding的方式來達成,而這些沒有經過整合的各個系統,彼此之間獨立的點對點連結也會變的非常複雜(見圖一,資料來源:Oracle),不但管理困難、執行效率很差,而且系統要進行更改或增減時更是會“牽一髮而動全身”
 
服務系統整合
 
        這些問題似乎似曾相識,當年C語言不就是因為系統過大、關連太深、難以管理及修改而讓程式設計人員頭痛不已嗎?現在許多企業的商業資訊系統好像也有類似的症狀!而當初創新C++模組化架構、簡化溝通介面的方法順利地解決了這些問題;或許我們可以再如法泡製一下,也用模組化的鬆散(loose coupling)架構來協助企業提升商業資訊系統的效能,讓企業敏捷(Agile)起來。
 
        於是,將各個系統模組化、採用標準溝通介面的服務系統整合方案就因此被發展出來了。如同物件導向C++語言將資料與程式封裝成一個個物件一樣,服務系統整合方案也會要求軟體系統成為一個個獨立自主的服務模組,再透過標準的XML、Web Service等介面在共同的企業服務管道(Enterprise Service Bus;ESB)上溝通(見圖二,資料來源:Oracle)。如此,便能將各個系統間獨立點對點連結降到最低,以方便管理、變更,及提升回應速度。
 
 
模組元件、彈性好用
 
        模組化的方法確實讓服務系統整合方案充滿了彈性,就像是購買了一堆組合傢俱的元件一樣,讓使用者可以隨意拼搭起自己需要的大大小小桌椅及櫃子。而在需求有所變更及增減時也能快速的改變組合及重複使用原有的元件。
 
        在服務系統整合方案之中,如ERP、CRM等各個系統就是一個個元件(Component),而統一標準溝通介面的Service Bus企業服務管道就像是螺絲般將元件有彈性地串連起來,隨時可以重組及更改。若是舊有系統遇到協定及格式不相容的問題時,則由整合方案提供的轉換器程式(Adapter)來負責進行轉換,以符合要求。
 
服務導向架構(SOA)
 
        將各個新舊系統透過模組化進行鬆散的整合之後,企業的商業資訊系統便充滿了大量的彈性資源,可以透過各種的組合及流程來為用戶提供服務。而服務導向架構(Service-Oriented Architecture;SOA)便是根據這些獨立系統模組,採用XML及Web Service為溝通介面和基礎,以用戶資料查詢服務為導向的完整商業服務架構。
 
除了上述的(a)Service Bus企業服務管道之外,SOA架構主要還會包含了(b)商業流程管理(Business Process Manager;BPM)以及(c)商業活動監控(Business Activity Monitoring;BAM)等組件。圖三便是以Oracle SOA Suite為例的產品及系統架構圖(資料來源:Oracle)。每當企業要建立一個新的服務時,可以透過BPM中的規則(Rules)來制定商業流程,並定義流程中所需要存取的資料模組;然後即可啟動該服務,同時藉由活動監控功能來管理。
 
                圖三、Oracle SOA Suite的產品及系統架構圖。

服務快速、及時控管
 
        若以金融業為例,銀行可以先將各種如現金帳戶、房貸、基金等服務的流程、規則及安全控管機制設定好,並利用Service Bus企業服務管道將後端的資料系統整合起來提供及時的資訊回應。如此便能讓用戶透過Web Service的網上服務來申請及使用各個相關的業務服務,而商業管理分析人員也可以透過BAM的機制分析並檢管控每個商業流程的處理效率並且透過分析之後改善跨系統上的商業瓶頸(見圖四,資料來源:Oracle)。
 
        如果要新增信用卡的服務,管理人員只要從既有類似的流程中調整修改出一個新的信用卡服務流程,然後將既有的客戶資料架構整合進來就可以了。然後,不但管理人員能夠藉由商業流程來進行審查及稽核,而客戶也能透過Web Service 一併獲得所有包括原本現金帳戶、房貸、基金,以及新的信用卡帳戶的明細。
 
         
SOA的特點
 
        SOA新架構的最大特點就是模組化和標準的溝通介面,讓每個模組對系統中其他模組的獨立點對點溝通愈少愈好。而這樣的鬆散連結架構讓SOA具備下列幾個特點(資料來源:“Why SOA” by Ron Ten-Hove,April 11, 2006,blogs.oracle.com):
 
1、重複使用及構成(Reuse & Composition):讓SOA能夠快速及有效地增加新的商業流程。
2、重新構成(Recomposition):讓SOA可以依據服務需求的改變來將流程與模組重新進行構成及組合。
3、漸進式更改(Incrementally Change)系統的能力:鬆散的模組架構讓SOA可以一個個逐步進行系統的更改。包括更換服務供應商、延伸服務、子系統汰舊換新等變動都可以安全地逐步進行。
4、漸進式建立(Incrementally Build)系統的能力:SOA可以從零開始,用全新的SOA架構來逐步建立一個個的模組。與既有舊系統並存的能力讓用戶可以更容易的導入SOA架構。
 
敏捷又省時省錢的SOA
 
        其實,SOA對企業的影響層面絕對不是只有在IT的範圍而已。事實上企業應該用商業投資的角度來看待導入SOA架構這件事情。這是因為具備上述多項特點的SOA能夠帶給企業一些重要的優點:
1、敏捷(Agile):SOA能夠彈性重新組合流程及快速新增服務的特點讓企業得以敏捷地調整系統,並針對多變的商業環境作出及時的應變措施。
2、重複使用(Reuse):模組與系統可以重複使用的特點可以有效減少新程式開發的數量、降低程式開發的成本、以及縮短新服務上線的時間,讓企業省時又省錢。
 
而對商業環境的應變敏捷性與省時省錢正是企業長期想要追求的目標,所以IDG企業軟體及技術新聞評論員Chris Kanaracus便認為服務導向架構SOA不應只是一項單從IT角度出發的技術變更,而應該是企業對於軟體設計的一項“策略性商業投資(strategic business investment)”(資料來源:“Forrester: SOA is alive and well”by Chris Kanaracus,March 23, 2011,www.infoworld.com)
 
SOA獲得大多數企業的青睞
 
        就像C++語言主導了程式開發市場一樣,SOA在經過多年的發展之後也已經獲得了大多數企業的青睞。根據Forrester Research分析師Randy Heffner於2010年1月“Insights for CIOs:SOA and Beyond”報告中的資料顯示,56%的企業在2009年底之前便已經導入SOA架構;而若針對Global 2000的大型企業來看,比例更是高達74%。(見圖五,資料來源:Forrester Research)。
 
圖五、高達74%的Global 2000大型企業已經於2009年之前使用SOA架構。
 
        而在Forrester survey於2011年3月新出版的報告中,這些相關的數據還在不斷地攀升中;例如,問卷調查中表示已經或是會在2011年底之前導入SOA的企業比例將高達71%。而若以產業別來區分,電信(Telecoms)、公共事業(Utilities)、金融業(Financial)及保險業(Insurance) 則是使用SOA最多的行業。此外,另一個重要的觀察指標:“使用SOA的滿意度”調查也顯示77%的企業表示他們對於導入SOA之後的成效感到滿意。(資料來源:“Forrester: SOA is alive and well”by Chris Kanaracus,March 23, 2011,www.infoworld.com)
 
Oracle SOA Suite 深獲客戶信賴
 
        既然SOA是一種策略性的商業投資,企業要引進SOA架構時除了要請老闆及主管一起參與規劃之外,正確地挑選完整、簡易、穩健、有能力的SOA產品和廠商也是很重要的一環。市場上可以提供完整SOA解決方案的廠商並不是太多,而能夠簡化客戶導入過程的廠商更是屈指可數。在這些少數符合用戶需要的廠商中,數十年來一直提供企業界最完整、開放及整合性商業軟硬體系統的美商甲骨文(Oracle)要算是當中的佼佼者了。
 
        以業界頗有名氣的Gartner Magic Quadrants神奇象限為例,Oracle SOA Suite在2010年與SOA服務導向架構有關的3項評比中全部都處於領導者(Leader)象限的位置。(3項評比為:(1)Application Infrastructure for Systematic Application Integration Projects、(2) Application Infrastructure for Systematic SOA-Style Application Projects、(3) Shared SOA Interoperability Infrastructure Projects。資料來源:Gartner Group,2010年10月)。
 
        此外,擁有Cisco, Hitachi, HP, IBM, Intel, Microsoft, Oracle, SAP等大型客戶的Crimson Consulting 顧問公司在其2011年3月發表的一份商業白皮書“Oracle SOA vs. IBM SOA”之中也表示Oracle SOA能夠幫助客戶簡化複雜度,並提供完善的產品功能。而在白皮書的總結部份,Crimson Consulting 也以一群資訊服務公司主管及顧問的話為Oracle SOA Suite做了很好的註解:『Oracle SOA Suite 給了我們公司很大的敏捷性』、以及『Oracle SOA Suite 是個整合完備的解決方案,能夠非常快速的為客戶呈現出商業價值』(資料來源:Crimson Consulting,2011年3月)。
 
選對SOA,讓企業持續領先
 
        在雲端運算炒的沸沸揚揚,幾乎涵蓋了大多數資訊市場話題的時候,SOA的趨勢卻仍然像鴨子滑水般地持續在雷達之下穩定發展,並不斷提高市場佔有率。由此可見SOA絕對是個獲得市場認同、經得起考驗的新一代商業軟體發展架構。選對SOA產品廠商、做好長期的商業軟體服務架構規劃和實踐,才能讓您的企業敏捷起來,並持續站在市場的領導地位。