【转】Web服务软件工厂
patterns & practices開發中心
摘要
Web服務軟件工廠(英文為Web Service Software Factory,也稱作服務工廠)是一個集成的工具、模式、源代碼和規范性指導的集合。它的設計是為了幫助你迅速、一致地構建符合普遍的體系結構和設計模式的Web服務。
如果你是一名負責創建面向服務的應用程序的架構師或開發員,那么我們的patterns & practices (模式與實踐)小組就會邀請你參加學習,以了解服務工廠在未來的服務開發活動中的作用。服務工廠提供了相關的指導,以幫助你應對眾多與創建ASP.NET (ASMX)、Windows Communication Foundation (WCF) Web服務和分布式應用程序組件相關的挑戰。這些挑戰包括:
| ? | 設計ASMX和WCF消息以及服務接口。 |
| ? | 應用異常屏蔽和異常處理。 |
| ? | 在域模型中設計業務實體。 |
| ? | 轉換往返于業務實體的消息。 |
| ? | 設計、創建和調用數據訪問層。 |
| ? | 使用代碼分析來驗證服務的實現、配置和安全性的一致性。 |
| ? | 為移植到WCF制定計劃。 |
| ? | 向WCF服務應用安全措施。 |
| ? | 應用消息驗證工具。 |
使用下列信息來確定服務工廠是否適合你、你的團隊以及你正在創建的服務。
下載
| ? | Web Service Software Factory–December 2006 (ASP.NET and WCF services in C#) |
| ? | Web Service Software Factory–July 2006 (ASP.NET services in VB.NET) |
| ? | Web Service Software Factory Hands-on Lab |
媒體
| ? | MSDN Architecture Webcast: Web Service Software Factory (27 June 2006) |
| ? | Web Service Software Factory Presentation (with PowerPoint slides) |
| ? | Web Service Software Factory Demonstration (with code files) |
| ? | MSDN Webcast: Web Service Software Factory (5 April 2007) |
社區
| ? | Web Service Software Factory Community Workspace |
| ? | The Service Factory Blogs |
許可
| ? | End User Licensing Agreement (EULA) |
本頁內容
| 服務工廠(Service Factory)是什么? | |
| 目標受眾 | |
| 入門指南 | |
| 系統要求 | |
| 未來計劃 | |
| 已知問題 | |
| 反饋和支持 | |
| 作者和參與人員 |
服務工廠(Service Factory)是什么?
總體來說,服務工廠代表了一個指導集合,它可以幫助架構師和開發人員創建特定類型的應用程序。因此,服務工廠可幫助開發人員和架構師創建Web服務應用程序。Web服務應用程序不僅僅屬于發送和接收SOAP消息并公布WSDL協定的技術,它們還包括了實施服務行為所需的功能。圖1展示了此應用程序的各個組件以及它們彼此之間的關系,服務工廠將幫助你創建它們。
圖1. 服務工廠創建的服務的結構
除了“摘要”部分列出的挑戰之外,實際上這些技術一直都在發展變化。另外一個應該注意的挑戰是如何使用.NET Framework 2.0 (ASP.NET和Web Services Enhancements (WSE))創建XML Web服務,以便使它們可以在不久的將來移植到NET Framework 3.0 (WCF、Windows Workflow (WF)和CardSpace?)中。服務工廠可基于目前發布的技術創建服務,這些技術可能成為未來的技術。它能夠引入與下一代技術密切相關的概念,并提供可最大限度減少未來變化的設計指導,從而完成此項工作。如果你已經在使用WCF創建服務,那么服務工廠還可幫助你創建和保護這些服務。
服務工廠的指導可通過三種基本方式獲得:
| ? | 書面文檔。除了通過服務工廠提供的詳細基本主題和可打印的范例之外,還有幾個與體系結構相關的主題,它們介紹了更詳細的指導信息和指導的基本原理。例如:
| ||||||||
| ? | 指導包。通過結合指導包使用指導自動化擴展程序(Guidance Automation Extensions),開發人員可以使用向導和快捷菜單與Visual Studio 2005進行“對話”。對話將會生成源代碼和配置,它們可遵循已證實可行的實踐方法。服務工廠中包含了兩個指導包:
| ||||||||
| ? | 引用實現。世界銀行(Global Bank)是一個虛構的組織,該解決方案滿足了它的需求。該解決方案是使用上述的指導包創建的,它可用作一個實例,以說明如何對服務使用附加功能,比如日志、異常管理等。欲了解詳細信息,請參見世界銀行方案(Global Bank Scenario)。 服務工廠提供了下列好處:
|
目標受眾
基于目標受眾,服務工廠將提供不同等級的價值。目標受眾可由服務工廠用戶的角色和正在創建的應用程序的類型進行定義:
| ? | 架構師。如果你是一名關注面向服務的架構師,由于你的角色責任,服務工廠的設計很可能考慮到了你的因素。 | ||||||||
| ? | 團隊開發人員。如果你是某個團隊中的一名開發人員,并且你的責任沒有跨越圖1中的所有層級,那么各指導包就可以分別安裝,以幫助你創建你負責的那部分應用程序。這些不同的層級經??梢酝瑫r開發。而且,服務工廠應該能夠幫助較大的團隊實現更高的生產力收益。 | ||||||||
| ? | 單獨的開發人員。如果你是一名負責創建整個服務的開發人員,那么對于你如何、何時執行構建每個層級所需的活動,服務工廠都提供了詳細的指導。在此過程中,你還將獲得自信你正在遵循既定的模式和已證實可行的實踐方法。 | ||||||||
| ? | 服務類型。服務工廠的這個發布版本有助于實施以下服務:
|
patterns & practices小組希望個人和組織能夠在使用服務工廠進行服務開發的過程中實行標準化。這將保證各種服務之間的一致性,并為將來的技術發展提供可預測性。
返回頁首入門指南
了解服務工廠的最佳方式是觀看“摘要”部分中列出的網絡廣播。該簡介將告訴你為什么要創建服務工廠,同時它還會在Visual Studio中演示本指導的自動化體驗。在網絡廣播結束之前,將會演示如何使用服務工廠的下一個發布版本向WCF服務應用安全性。
開始評估服務工廠的最佳方式是下載“摘要”部分中列出的動手實驗。該實驗介紹了使用C#為虛構的Coho Winery構建ASP.NET服務的過程中要進行的眾多活動:
| ? | 練習1:創建解決方案結構 |
| ? | 練習2:創建數據類型 |
| ? | 練習3:創建消息類型 |
| ? | 練習4:創建服務操作 |
| ? | 練習5:創建業務實體 |
| ? | 練習6:在消息和業務實體之間進行轉換 |
| ? | 練習7:創建CRUD(創建、讀取、更新、刪除)的存儲過程 |
| ? | 練習8:創建數據存儲庫類 |
| ? | 練習9:調用數據訪問層 |
| ? | 練習10:連接客戶端和測試服務 |
該實驗采取了一種整體集中的方式,這樣就可以按順序完成練習,但你也可以從任何一點開始做起,以任何適合你學習的順序完成練習。
如果你想更詳細地了解某些特定的領域,你可以使用文檔中的“瀏覽服務工廠”主題。
返回頁首系統要求
如要在開發環境中查看和運行服務工廠的資產,你需要在計算機上安裝下列軟件:
| ? | Microsoft Windows 2000、Windows XP Professional、Windows Server 2003或Windows Vista操作系統 |
| ? | Microsoft .NET Framework 3.0 |
| ? | Microsoft Visual Studio 2005 (除Express版之外) |
| ? | Microsoft SQL Server 2005 Express Edition或SQL Server 2005 |
| ? | 指導自動化擴展程序技術預覽(2006年6月發布,用于Visual Studio 2005) |
另外,你可能需要安裝下列軟件:
| ? | 如果你要修改Web服務軟件工廠的指導包,那么除了指導自動化擴展程序之外,你還須安裝指導自動化工具包技術預覽(2006年6月發布,用于Visual Studio 2005)。 |
| ? | 如果你要使用企業庫配置工具(Enterprise Library Configuration Tool),比如修改引用實現中正在使用的數據訪問應用程序塊(Data Access Application Block)里面的配置,你就需要安裝.NET Framework 2.0的企業庫。 |
| ? | 如要進行Visual Studio Team System (VSTS)單元測試,你必須安裝Visual Studio Team System 2005版。欲了解VSTS的詳細信息,請參見MSDN上的Microsoft Visual Studio小組系統開發人員中心。 |
| ? | 如要進行NUnit測試,你必須安裝NUnit 2.2.7.0版。你可以從NUnit網站下載NUnit。 |
未來計劃
好消息是,這不是Web服務軟件工廠的最后一個版本。服務工廠的下一個版本將在2007日歷年度結束之前發布,其側重點主要集中在服務建模、附加的自動化指導以及組成應用程序體系結構的各個組件。這些版本的發布計劃尚處于最初階段,不過它們的核心內容可能會包括以下方面:
| ? | 服務建模 |
| ? | 數據訪問 |
服務建模
服務工廠下一個發布版本的主題是支持使用領域特定語言(DSL)進行Web服務建模。具體如何實現這項目標尚未最終確定。欲了解服務工廠下一個發布版本的詳細信息,請對服務工廠 社區站點保持關注。
數據訪問
服務工廠的這個發布版本包括了相關的指導,其目的是在使用ADO.NET 2.0創建基于業務實體的數據訪問層的同時,使開發人員能夠遵循已證實可行的實踐方法。
Visual Studio的下一個發布版本將包含附加的功能,它們的設計是為了通過.NET語言集成查詢(LINQ)的形式簡化數據驅動的.NET Framework應用程序的設計和實現過程。專用于ADO.NET的LINQ使LINQ編程模型能夠與Microsoft托管代碼數據訪問平臺協同工作。由于提供了這些新技術,創建數據驅動應用程序的建議性實踐方法也將得到更新。
服務工廠的初期版本定位于ADO.NET 2.0,但是創建數據訪問層和實體的建議模式和方法的設計是為了簡化將來到ADO.NET LINQ技術的移植過程。為了演示此移植過程,patterns & practices小組將發布相關的移植指導和參考實現工具,它們展示了服務工廠的體系機構是如何應用這些新技術的。服務工廠也將得到升級,以便在這些技術正式發布時對它們提供完整的支持。
返回頁首已知問題
欲了解服務工廠已知問題的相關信息,請閱讀KnownIssues.htm文件。欲查看該文件,請單擊任務欄上的開始,指向所有程序,指向Microsoft patterns & practices,指向Web Service Software Factory,然后單擊已知問題。
返回頁首反饋和支持
如要提供有關本指導的反饋或獲得針對任何問題的幫助,請訪問Web服務軟件工廠社區網站。社區工作區上的留言板是首選的反饋和支持渠道,因為它允許你與整個社區分享你的想法、問題和解決方案。
說明 你需要了解,社區工作區上的所有發布內容在任何情況下都不是最終版本,這一點非常重要。它們尚未通過一系列完整的性能和安全性測試,因此patterns & practices小組推薦你將這些從社區下載的文件視為試驗性指導內容。
返回頁首作者和參與人員
The Service Factory was produced by the following individuals:
| ? | Program and Product management: Don Smith, Dmitri Ossipov, Jason Hogg, Sanjeev Garg, and Tom Hollander (Microsoft Corporation) |
| ? | Architect: Dragos Manolescu, Wojtek Kozaczynski, and Edward Jezierski (Microsoft Corporation) |
| ? | Development: Chris Tavares (Microsoft Corporation); Hernan de Lahitte (Digit Factory); Pablo Galiano, Juan Wajnerman, José Escrich (Clarius Consulting); and Brian Button (Asynchrony Solutions, Inc.) |
| ? | Test: Larry Brader and Carlos Farre (Microsoft Corporation); Tushar More, Mani Krishnaswami, Manickavasagam Shanmugasundaram, Arunkumar Sundararajan, Sajjad Nasir Imran, Meenakshi Krishnamoorthi, Muralidharan C Narayanan, Manu Agarwal, Bhavin Raichura, Vinod Kumar S, Venkata Reddy Donthireddy, and Lalitha Sundaram (Infosys Technologies Ltd) |
| ? | Documentation: Nelly Delgado and RoAnn Corbisier (Microsoft Corporation); Lonnie Wall (RDA Corporation); William French (Linda Werner & Associates, Inc.); Paul Slater (Wadeware LLC); Tim Osborn (Ascentium Corporation); Tina Burden McGrayne (TinaTech, Inc.); and Claudette Siroky (CI Design Studio) |
Many thanks to the Microsoft Practice team at CGI's Quebec City office who contributed to the development of the Service Factory and who were entrusted with its conversion to Visual Basic .NET. A leading IT and business process services provider with approximately 25,000 professionals operating in more than 100 offices worldwide, CGI works on behalf of its clients to evolve Service Factory and other patterns & practices offerings. To learn more about CGI's Microsoft solutions, visit the CGI corporate Web site.
Many thanks to the following advisors who provided invaluable assistance:
Edward Bakker and René Schrieken (LogicaCMG); Aaron Skonnard (Pluralsight); Gabriel Gilabert and Patrick Johnston (Thomson Financial); Norman Headlam (Fidelity Investments); Brandon Bohling (Intel Corporation); Alejandro G. Jack (Southworks); Christian Weyer (Thinktecture); Daniel Cazzulino (Clarius Consulting); Steve Millet, Jan Alexander, Andy Gordon, Mark Fussell, Ford McKinstry, Steve Maine, Eugene Osovetsky, Daniel Roth, Jezz Santos, Beat Schwegler, Shy Cohen, Serena Yeoh, Vajira Weerasekera, Sam Keall, Jason McConnell, Pablo Castro, Sanjay Mishra, and Umachandar Jayachandran (Microsoft Corporation)
相關主題
Smart Client Software Factory
Mobile Client Software Factory
Guidance Automation Extensions and Guidance Automation Toolkit
Enterprise Library for .NET Framework 2.0
返回頁首
轉載說明
作者:來自微軟MSDN相關文章
網址:本文引用自http://www.microsoft.com/china/msdn/library/architecture/WebServiceFactory.mspx?mfr=true
總結
以上是生活随笔為你收集整理的【转】Web服务软件工厂的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SCCM2007 R2的部署前准备,SC
- 下一篇: 计算t-test 的C程序