帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
服務導向架構淺介
「SOA停看聽」系列之一

【作者: Jeremy Westerman】   2004年05月26日 星期三

瀏覽人次:【4298】

歡迎各位,我們將在此專欄介紹與討論SOA(Service-Oriented Architecture)。在未來幾篇文章中,我們將從各層面來探究SOA。SOA是什麼?其具有何種商務價值?SOA得用上何種技術?如何以SOA方式組構出一個商務?為何正確地採行SOA將可發揮強大的潛在解決效力?此外,我們將審視幾個成功的SOA建置,並勾勒出一個路徑,以便於獲取建置與採行SOA方案的益處。


由於資訊業者的行銷動作,使人很容易相信SOA是下一波資訊潮流,或相反地讓人認為這只是個暄騰一時的名詞。但我們對SOA將與XML、Web Services一樣,全然以嚴苛的技術觀點來評論其價值性。若各位只是想瞭解SOA是行銷熱詞或是簡化的新專業術語,都會對SOA的認知有所偏誤。事實上,SOA意味著企業運算的重要轉變,它將成為未來所有應用程式架構的基礎。


何謂SOA?

首先讓我們釐清一些SOA的迷思。正確來說,SOA是:


  • (1)SOA不是新玩意:多年前即有資訊部門成功地用SOA方式來建構、運行應用程式,且當時XML、Web Services都尚未提出。


  • (2)SOA不是種技術:它是種建構、組織的方法,用來建立應用程式的運行環境,以及讓企業的業務程式能以「功能化」方式發展、累積。


  • (3)就算購買最新的XML、Web Services產品(如開發工具、執行平台、軟體元件等),也不表示就可以建構出SOA式的應用程式。



簡單來說,SOA是一種遵循典範,是針對企業內應用程式的設計、開發、佈建、管理所提出的遵循典範。從資訊技術層面而言,一個執行企業業務的應用程式稱為一個獨立的「邏輯單位」,而對企業營運層面而言則可稱為一項「商業服務」,在企業的整體運算環境中就存在著多個「獨立邏輯/業務服務」,且需要對其進行妥善設計、開發、佈建、管理等,也因此需要採行服務導向架構(SOA)。


要實現SOA,需要企業的程式設計師改採「持續累積服務」的觀念與角度來開發應用程式,即便這麼做在短時間內看不到顯著益處,程式師還是必須跳脫、超越過往對應用程式的想法,改以「既有服務可否再運用?」或者是「能否沿用其他同仁開發的服務來再建構?」的觀點來面對程式開發。


SOA主張「程式開發技術」與「程式建構方法」的交替並用,以類似傳訊溝通的作法,將數個所須的「業務服務」進行連結,以此來實現一個新應用程式,而非「從頭開發」。透過適當的程式組構及傳訊式的程式連結,可讓企業快速因應市場需求與改變,新的應用程式只要透過「傳訊微調」即可實現,而非「重新撰寫」。


SOA不單只是程式開發的方法論,也提供行政管理層面的依循。例如它並非是以應用程式個體為角度來進行管理,而是直接將過往程式師開發出的程式視為「服務」來管理。而對「商業服務」間的「互動傳訊」進行分析,SOA便可讓企業瞭解何時該執行哪個商務邏輯,以及為何要執行,如此資訊管理者與商務分析師便可對商務程序進行最佳化調適。


SOA在企業內如何運作

為了成功運用SOA有兩點相當重要:(1)瞭解新的遵循典範;(2)準備改變應用程式的組構方式。此改變涉及企業資訊部門,且在組構SOA時其運用的技術與使用的產品也相當重要。(這將在接下來的專欄中進一步介紹)


前面提過,許多資訊部門於多年前便已成功建立與運行SOA環境,並且有許多產品能支援SOA的建立、運行,當年XML、Web Services都還沒被提出,特別是在「交易處理監督程式」(TPMs,Transaction Processing Monitors)方面即有IBM的CICS(用於大型主機)、BEA的TUXEDO(用於開放系統)等。在這些環境(CICS、TUXEDO)下,資訊部門能夠以「服務個體」的角度,運用多種、各類的服務來組構、搭建應用程式,透過部署服務來部署應用程式,透過管理服務來管理應用程式。


