軟件測試之基于ROSE的Web Service建模 Web測試
關鍵字:Web Service 建模 第一部分 使用UML為Web Service架構建模
作者注:
此部分根據RUP的資料進行整理,作者將此部分為序言,逐步分析以UML建模的實現Web Service架構,以下的將采用以WebLogic提供服務,基于Java實現為例說明。此部分作者直接引用資料或相關圖片知識產權屬于RUP提供商。
近年來,IT 詞匯表中出現了一條新的術語,它就是"Web 應用程序"。參與業務軟件系統的所有人似乎都有構建 Web 應用程序的計劃,而在與業務不相關的軟件方面也有很多人對此感興趣。對于很早前就采用這種構架的許多人來說,Web 應用程序這個詞象系統本身一樣,已經從成功的小型 Web 站點插件發展成了強壯的 n 層應用程序。Web 應用程序可以同時為分布在世界各地的、成千上萬的用戶提供服務,這種情況早已司空見慣。構建 Web 應用程序是一件嚴肅的事情。
在實際應用中,Web 應用程序這個詞對不同的人而言含義略有不同。一些人認為凡是用到 Java 的都是 Web 應用程序,而另一些人則認為凡是使用 Web 服務器的都是 Web 應用程序。多數人的意見介于這兩者之間。站在本文的角度,我們將 Web 應用程序大體定義為 Web 系統(Web 服務器、網絡、HTTP、瀏覽器),在這個系統中,用戶的輸入(導航和數據輸入)會影響到業務狀態。該定義試圖將 Web 應用程序確立為一個具有業務狀態的軟件系統,并且它的"前端"基本上是通過 Web 系統傳遞的。
Web 應用程序的總體構架是一個客戶機服務器系統,但二者有幾點顯著的區別。Web 應用程序最重要的優點之一在于它的部署。部署 Web 應用程序通常指的是建立網絡的服務器端構件??蛻舳瞬恍枰貏e的軟件或配置。兩者的另一個重大差異在于客戶機和服務器通信的本質。Web 應用程序的基本通信協議是 HTTP,這是一個無連接協議,它不是為最大的通信吞吐量設計的,而是為強壯性和容錯而設計的。在 Web 應用程序中,客戶機和服務器的通信通常圍繞 Web 頁導航進行,而不是在服務器端和客戶端對象之間直接通信。在一定的抽象程度上,Web 應用程序中所有的信息傳遞都可描述為 Web 頁實體的請求和接收。通常所說的 Web 應用程序構架與動態 Web 站點的構架并無太大區別。
Web 應用程序與 Web 站點,甚至是與動態 Web 站點的區別都要涉及到使用。Web 應用程序實現的是業務邏輯,它的使用改變了業務的狀態(其狀態為系統捕獲)。這是很重要的,因為它確定了建模工作的重點。Web 應用程序執行業務邏輯,因此大多數重要的系統模型都側重于業務邏輯和業務狀態,而不是表示細節。表示很重要(否則系統將毫無用處),不過應盡量將業務和表示所關注的問題區分開。如果表示問題是重要的,甚至是復雜的,那么也需要對它們建模,但不必將它們作為業務邏輯模型的構成部分。此外,用于表示的資源更注重外觀設計,而與實施業務規則關系不大。
原文轉自:http://www.anti-gravitydesign.com