雖然SOA現(xiàn)在發(fā)展的如火如荼,但還是處在不斷的發(fā)展中,還是存在很多有待改進的地方。其缺點目前來說,主要表現(xiàn)在以下幾個方面:可靠性,安全性,性能。在電子商務(wù)的應(yīng)用中,有一個很重要的可靠性,就是不可否認性,信息確保發(fā)送且僅且一次以及事務(wù)的回滾,這點是必須得到滿足的,但是,目前來說,SOA架構(gòu)還沒有為此做好準(zhǔn)備。至于安全性我們在下面會做詳細的分析。至于性能問題,不可否認,這個SOA架構(gòu)最遭人詬病的地方。SOA架構(gòu)的性能稍低,主要是因為SOA的分布性質(zhì)和web服務(wù)協(xié)議的開銷。任何分布式系統(tǒng)的執(zhí)行速度都不如獨立式系統(tǒng),因為這里面有網(wǎng)絡(luò)的制約因素。所以,在對那些實時性要求較高的地方,在構(gòu)建SOA架構(gòu)之前,就應(yīng)該先搞清楚它的適用范圍了。
這里之所以特意把安全問題拿出來作為一個獨立的段落,是因為安全問題對一個系統(tǒng)來說應(yīng)該受到足夠的重視。如果你沒有在在它上面付出應(yīng)有的努力,也許,它就會成為導(dǎo)致SOA架構(gòu)在實施的時候失敗的主要原因。
由于SOA架構(gòu)的松散耦合性,當(dāng)其向客戶提供服務(wù)時,任何形式的網(wǎng)絡(luò)都能獲取IT應(yīng)用程序和系統(tǒng)時,人們會本能的擔(dān)心非正當(dāng)人群也能訪問程序和系統(tǒng)?;ヂ?lián)網(wǎng)對世界開放,從而更加劇了人們的這一擔(dān)憂。通常我們企業(yè)都知道保護網(wǎng)絡(luò)接入,認證用戶以及運行訪問控制列表。假設(shè)所采用的SOA基礎(chǔ)架構(gòu)具有實施安全粒度的全力,這就使得有效控制訪問方式成為可能。但是,如果保證數(shù)據(jù)在網(wǎng)絡(luò)中輸送的隱秘性又是一個難題,要達到一定的保護水平,可以采用各種加密標(biāo)準(zhǔn)。然而不幸的是,市場并沒有很好的處理整個SOA安全事件,簡單的看很多與安全相關(guān)的web服務(wù)“標(biāo)準(zhǔn)”草案都是尚未成熟,考慮欠佳,并不真正的實用。
那么一般來說,我們針對SOA的安全能做些什么呢?需要的SOA網(wǎng)絡(luò)安全策略和許多的基于web的應(yīng)用程序是采用相同的策略的,他們采用的方式都可以歸結(jié)為創(chuàng)建一個虛擬局域網(wǎng)來保證服務(wù)器和客戶端達到交互,使用數(shù)字證書來建立 SSL(secure socket layer)保護或者HTTPS?;蛘咄ㄟ^在軟件或者硬件上部署防火墻基礎(chǔ)架構(gòu)來檢測通過SOA進來的可疑請求。但是這只是構(gòu)建一個安全的通道,我們依舊不能保證數(shù)據(jù)不被竊取,所以,為了確保數(shù)據(jù)的安全性,我們需要對數(shù)據(jù)加密。針對SOA架構(gòu)來,說,就是對原始的XML數(shù)據(jù)進行保護了,通常,我們采用XML加密和XML簽名來把安全加入到基于XML的數(shù)據(jù)中去。XML加密可以讓數(shù)據(jù)能夠在請求者和晌應(yīng)者之間以一種模糊的方式傳輸,這樣,即使數(shù)據(jù)受到竊取,信息也很難讀懂。而XML簽名,則是用來進行XML文檔的篡改檢測的。它可以保證所傳輸?shù)臄?shù)據(jù)沒有收到篡改或者狀態(tài)沒有發(fā)生改變。至于具體的操作方式,限于篇幅。就不在這里詳細講解了。
盡管SOA產(chǎn)品和平臺已經(jīng)發(fā)展有一段時間了。但這僅僅意味著開始。相信SOA架構(gòu)在以后的一段時間內(nèi),仍然會有巨大的發(fā)展。但畢竟SOA架構(gòu)也還是存在一些問題,所以,對于用戶而言,究竟該選擇什么平臺或者什么產(chǎn)品,的確是應(yīng)該三思而行。