而今XML、Web Services的提出並加入至SOA中,讓SOA邁入更新的層次及更高的價值。具備XML與Web Services的SOA與過往的SOA相較,過往的SOA似乎顯得封閉、專屬,在TPM環境中的所有應用程式都要透過技術開發撰寫才能實現。而開放、廣泛通行運用的XML、Web Services,讓SOA能適用於企業內所有的資訊技術以及所有已部署的應用程式,如此意義就相當重大。


Web Services能讓應用程式以「網路上可呼用的功能」之型態呈現,這是透過開放標準的描述方式(WSDL)來為應用程式提供服務介面描述,並用開放標準的傳輸方式(HTTP、JMS)進行程式間的資訊傳遞,並在其上以開放標準的協定方式(SOAP)進行程式間的溝通運作。


舉個例,一個程式師使用最好的程式開發工具,輕易地開發出一個新的入口網站應用程式(Portal Application),然後將此程式視為:現有、可再使用的服務,並將它運用於ERP應用程式中,同時也運用到另一個企業自行開發的J2EE應用程式中,如此的再運用可輕易地完成,原因在於不用去理解被引用的程式其內部是如何運作。


透過XML的使用,程式師可以輕易轉變應用程式的資料,而不用去理會資料以何種方式呈現。這樣程式師可更專注於入口程式的開發,使該程式更精良。使用SOA的結果,使入口網站可容易、快速地與後端應用程式系統徹底、密切整合。以此獲得複合性的益處,且同時間會有愈來愈多的服務可被運行、運用。


SOA有助於商務整合

SOA也為資訊部門如何進行EAI與B2Bi等應用程式整合帶來方案上的改變。程式整合是讓應用程式與企業外交易伙伴兩者間進行自動化訊息傳遞,以此建構出從頭至尾的全程周密性商務程序。若同樣的實現改採SOA作法,則是在應用程式、交易伙伴的服務中置入變形(Morphs)程式,以此來包繞、形成全程周密性的商務程序、交易流程。更簡單地說,SOA將應用程式的開發轉變成服務型態,然後讓商務程序搭跨在這些服務之上實現、運行。


所以,SOA加速了程式開發、程式整合的聚合,讓資訊部門以單一環境來建構、部署、執行程式的整合及應用程式邏輯。由此可知:採行SOA能為資訊部門在整合上帶來莫大的時間、成本之潛在精省。


企業商務採行SOA的理由

為何企業該採用SOA?使用SOA能衍生出更多的商務價值嗎?各位或許已經注意到前述的討論,SOA需要資訊部門改變其技術本位角度,轉變成實現、滿足商務。應用程式該如何組織?該如何建立與管理?且這些建立、管理該用何種技術或產品?這一切的改變都牽涉到成本與預算的支持,而這就需要商務效用與需求為其正當理由,特別是在時間緊縮有限的情況下。


SOA能帶來的商務價值提升已如前所述。透過既有應用程式的「再包裝」可讓程式轉變成服務,使程式功能可再運用,如此使既有應用程式的投資報酬率再拉升,同時程式受用時間可再展延,開發新程式、新功能的時間可再縮短。


運用現成既有的(程式)服務,也可讓新應用程式的佈建更為快速,以更快實現與滿足商務價值,如此的營運機動性讓企業更具競爭力,能夠比其他競爭企業更快推出新商品、新業務,更快對競爭業者提出因應與反擊。日後的文章我們將針對此議題進行更詳細的討論。


(作者現任BEA WebLogic Integration產品管理總監)


相關文章
服務導向裝置的下一步?
服務導向架構(SOA)商業應用趨勢
SOA停看聽 - SOA應用實例
SOA在組織應用上的意涵
SOAP - 讓程式暢行於網路間
comments powered by Disqus
相關討論
  相關新聞
» 農業策略聯盟推動跨域交流 聚焦產業加值創新
» TXOne Networks榮獲亞洲最佳企業雇主獎 孵育台灣與世界OT資安專才
» 研華上半年營收年成長4.49% EIoT、ICVG事業群表現最佳
» Fortinet報告:75%的OT企業組織曾遭駭客入侵 將交資安長強化治理成熟度
» 瀚錸科技引進門市RMA及資安系統 讓管理維運服務變得更輕鬆


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.140.185.123
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw