【转】Web服务软件工厂
patterns & practices開發(fā)中心
摘要
Web服務(wù)軟件工廠(英文為Web Service Software Factory,也稱作服務(wù)工廠)是一個(gè)集成的工具、模式、源代碼和規(guī)范性指導(dǎo)的集合。它的設(shè)計(jì)是為了幫助你迅速、一致地構(gòu)建符合普遍的體系結(jié)構(gòu)和設(shè)計(jì)模式的Web服務(wù)。
如果你是一名負(fù)責(zé)創(chuàng)建面向服務(wù)的應(yīng)用程序的架構(gòu)師或開發(fā)員,那么我們的patterns & practices (模式與實(shí)踐)小組就會(huì)邀請(qǐng)你參加學(xué)習(xí),以了解服務(wù)工廠在未來的服務(wù)開發(fā)活動(dòng)中的作用。服務(wù)工廠提供了相關(guān)的指導(dǎo),以幫助你應(yīng)對(duì)眾多與創(chuàng)建ASP.NET (ASMX)、Windows Communication Foundation (WCF) Web服務(wù)和分布式應(yīng)用程序組件相關(guān)的挑戰(zhàn)。這些挑戰(zhàn)包括:
| ? | 設(shè)計(jì)ASMX和WCF消息以及服務(wù)接口。 |
| ? | 應(yīng)用異常屏蔽和異常處理。 |
| ? | 在域模型中設(shè)計(jì)業(yè)務(wù)實(shí)體。 |
| ? | 轉(zhuǎn)換往返于業(yè)務(wù)實(shí)體的消息。 |
| ? | 設(shè)計(jì)、創(chuàng)建和調(diào)用數(shù)據(jù)訪問層。 |
| ? | 使用代碼分析來驗(yàn)證服務(wù)的實(shí)現(xiàn)、配置和安全性的一致性。 |
| ? | 為移植到WCF制定計(jì)劃。 |
| ? | 向WCF服務(wù)應(yīng)用安全措施。 |
| ? | 應(yīng)用消息驗(yàn)證工具。 |
使用下列信息來確定服務(wù)工廠是否適合你、你的團(tuán)隊(duì)以及你正在創(chuàng)建的服務(wù)。
下載
| ? | 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) |
社區(qū)
| ? | Web Service Software Factory Community Workspace |
| ? | The Service Factory Blogs |
許可
| ? | End User Licensing Agreement (EULA) |
本頁內(nèi)容
| 服務(wù)工廠(Service Factory)是什么? | |
| 目標(biāo)受眾 | |
| 入門指南 | |
| 系統(tǒng)要求 | |
| 未來計(jì)劃 | |
| 已知問題 | |
| 反饋和支持 | |
| 作者和參與人員 |
服務(wù)工廠(Service Factory)是什么?
總體來說,服務(wù)工廠代表了一個(gè)指導(dǎo)集合,它可以幫助架構(gòu)師和開發(fā)人員創(chuàng)建特定類型的應(yīng)用程序。因此,服務(wù)工廠可幫助開發(fā)人員和架構(gòu)師創(chuàng)建Web服務(wù)應(yīng)用程序。Web服務(wù)應(yīng)用程序不僅僅屬于發(fā)送和接收SOAP消息并公布WSDL協(xié)定的技術(shù),它們還包括了實(shí)施服務(wù)行為所需的功能。圖1展示了此應(yīng)用程序的各個(gè)組件以及它們彼此之間的關(guān)系,服務(wù)工廠將幫助你創(chuàng)建它們。
圖1. 服務(wù)工廠創(chuàng)建的服務(wù)的結(jié)構(gòu)
除了“摘要”部分列出的挑戰(zhàn)之外,實(shí)際上這些技術(shù)一直都在發(fā)展變化。另外一個(gè)應(yīng)該注意的挑戰(zhàn)是如何使用.NET Framework 2.0 (ASP.NET和Web Services Enhancements (WSE))創(chuàng)建XML Web服務(wù),以便使它們可以在不久的將來移植到NET Framework 3.0 (WCF、Windows Workflow (WF)和CardSpace?)中。服務(wù)工廠可基于目前發(fā)布的技術(shù)創(chuàng)建服務(wù),這些技術(shù)可能成為未來的技術(shù)。它能夠引入與下一代技術(shù)密切相關(guān)的概念,并提供可最大限度減少未來變化的設(shè)計(jì)指導(dǎo),從而完成此項(xiàng)工作。如果你已經(jīng)在使用WCF創(chuàng)建服務(wù),那么服務(wù)工廠還可幫助你創(chuàng)建和保護(hù)這些服務(wù)。
服務(wù)工廠的指導(dǎo)可通過三種基本方式獲得:
| ? | 書面文檔。除了通過服務(wù)工廠提供的詳細(xì)基本主題和可打印的范例之外,還有幾個(gè)與體系結(jié)構(gòu)相關(guān)的主題,它們介紹了更詳細(xì)的指導(dǎo)信息和指導(dǎo)的基本原理。例如:
| ||||||||
| ? | 指導(dǎo)包。通過結(jié)合指導(dǎo)包使用指導(dǎo)自動(dòng)化擴(kuò)展程序(Guidance Automation Extensions),開發(fā)人員可以使用向?qū)Ш涂旖莶藛闻cVisual Studio 2005進(jìn)行“對(duì)話”。對(duì)話將會(huì)生成源代碼和配置,它們可遵循已證實(shí)可行的實(shí)踐方法。服務(wù)工廠中包含了兩個(gè)指導(dǎo)包:
| ||||||||
| ? | 引用實(shí)現(xiàn)。世界銀行(Global Bank)是一個(gè)虛構(gòu)的組織,該解決方案滿足了它的需求。該解決方案是使用上述的指導(dǎo)包創(chuàng)建的,它可用作一個(gè)實(shí)例,以說明如何對(duì)服務(wù)使用附加功能,比如日志、異常管理等。欲了解詳細(xì)信息,請(qǐng)參見世界銀行方案(Global Bank Scenario)。 服務(wù)工廠提供了下列好處:
|
目標(biāo)受眾
基于目標(biāo)受眾,服務(wù)工廠將提供不同等級(jí)的價(jià)值。目標(biāo)受眾可由服務(wù)工廠用戶的角色和正在創(chuàng)建的應(yīng)用程序的類型進(jìn)行定義:
| ? | 架構(gòu)師。如果你是一名關(guān)注面向服務(wù)的架構(gòu)師,由于你的角色責(zé)任,服務(wù)工廠的設(shè)計(jì)很可能考慮到了你的因素。 | ||||||||
| ? | 團(tuán)隊(duì)開發(fā)人員。如果你是某個(gè)團(tuán)隊(duì)中的一名開發(fā)人員,并且你的責(zé)任沒有跨越圖1中的所有層級(jí),那么各指導(dǎo)包就可以分別安裝,以幫助你創(chuàng)建你負(fù)責(zé)的那部分應(yīng)用程序。這些不同的層級(jí)經(jīng)常可以同時(shí)開發(fā)。而且,服務(wù)工廠應(yīng)該能夠幫助較大的團(tuán)隊(duì)實(shí)現(xiàn)更高的生產(chǎn)力收益。 | ||||||||
| ? | 單獨(dú)的開發(fā)人員。如果你是一名負(fù)責(zé)創(chuàng)建整個(gè)服務(wù)的開發(fā)人員,那么對(duì)于你如何、何時(shí)執(zhí)行構(gòu)建每個(gè)層級(jí)所需的活動(dòng),服務(wù)工廠都提供了詳細(xì)的指導(dǎo)。在此過程中,你還將獲得自信你正在遵循既定的模式和已證實(shí)可行的實(shí)踐方法。 | ||||||||
| ? | 服務(wù)類型。服務(wù)工廠的這個(gè)發(fā)布版本有助于實(shí)施以下服務(wù):
|
patterns & practices小組希望個(gè)人和組織能夠在使用服務(wù)工廠進(jìn)行服務(wù)開發(fā)的過程中實(shí)行標(biāo)準(zhǔn)化。這將保證各種服務(wù)之間的一致性,并為將來的技術(shù)發(fā)展提供可預(yù)測(cè)性。
返回頁首入門指南
了解服務(wù)工廠的最佳方式是觀看“摘要”部分中列出的網(wǎng)絡(luò)廣播。該簡(jiǎn)介將告訴你為什么要?jiǎng)?chuàng)建服務(wù)工廠,同時(shí)它還會(huì)在Visual Studio中演示本指導(dǎo)的自動(dòng)化體驗(yàn)。在網(wǎng)絡(luò)廣播結(jié)束之前,將會(huì)演示如何使用服務(wù)工廠的下一個(gè)發(fā)布版本向WCF服務(wù)應(yīng)用安全性。
開始評(píng)估服務(wù)工廠的最佳方式是下載“摘要”部分中列出的動(dòng)手實(shí)驗(yàn)。該實(shí)驗(yàn)介紹了使用C#為虛構(gòu)的Coho Winery構(gòu)建ASP.NET服務(wù)的過程中要進(jìn)行的眾多活動(dòng):
| ? | 練習(xí)1:創(chuàng)建解決方案結(jié)構(gòu) |
| ? | 練習(xí)2:創(chuàng)建數(shù)據(jù)類型 |
| ? | 練習(xí)3:創(chuàng)建消息類型 |
| ? | 練習(xí)4:創(chuàng)建服務(wù)操作 |
| ? | 練習(xí)5:創(chuàng)建業(yè)務(wù)實(shí)體 |
| ? | 練習(xí)6:在消息和業(yè)務(wù)實(shí)體之間進(jìn)行轉(zhuǎn)換 |
| ? | 練習(xí)7:創(chuàng)建CRUD(創(chuàng)建、讀取、更新、刪除)的存儲(chǔ)過程 |
| ? | 練習(xí)8:創(chuàng)建數(shù)據(jù)存儲(chǔ)庫類 |
| ? | 練習(xí)9:調(diào)用數(shù)據(jù)訪問層 |
| ? | 練習(xí)10:連接客戶端和測(cè)試服務(wù) |
該實(shí)驗(yàn)采取了一種整體集中的方式,這樣就可以按順序完成練習(xí),但你也可以從任何一點(diǎn)開始做起,以任何適合你學(xué)習(xí)的順序完成練習(xí)。
如果你想更詳細(xì)地了解某些特定的領(lǐng)域,你可以使用文檔中的“瀏覽服務(wù)工廠”主題。
返回頁首系統(tǒng)要求
如要在開發(fā)環(huán)境中查看和運(yùn)行服務(wù)工廠的資產(chǎn),你需要在計(jì)算機(jī)上安裝下列軟件:
| ? | Microsoft Windows 2000、Windows XP Professional、Windows Server 2003或Windows Vista操作系統(tǒng) |
| ? | Microsoft .NET Framework 3.0 |
| ? | Microsoft Visual Studio 2005 (除Express版之外) |
| ? | Microsoft SQL Server 2005 Express Edition或SQL Server 2005 |
| ? | 指導(dǎo)自動(dòng)化擴(kuò)展程序技術(shù)預(yù)覽(2006年6月發(fā)布,用于Visual Studio 2005) |
另外,你可能需要安裝下列軟件:
| ? | 如果你要修改Web服務(wù)軟件工廠的指導(dǎo)包,那么除了指導(dǎo)自動(dòng)化擴(kuò)展程序之外,你還須安裝指導(dǎo)自動(dòng)化工具包技術(shù)預(yù)覽(2006年6月發(fā)布,用于Visual Studio 2005)。 |
| ? | 如果你要使用企業(yè)庫配置工具(Enterprise Library Configuration Tool),比如修改引用實(shí)現(xiàn)中正在使用的數(shù)據(jù)訪問應(yīng)用程序塊(Data Access Application Block)里面的配置,你就需要安裝.NET Framework 2.0的企業(yè)庫。 |
| ? | 如要進(jìn)行Visual Studio Team System (VSTS)單元測(cè)試,你必須安裝Visual Studio Team System 2005版。欲了解VSTS的詳細(xì)信息,請(qǐng)參見MSDN上的Microsoft Visual Studio小組系統(tǒng)開發(fā)人員中心。 |
| ? | 如要進(jìn)行NUnit測(cè)試,你必須安裝NUnit 2.2.7.0版。你可以從NUnit網(wǎng)站下載NUnit。 |
未來計(jì)劃
好消息是,這不是Web服務(wù)軟件工廠的最后一個(gè)版本。服務(wù)工廠的下一個(gè)版本將在2007日歷年度結(jié)束之前發(fā)布,其側(cè)重點(diǎn)主要集中在服務(wù)建模、附加的自動(dòng)化指導(dǎo)以及組成應(yīng)用程序體系結(jié)構(gòu)的各個(gè)組件。這些版本的發(fā)布計(jì)劃尚處于最初階段,不過它們的核心內(nèi)容可能會(huì)包括以下方面:
| ? | 服務(wù)建模 |
| ? | 數(shù)據(jù)訪問 |
服務(wù)建模
服務(wù)工廠下一個(gè)發(fā)布版本的主題是支持使用領(lǐng)域特定語言(DSL)進(jìn)行Web服務(wù)建模。具體如何實(shí)現(xiàn)這項(xiàng)目標(biāo)尚未最終確定。欲了解服務(wù)工廠下一個(gè)發(fā)布版本的詳細(xì)信息,請(qǐng)對(duì)服務(wù)工廠 社區(qū)站點(diǎn)保持關(guān)注。
數(shù)據(jù)訪問
服務(wù)工廠的這個(gè)發(fā)布版本包括了相關(guān)的指導(dǎo),其目的是在使用ADO.NET 2.0創(chuàng)建基于業(yè)務(wù)實(shí)體的數(shù)據(jù)訪問層的同時(shí),使開發(fā)人員能夠遵循已證實(shí)可行的實(shí)踐方法。
Visual Studio的下一個(gè)發(fā)布版本將包含附加的功能,它們的設(shè)計(jì)是為了通過.NET語言集成查詢(LINQ)的形式簡(jiǎn)化數(shù)據(jù)驅(qū)動(dòng)的.NET Framework應(yīng)用程序的設(shè)計(jì)和實(shí)現(xiàn)過程。專用于ADO.NET的LINQ使LINQ編程模型能夠與Microsoft托管代碼數(shù)據(jù)訪問平臺(tái)協(xié)同工作。由于提供了這些新技術(shù),創(chuàng)建數(shù)據(jù)驅(qū)動(dòng)應(yīng)用程序的建議性實(shí)踐方法也將得到更新。
服務(wù)工廠的初期版本定位于ADO.NET 2.0,但是創(chuàng)建數(shù)據(jù)訪問層和實(shí)體的建議模式和方法的設(shè)計(jì)是為了簡(jiǎn)化將來到ADO.NET LINQ技術(shù)的移植過程。為了演示此移植過程,patterns & practices小組將發(fā)布相關(guān)的移植指導(dǎo)和參考實(shí)現(xiàn)工具,它們展示了服務(wù)工廠的體系機(jī)構(gòu)是如何應(yīng)用這些新技術(shù)的。服務(wù)工廠也將得到升級(jí),以便在這些技術(shù)正式發(fā)布時(shí)對(duì)它們提供完整的支持。
返回頁首已知問題
欲了解服務(wù)工廠已知問題的相關(guān)信息,請(qǐng)閱讀KnownIssues.htm文件。欲查看該文件,請(qǐng)單擊任務(wù)欄上的開始,指向所有程序,指向Microsoft patterns & practices,指向Web Service Software Factory,然后單擊已知問題。
返回頁首反饋和支持
如要提供有關(guān)本指導(dǎo)的反饋或獲得針對(duì)任何問題的幫助,請(qǐng)?jiān)L問Web服務(wù)軟件工廠社區(qū)網(wǎng)站。社區(qū)工作區(qū)上的留言板是首選的反饋和支持渠道,因?yàn)樗试S你與整個(gè)社區(qū)分享你的想法、問題和解決方案。
說明 你需要了解,社區(qū)工作區(qū)上的所有發(fā)布內(nèi)容在任何情況下都不是最終版本,這一點(diǎn)非常重要。它們尚未通過一系列完整的性能和安全性測(cè)試,因此patterns & practices小組推薦你將這些從社區(qū)下載的文件視為試驗(yàn)性指導(dǎo)內(nèi)容。
返回頁首作者和參與人員
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)
相關(guān)主題
Smart Client Software Factory
Mobile Client Software Factory
Guidance Automation Extensions and Guidance Automation Toolkit
Enterprise Library for .NET Framework 2.0
返回頁首
轉(zhuǎn)載說明
作者:來自微軟MSDN相關(guān)文章
網(wǎng)址:本文引用自http://www.microsoft.com/china/msdn/library/architecture/WebServiceFactory.mspx?mfr=true
總結(jié)
以上是生活随笔為你收集整理的【转】Web服务软件工厂的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SCCM2007 R2的部署前准备,SC
- 下一篇: 计算t-test 的C程序