將面向服務架構(SOA)應用遷移到包括云在內的虛擬資源池中是有一些棘手的。也許在SOA應用中處理彈性資源池最大的問題是,錯誤地認為SOA發布/登記流程完全掌握了資源的發放,但實際上這會在相當程度上把事情復雜化。
許多情況下,SOA應用針對虛擬資源進行優化所需的變化被局限在publication/syndication及編排流程,應用架構師很容易就能對其進行規劃,并推動這些更好地為未來準備。在云爆發或組件變更會引發狀態保持的特殊情況下,特定流程必須按照次序進行。這要由應用架構師來決定何時需要進行虛擬資源調節以及如何優化它們。
SOA應用在高層將應用用戶/服務用戶與服務及其組件通過登記流程進行綁定。其目標是讓應用組件松耦合,甚至到允許應用利用web服務描述語言(WDSL)動態“購買”組件的地步。組件被托管時“發布”到注冊流程—比方說,如果它是通過虛擬機器(VM)移動功能遷移的話。
隨著資源分配變得越來越動態,注冊功能的性能變得重要起來,其主要原因并非因為它有可能影響到應用性能,而是由于對行動緩慢的注冊流程的快速變更會出現在重新注冊期間要處理服務請求的風險。這會導致應用的一部分與工作流失聯,造成應用的不穩定。重新注冊的風險問題可通過確保注冊流程迅速處理請求,以及在停掉(以及撤銷注冊)舊位置的組件之前,一旦組件出現在新的位置時就首先注冊該組件來降低。
性能工作流以及動態資源
并非所有動態資源都是生而平等的;在VM移動應用中,通常是在數據中心之內對機器進行遷移,而在云端,組件可能被托管在千里之外。此類彈性問題在于其對應用工作流未來性能進行優化的影響。
在許多牽涉到服務總線協調和集成的應用中,如果應用組件托管在相互“網絡距離”遙遠的地方,消息流延遲的累積會影響到應用性能,這意味著由于地理距離及網絡跳轉很可能會經歷顯著的傳輸延遲。而WDSL幾乎從來就沒有考慮過這一點,因此訂購組件的應用有可能選到了一個距離太遙遠的組件來支撐體驗質量目標。
解決方案之一是讓WDSL適應至少包括地理“區域”參考在內的因素來進行托管,以便運行在特定地方的應用會選擇復制于相同地理位置的組件。另一種辦法則是適應訂購方對注冊流程的處理,返回匹配請求方地理位置的組件。
這些方法哪一個最好,將取決于應用架構師能夠控制注冊流程的程度;開源工具很容易修改,但是專利工具可能就不允許修改,只能嘗試“給WDSL添加位置”的辦法。如果所有其他辦法都失效了,應用用戶可以被定向到特定位置的注冊點,確保不會選到地方太遠的組件。當然,所有這一切,都依賴于至少對組件托管時的存放位置有一些了解。要看一下云供應商的管理能力,看看可以做哪些事情。
SOA協調及云爆發
在SOA/虛擬資源應用中,協調本身會是一個復雜的因素。因為消息流在服務總線上合并,如果中間件采用的是真正集中化的總線架構的話,協調點的位置會是性能的一個重要因素。允許直接將消息傳遞給后繼組件的更為分布式的消息管理,對于許多SOA應用來說并不實際,因為它們通過業務流程執行語言(BPEL)或別的工作流語言強加一種消息操縱邏輯。對于這些情況,選擇在哪里對應用進行協調對于讓SOA與動態資源適配來說至關重要。
對于企業來說,云內的負載均衡或數據中心資源以及溢出云資源之間的云爆發正成為越來越有價值的應用,但是這往往意味著未來工作共享需要復制多個組件出來。在設計心得SOA組件時,考慮這一未來需要是明智的,因為許多組件會維持狀態或在多步事務中維持工作的上下文,因此無法在事務中被替換,否則的話狀態就會丟失。
Web或RESTful應用設計學校一直倡導有客戶端來維持狀態,但是在SOA中,甚至在某些中間件里,組件也會如此。當應用是通過BPEL在中間件/協調級創建時,中間件狀態控制尤其常見,且盡管這種做法被SOA架構師詆毀,在云爆發或負載均衡應用中它有可能比由組件維持狀態更加靈活。如果不能確定的話,客戶端狀態管理是最好的!
如果為了利用資源的動態性而加入容錯設施,哪怕在云和虛擬應用沒有負載均衡的情況下狀態也會成為問題。許多架構師忘記了如果狀態是由組件自身維護的話,它會在失敗時丟失,從而令追求快速動態故障切換的目標無法實現。在致力于包含有動態故障切換的SOA應用之前,應該先檢查看看狀態是如何維持的,否則的話你有可能浪費寶貴的時間,為某事準備的ALM周期將無法正常工作。
注冊的控制、協調以及狀態是SOA動態資源優化的三大問題。開始考慮這三點的應用架構師可能很快就能找到所有重要的問題并正確處置。這是確保SOA應用響應云和虛擬化趨勢以及在未來應用設計中正確地將其作為基石的最好方式。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.hanmeixuan.com/
本文標題:SOA應用開發和遷移不再難
本文網址:http://m.hanmeixuan.com/html/consultation/1083939676.html