SOA實踐秘訣

2021-08-22 06:59:44 字數 1838 閱讀 5656

在服務導向架構(soa)底下,我們的目標是將所有具備價值的it 資源,不論是舊的或新的,通通都能夠透過web services的包裝,成為可以隨取即用的it資產。

這樣一來,利用專為web services所設計的商業流程管理(bpm;business process management)工具,便可將各種服務快速彙整,開發出組合式應用,達到「整合即開發」。此外,透過那些對於web services 充分支援的應用伺服器,以及相關的開發環境下所開發出的新應用,先天上就會是web services-ready。

從此以後,所有在這種環境下所開發出來的應用單元,幾年後不至於再淪為新的legacy 系統,因為我們在開發的時候便已經把它們的未來準備妥當,也同樣符合「整合即開發」的概念。

本週,我們接著**應用平台,特別是其所提供的各項基礎設施服務,以及對於建置與部署soa架構所產生的重大影響。開發web services的進入門坎固然低,但真正的挑戰在於如何確保這些web services能夠經年累月穩健的執行下去,並且能顧及安全上的要求。

畢竟,當web services愈來愈普遍的扮演it中的建材角色,卻無法同時經得起24x7 關鍵性任務的挑戰時,後果自然不是當初匯入 soa 所想要的。這樣的需求,自然會讓我們聯想至應用伺服器,以及於其上所衍生的各項專門的應用領域。實際上,安全性、穩定性、可用性、延展性,和效能方面的要求,一直是應用伺服器這型別新一代的中介軟體(middleware)在設計時,便必須考慮在內的關鍵指標。

幾年匯入下來的經驗,加上許許多多的成功案例,提供了非常可靠的驗證。另有數家應用伺服器廠商,早在兩年前便開始積極提供各項web services相關科技的支援。因此,選擇能擔當大任的應用伺服器作為web services宿主,在邏輯上,將會是很自然的延續與延伸。

先前提到,由應用伺服器衍生出來的資料、應用整合平台,可透過數種策略,將既有系統重新包裝為web services;而業務流程設計/管控 (bpm)、訊息格式轉換,訊息和服務路由等基本功能,則進一步的提供soa上不可或缺的基礎服務。

整體而言,這樣的資訊整合平台在 soa 的世界扮演的是服務提供者 (web services provider) 的角色;而服務消費者 (web services consumer)則是交給 portal 平台來扮演。因為portal可將後端的作業流程、服務,資料等,一一加以彙整,再根據前端瀏覽器具的不同,以及個人化的設定,將資訊提供給終端的使用者。從portal軟體開發的趨勢來看,portal在it中所扮演的角色,正逐漸從早年作為內容管理的門戶,逐步邁向process portal之路。

在web services的安控方面,最直接的作法,固然是可以將許可權控管等安全相關的邏輯直接寫死在web services 的應用裡,但這種將安控邏輯內嵌在多支程式中的作法,將成為未來在更新、維護和管理上令人頭疼的問題。比較理想的方式,是透過可橫跨整個平台的安控機制,集中擬定各項與web services相關的安控設定。

這就與流程控管、服務路由,以及負載平衡相同,如果可以經由平台提供設定與控管的功能,而不是在應用軟體(ap)的層級進行,將在整體維護及整合雙方面,產生極大的幫助。

此外,在web services的營運方面,幾個比較新的領域還包括了web services 的管理、效能水平監測 (sla;service-level agreement)、業務流程監控 (bam;business activity monitoring),以及web services 訊息攔截和轉運等。現階段,已有多家廠商開始在這些領域中進行愈來愈多的著墨。

正因為應用平台提供了多項 soa 需要的加值功能,許多分析師都一致看好幾個主要的應用平台廠商,在未來將囊括大半的soa市場。此外,由於應用伺服器與相關科技,已經在許多企業中具有相當程度的匯入經驗,所以若從技能與基礎設施共享,以及it資產集中化等潮流與角度審視,以應用平台作為邁向soa的基礎環境自是最邏輯的選擇。 (zdnet)

SOA治理的實踐

soa治理的最佳實踐 soa治理本質上是社會性的,因此,需要開發人員和架構師不斷溝通。1 建立評估小組。治理策略的制定 維護和修改應該通過乙個小組進行,而不是某些人的獨斷行為。2 先開發乙個互動性的框架。標準是soa的基石,從一開始,就要建立乙個可擴充套件的提供互動功能的框架,詳細記錄組織中使用的協...

SOA 實踐 識別服務

soa 是個聽上去很美好的技術或者思想或者架構。當然任何美好的東西都需要有一些難題讓你去客服。實施 soa 又很多難點,其中一點就是識別服務。問題 我現在已經有一套 n種 業務系統。現在需要去充實我得esb,那些服務可以放上去呢?這時候我們可能會有幾種分析方式。自上而下,自下而上,或者中間匯合。所謂...

敏捷性SOA成功之秘訣(一) 基礎篇

一直以來,測試是都是應用生命週期的乙個單獨活動,使用不同並且沒有關聯的工具。首先,開發團隊會執行一套junit測試套件,作為建設過程的一部分。然後,質量保證團隊會手動建立並執行了一套針對使用者介面的功能測試。一直以來,測試是都是應用生命週期的乙個單獨活動,使用不同並且沒有關聯的工具。首先,開發團隊會...