數據服務開發人員
或許我們應該稱他為信息結構工程師。他要負責提取底層的數據層并將其暴露給架構中的其它層,甚至提供給外部的其它系統。比如,假如購物車業務服務允許多種支付方式(美國運通卡、Visa和Pay Pal)。另外,不同產品(書籍、DVD、衣物等)分別由不同的庫存系統進行管理。我們需要隱藏這些復雜的東西,并可以隨時添加其它的支付服務和庫存管理方式。因此,我們使用數據服務來為購物車提供數據的邏輯視圖。也就是說,我們創建了一個可以提供給購物車的標準的支付與庫存信息。只要購物車使用的是這些標準消息,那么底層的各種支付與庫存服務的物理實現就毫無干系。購物車服務只需要識別這些信息的標準格式,而標準信息到接收系統的轉換工作就交給數據服務層。
這一層的開發人員(或架構師)必須具備數據建模和數據庫設計領域方面的知識。即使公司有工具可以管理這一層(我們也建議這樣做),管理員這一職位也是需要的。
數據庫開發人員
現在各個企業通常都有這一層,這就是DBA工作的地方。在SOA環境下,DBA必須更緊密地與架構中其它層的開發人員合作。他們必須明白各層的安全與性能要求,并保證底層的數據模型能夠滿足這些要求。因為舊系統的集成在當前的SOA建設中還很常見,所以通常都會需要DBA創建結構的視圖,甚至建立新的ETL過程為架構中的其它層提供數據視圖。
安全開發人員
雖然安全專家們可以不做實際的開發工作,但是必須有人或者有團隊能夠了解當前SOA所面臨的安全方面的挑戰。SOA可能會產生以下威脅:
· 暴露原本不可暴露在防火墻外的舊系統
· 多系統之間的免登錄切換需要信任
· 將一條信息分別按不同的安全準則發往多個合作伙伴
· 將信用卡或其它隱私問題暴露到網絡上
現在的多層安全模型在B2B類型的SOA上尚存在許多不足。這一領域的開發人員必須對信息協議、安全性最佳實踐、網絡架構、法案(比如HIPAA、SOX、PCI)和WS-*或其它標準有深入的了解。
總結
我們可以看到,成功實現SOA需要多種截然不同的開發技能。要找到一個熟練掌握所有技能的人是不實際的。即使有這么一個人,那么他也只可能在你的架構團隊里。這個架構的高明之處在于它能夠把各層的問題分解并解決掉。一個業務服務可以由各層的許多人員共同完成。這需要堅固的治理、扎實的技巧和團隊協作,而這也正是為什么需要在合適的位置安排合適的人來解決SOA中出現問題的原因。下一篇文章將討論SOA系統中測試人員所需技能,以及他們與開發團隊的關系。
文章來源于領測軟件測試網 http://www.kjueaiud.com/