想要成功部署soa,cio須明白四個模糊認識,1、為什麼不同的人對soa有不同的解釋?2、業務流程管理(bpm)和soa是何關係?3、「瀑布式」開發與迭代式開發哪個適合soa?4、web服務與soa是一樣的嗎?
1. 為什麼不同的人對soa有不同的解釋?
soa 的定義取決於你在組織業務中的角色。
對於業務執行人員,soa建立了企業希望向其客戶和合作夥伴或組織的其他部分公開的一組服務。對於it架構師,soa是一種體系結構樣式,此樣式至少需要有服務提供者、請求者和服務描述。對於程式設計師,soa是乙個由標準、工具和web服務等技術加以補充的程式設計模型。
當然,企業資訊科技系統及流程管理人員之所以存在似是而非的soa概念,還可能因為軟體廠商沒有向企業使用者解釋清楚soa的含義。比如,soa 中的服務(service)並非我們理解的傳統企業服務,而是軟體開發的專業用語,指技術層面的、細顆粒度的功能模組,還遠未達到與企業業務流程直接對應 的程度。軟體廠商在強調soa給企業帶來巨大商業價值的同時,並沒有具體闡釋這一點。
2. 業務流程管理(bpm)和soa是何關係?
bpm與soa既可以單獨部署,也可以組合使用。
如果企業的it系統比較簡單,企業規模比較小,用同樣的一組it人員就可以控制所有it系統,那麼,部署乙個不使用soa的bpm套件,就可以 獲得快速建立、執行和監控/管理業務流程的能力,而不必部署soa。但是,如果bpm套件由乙個it小組部署,而同時使用來自另乙個it小組的系統服務, 那麼soa就可以幫上忙了。
如果企業的it系統足夠複雜,可以考慮將bpm和soa組合使用,通常在soa上實施bpm解決方案可以獲得更大的業務靈活性。如果bpm專案達到一定的範圍和規模時效果才能顯現,最好先開發出bpm,而將soa元件留待以後考慮。
最好一開始就讓業務流程團隊和it架構團隊保持持續良好溝通,針對未來進行可行性規劃。例如,bpm套件本身應該能夠提供豐富的連通性,以便無需全面應用完善的soa來使得bpm執行,不要讓bpm與soa成為互不連通的兩套系統。
3. 「瀑布式」開發與迭代式開發哪個適合soa?
企業部署soa最好是通過迭代模型來實現。
迭代模型將標識一組對業務非常關鍵且價值高的功能來進行服務支援工作。此模型可隨後供後續服務支援專案和活動使用。如果採用傳統應用程式開發時使用的「瀑布式」開發方法部署soa,可能導致建立僅能部署一次的服務,而無法在以後對其進行重用。
使用迭代式開發部署soa,可通過允許組織逐步納入到系統中,從而減少出現業務故障的風險。
同時,任何組織接受和容納更改的能力都是有限的,迭代式開發可確保引入新的流程和系統帶來的更改非常適應企業的容量,且不會在企業中引起大的混亂。
同時,在soa中,新功能並不一定總是僅受單個業務部門(line of business,lob)的約束,需要考慮很多跨組織的依賴關係,迭代式開發也有助於解決跨組織的協調。
4.web服務與soa是一樣的嗎?
web服務僅僅是目前最流行的soa實現技術,但並非可以用於開發soa的唯一技術。
soa與web服務(web service)的數量無關。對於soa來說,真正有價值的是對於web服務的再利用而不是web服務本身。即使將所有資訊科技系統都用web服務實現, 也不見得就等於部署了soa。有些企業使用了太多的web服務來做同樣的it服務,結果部署soa的效果非常差。將web服務等同於soa,很容易發生在 一些希望快速實現soa但是並未真正理解soa的企業身上。
很多soa專案都涉及到整合遺留資料,此類資料報含在使用mqseries和corba(common object request broker architecture)等「舊」技術的系統中。其中的許多技術都已針對soa進行了調整,不管有沒有web服務都可使用。事實上,企業可以只使用 mqseries、corba甚至遠端過程呼叫(remote procedure call,rpc)技術就能實現soa。
新人做站必須注意的四個問題
對於很多剛剛步入網際網路創業的新手站長來說,對 的建設可以說是毫無了解。網際網路行業需要新人的不斷注入才能快速發展,對於新手在做站方面應該注意些什麼問題呢?筆者將會根據自身的一些經驗來對這一問題做一定的闡述,也就是筆者總結出來的新手做站必須注意的四個問題,希望能給新手朋友們一定的指導。一 網域名稱 ...
採用微服務時必須解決的四個挑戰
原文 微服務架構比原有系統要複雜得多,由於團隊必須要管理與支援許多移動的部件,整體環境愈加複雜。其中一些必須要考慮的問題包括 其他要考慮的事情包括 運營與基礎架構 開發團隊必須與運營團隊更加緊密地合作,否則由於多個運營同時進行,情況會失去控制。支援 對微服務安裝提供支援和維護,比之前為單一整體式應用...
採用微服務時必須解決的四個挑戰
原文 微服務架構比原有系統要複雜得多,由於團隊必須要管理與支援許多移動的部件,整體環境愈加複雜。其中一些必須要考慮的問題包括 其他要考慮的事情包括 運營與基礎架構 開發團隊必須與運營團隊更加緊密地合作,否則由於多個運營同時進行,情況會失去控制。支援 對微服務安裝提供支援和維護,比之前為單一整體式應用...