SOA和標準的Web服務再加上以互連網為基礎的交付模式這些新技術的出現,對於推動新的軟體平台創新提供了必要的基礎。其中一個創新是在軟體構件化技術方面的突破,我們稱之為面向服務的編程(Service Oriented Programming,SOP)。
SOA和標準的Web服務再加上以互連網為基礎的交付模式這些新技術的出現,對於推動新的軟體平台創新提供了必要的基礎。其中一個創新是在軟體構件化技術方面的突破,我們稱之為面向服務的編程(Service Oriented Programming,SOP)。SOA側重於使用“服務運營”在系統之間進行通訊。而SOP提供了一種使用中間、本地服務作業作為裝配單位建立靈活的應用模組的新技術。SOP提供了一種模型驅動技術,它使用服務的記憶體映像來運行整個應用,而不是僅僅使用這些服務去跨系統。由於這些記憶體服務可以透明地穿過Web服務標準或任何私人協議,SOP能自動在應用模組中添加SOA,並能夠從內部實現即時整合,因此無需使用昂貴的資料複製。與單獨使用SOA相比,SOP模組更快並且更容易地適應變化和整合的次序。
模型驅動的SOP開發和多租戶服務虛擬機器
SOP將記憶體服務組合技術與面向服務和模型驅動的編程概念結合在一起,從而可以無需編碼或指令碼就能建立作為服務的應用模組。SOP與“內建SOA”使得應用組件化和整合功能結合在一起,因而無需使用應用捆綁和SOA整合服務器。因為SOP範式已經是模型驅動的,所以沒有必要使用數以萬計複雜的附加“中介軟體”產品,範圍從工作流程和商務程序管理(BPM)工具,以及資料交換工具。模型驅動的SOP消除了對於整個SOA中介軟體堆棧的需要,從而改變了軟體自動化的經濟學原理。通過一個單一的設計時(design-time)環境定義的SOP模型,是自動啟動並執行並且在運行時可以通過一個多租戶服務虛擬機器(Multi-tenant Service Virtual Machine)來管理。
SOP實現了層次化的軟體模組,在最低層級上實現了原子服務(相當於最小的工作單位);在最高層次上實現了綜合服務,其中包含一些服務模組。商務邏輯是由綜合服務構成的,這些綜合服務在分子層次上跨越多個核心、處理器和伺服器運行時自動多線程和虛擬化。像“取得年度客戶服務訂單” 這樣一個服務可能包含一百多個互相嵌套的服務。相反,通過連續執行這些服務,服務運行環境(Service Runtime Environment)自動跨多個核心調度它們,這大大減少了執行時間。服務運行環境瞭解所有的並行化的問題,比如:資料依賴關係,並能在後台自動處理這些問題,不需要任何使用者輸入。這充分利用了HPC系統的並行計算能力,不會給程式員帶來線程建立的負擔。
通過透明外化(transparent externalization)的力量彙總
在SOP中,服務介面組成了記憶體封裝單元單位,並且可以在運行時被透明地外化,而無論它們是在分層組件棧的哪一層被使用的。這種能外化更高層服務模式的任何子服務元件的透明能力SOP彙總屬性的核心所在。它也是跨多個核心和伺服器的所有子組件內建虛擬化、徹底的SOA整合,以及其它許多通過SOP實現的創新機制的關鍵。
SaaS 2.0:通過SOP匯聚SOA、SaaS以及服務虛擬化
現在,傳統的預置交付應用和SaaS應用供應商使用的應用的主要平台的區別在於SaaS應用平台的多租戶性。除了多租戶交付模式外,SaaS開發和預置應用開發使用的規範和技術基本上是相同的。使用多租戶SOP平台開發和運行SaaS應用組件,給現有的SaaS帶來的好處有:完全的模型驅動開發,內建SOA,自動組件虛擬化。SOP是SaaS、SOA以及虛擬化技術的匯聚點。
一個遷移到SOP平台的例子
Ventyx為服務發行管理(Service Delivery Management,用於為公司管理客戶、勞動力、零件庫存、工具和文檔)提供ERP應用服務。Ventyx為超過40多個國家的400多家企業提供服務,其中包括利用能源工具產生並分配電力的核電力公司。因為他們的顧客通常在應用軟體中定製商務邏輯, 因而Ventyx遷移到一個SOP平台上,這確保了較高的整合水平以及最佳的計算效能,從而可以更好為客戶提供支援。
Ventyx部署了NextAxiom 公司的Hyperservice Business Platform 和Service Runtime Environment (SRE)。NextAxiom公司協助Ventyx遷移遺留代碼,並開發運行在SOP平台上的新應用。 Hyperservic Studio提供了一個功能齊全的基於語義的構造環境,它用來管理和定製軟體模組,也就是所謂的服務,而Service Runtime Environment 提供了一個自動化服務的並存執行的管理運行環境。遺留代碼可以被轉換成SOP模型或壓縮成包,所以它們只需要小的修改就可以像原來一樣運行。
使用NextAxiom的SOP平台,開發商業邏輯就像畫流程圖一樣直觀。使用者可以拖放本地服務介面,添加可視化編程組件,並將它們用線串連在一起。Ventyx 公司產品架構主管Fernando Alvarez 說:“現在,我們的客戶可以定製服務並按需整合解決方案,”使用者按照語義建立服務而不需要編寫代碼,這是由平台自動執行的。這意味著服務可以由經驗豐富的商務程序專家以及軟體編程人員建立。因為代碼既不需要編寫業不需要產生,解決方案在整個生命週期仍然是靈活的。
NextAxiom的客戶可以運行單一線程的遺留代碼和多線程綜合服務的結合,英特爾架構的處理器對上述兩類代碼都執行地非常好。這給需要跨越各種各樣工作量的高運算效能應用帶來了很大的好處。這個應用軟體被最佳化以運行在採用雙核英特爾安騰2處理器的HP Integrity rx6600伺服器上。