AOP技術對服務的幫助
由于有很多的文章討論了AOP技術,我們這里就不再重復了,所以以下的內容是假設你已經擁有基本的AOP概念。在qca網站上對AOP做了一些簡單的整理。(http://qca.cn/common/content.htm) AOP作為OO技術的補足,能夠以一種優雅的方式來處理系統的橫切點。服務層面是應用AOP的絕佳位置:

在上圖中,我們看到一個普通的用戶注冊服務通過AOP可以動態的添加各種各樣的能力。AOP提供了幾個好處,一是能夠通過簡單的代碼為所有的服務添加功能,而不用為每個服務編寫代碼,從而大大節省了代碼量;二是把橫切點分離出來,這樣服務僅保留了核心的代碼,提高了系統的模塊化程度;最后一點是模塊化的增加使得為服務動態的增加或刪除功能成為可能,例如,可以通過配置動態的將新的Aspect添加到用戶注冊服務上。
服務的測試
服務測試在測試的分類中屬于接受測試。服務概念的引入使得自動化的接受測試變得容易了。在大規模的軟件設計中,業務流程往往涉及到各種組件通過服務介面的相互協作。所以這就是測試的重點;氐轿覀冎坝懻摰慕M件粒度問題,如果此時你編寫出的測試代碼過于繁瑣,說明組件的設計粒度太小了,如果組件的粒度太大,你會發現有些測試代碼根本無法編寫。
服務的管理
服務的管理是一個比較大的話題。一方面,在一個大規模的系統中,雖然通過組件和服務的形式能夠降低系統的復雜度,但是服務仍然很多,需要進行管理;另一方面,服務的狀態,服務的可用性需要監控和管理,這對于大規模應用來說是必須的。因此,服務需要一種管理形式。
JMX規范提出的目的也是一個對各種不同的組件進行統一管理。和我們所闡述的有類似之處。JMX分為規范和遠程接口兩個部分,在J2SE1.5版本中,JMX已經納入到J2SE的范疇中了,有興趣的讀者可以參考sun的相關文檔。
軟件總線和軟件工廠
直到目前為止,軟件開發仍然屬于手工作坊階段,如果要和制造業的水平相對應的話,基本上是處于蒸氣機發明之前的水平。隨著軟件開發技術的發展,軟件開發也將象制造業一樣,步入"工業"時代。不過對于軟件開發來說,機器仍然是代碼,只不過這些代碼是用來代替開發人員的編碼活動的,他具有比手工編碼更高的生產力。我們把這些高產量的"機器"描述成現代化的軟件工廠。那么,軟件工廠到底是什么?要了解軟件工廠,我們需要先了解軟件總線的概念。
文章來源于領測軟件測試網 http://www.kjueaiud.com/