天天看點

微軟企業庫(1):Enterprise Library 5.0介紹

Microsoft Enterprise Library 5.0 – 2010四月

<a href="http://msdn.microsoft.com/en-us/practices/default.aspx">patterns &amp; practices Developer Center</a>

微軟企業庫是一系列應用程式塊的集合,目标是幫助開發人員來處理常見的企業應用開發遇到的挑戰。應用子產品是作為指南,提供的代碼開發人員可以在企業項目裡用作擴充或修改使用。

【1.1】下載下傳:

<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=bcb166f7-dd16-448b-a152-9845760d9b4c&amp;displaylang=en">Microsoft Enterprise Library 5.0</a>

<a href="http://go.microsoft.com/fwlink/?LinkId=188874">Microsoft Enterprise Library 5.0 Documentation</a>

【1.2】釋出指南:

<a href="http://entlib.codeplex.com/wikipage?title=EntLib5ReleaseNotes">Release Notes</a>

【1.3】類庫:

<a href="http://msdn.microsoft.com/en-us/library/ff672062(PandP.50).aspx">Enterprise Library 5.0 Class Library on MSDN</a>

【1.4】動手實驗室:

<a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=4f8cd377-5522-4f45-a024-44a6ca5111ec">Microsoft Enterprise Library 5.0 Hands-on Labs</a>

【1.5】支援:

<a href="http://www.codeplex.com/entlib/Thread/List.aspx">Discussions for patterns &amp; practices – Enterprise Library</a>

【1.6】社群:

<a href="http://www.codeplex.com/entlib">patterns &amp; practices Enterprise Library Community Site</a>

【1.7】社群擴充:

<a href="http://www.codeplex.com/entlibcontrib">Enterprise Library Contrib Extensions</a>

【1.8】技術問題回報:

<a href="http://entlib.codeplex.com/WorkItem/List.aspx">Issue Tracker</a>

【1.9】視訊:

<a href="http://blogs.msdn.com/agile/archive/2009/12/07/enterprise-library-5-0-preview-video-posted.aspx">Enterprise Library 5.0 preview at the patterns &amp; practices summit</a>

<a href="http://channel9.msdn.com/posts/akMSFT/Whats-coming-in-EntLib-50-and-a-sneak-peek-into-the-new-EntLib-Developer-Notes/">What's coming in EntLib 5.0 and a sneak peek into the new EntLib Developer Notes</a>

<a href="http://www.microsoft.com/showcase/en/us/details/61cec1b3-23b9-4763-b8fd-939aece7bed4">Unity features and futures</a>

【1.10】許可證:

<a href="http://msdn.microsoft.com/en-us/library/dd203100.aspx">Microsoft Public License (Ms-PL)</a>

企業庫包含可複用的元件,它們可以幫助開發人員處理常見的企業應用開發的挑戰。它包含一些處理特别棘手的問題的應用子產品,比如資料通路、日志或驗證;以及無線子產品,工具和攔截/政策注入子產品,被設計用來實作更加愛松耦合的和可維護的軟體系統。

不同的應用程式有不同的需求,你會發現在自己的項目裡使用這些子產品不是那麼地合适。在使用應用子產品之前,你應該清楚地了解自己應用程式的需求,而且應用子產品處理的場景。注意釋出的企業庫包含一些可選擇的安裝選項,允許你選擇安裝自己喜歡的應用程式塊。

【2.1】主要子產品:

微軟企業庫5.0包含以下子產品:

Caching Application Block. 開發人員可以使用此應用子產品與他們程式裡的緩存協同工作。 它支援可拔插與持久化的存儲機制。

Cryptography Application Block.  開發人員可以使用此應用子產品與他們程式裡的哈希與對稱加密算法協同工作。

Data Access Application Block.開發人員可以使用此子產品與他們系統中的标準的Database功能協同工作,包括同步和一部資料通路,可以傳回的多種資料格式

Exception Handling Application Block. 開發人員可以使用此子產品為異常處理建立持久化政策,處理在企業層各個層次之間發生的異常。

Logging Application Block.  開發人員可以使用此子產品來處理系統中的不同的日志需求。這次釋出改進了日志的性能。

Policy Injection Application Block.  此子產品可以用來實作偵聽政策,對于一些常見的特性實作的簡化。比如日志、緩存、異常處理和驗證。

Security Application Block. 開發人員可以使用這個子產品來與他們系統中的授權和安全緩存功能協同工作。

Unity Application Block. 開發者可以使用此子產品作為輕量級的、可擴充的依賴注入容器,帶有構造函數支援、熟悉和方法調用注入,也包含執行個體和類型注入。

Validation Application Block. Developers can use this application block to create validation rules for business objects that can be used across different layers of their applications. 開發者可以使用此子產品為業務對象去出建立建驗證規則,它可以跨越不同的應用程式層。

企業庫通用也包含了一系列核心的功能,包含配置和向導,面向對象的生命周期管理。這些功能被其它所有的應用子產品使用。

企業庫為企業級應用常見的場景提供了充分的支援功能。

你可以使用每個應用子產品的擴充點,以及通過增加新的Provider來擴充應用子產品。你也可以修改現有子產品的源代碼去開發新的功能,甚至是開發新的子產品。你也可以對現有的應用子產品進行擴充,或者你也可以使用其他人開發的擴充子產品。

企業庫的每個子產品是互相獨立的。你隻需要安裝自己需要的子產品即可,而不必安裝整個庫。

企業庫包含源代碼和所有子產品的單元測試代碼。這意味着你可以檢視所有的實作,修改子產品并嵌入到自己的庫裡,或者你可以在自己其它的程式裡使用企業庫的部分代碼。

企業庫包含文檔、動手實驗室和源代碼。企業庫嵌入了許多設計模式,示範了很多優秀的架構和編碼技巧。你可以把它作為學習架構、設計和編碼的最好執行個體。

【2.3】技術需求

這些可複用的元件和指南首先是給軟體開發者和軟體架構師的。為了最大限度地從中獲得幫助,你應該了解一下技術:

Microsoft Visual C# 或 Microsoft Visual Basic .NET

Microsoft .NET Framework

IT專業人員和系統管理者将會從中受益,因為它能幫助簡化系統部署和維護的工作。IT專業人員可以使用配置控制台程式去修改應用子產品的配置,而不需要編寫任何代碼。

Binaries. 企業庫包含所有代碼的預編譯、強命名的程式集

Source code. 企業庫包含應用子產品和配置工具的代碼

Unit tests. 企業庫包含開發時各個子產品的UnitTest代碼

【2.5】系統需求

作業系統: Microsoft Windows® 7 Professional, Enterprise或Ultimate; Windows Server 2003 R2; Windows Server 2008 with Service Pack 2; Windows Server 2008 R2; Windows Vista with Service Pack 2; 或 Windows XP with Service Pack 3.

Microsoft .NET Framework 3.5 with Service Pack 1或Microsoft .NET Framework 4.0.

為了更豐富的開發環境,推薦一下開發工具:

Microsoft Visual Studio® 2008 Development System with Service Pack 1 (任意版本)或Microsoft Visual Studio 2010 Development System (任意版本).

為了允許單元測試,必須具備以下條件:

Microsoft Visual Studio 2008 Professional, Visual Studio 2008 Team Edition, Visual Studio 2010 Premium, Visual Studio 2010 Professional, 或Visual Studio 2010 Ultimate edition.

Moq v3.1 程式集.

對于 Data Access Application Block,需要一下條件:

 .NET Framework 3.5 SP1或4.0支援的資料庫伺服器。包含,SQL Server® 2000 or later, SQL Server 2005 Compact Edition, 以及Oracle 9i 以後版本。可以通過OLE DB和ODBC支援。

對于Logging Application Block, 需要一下條件:

存儲日志消息。如果你使用消息隊列MSMQ跟蹤偵聽器去記錄日志,你需要安裝微軟消息隊列。如果你使用DataBase 跟蹤偵聽器去存儲日志消息,你需要通路資料庫伺服器。如果你使用E-Mail跟蹤偵聽器去存儲日志消息,你需要通路SMTP伺服器。如果這些條件無法滿足,你也許就不能夠使用特定的企業庫特性了。

企業庫是為開發複雜的企業級應用的開發者準備的。很顯然,企業庫大多使用在分布式部署和雨其它系統互操作的應用系統平台中。此外,它們安全性、可靠性和性能要求非常苛刻。企業庫的目标如下:

Consistency. 所有的應用子產品遵循設計模式和實作方法

Extensibility. 所有的應用子產品包含擴充點,運作開發人員通過增加自己的代碼來定制子產品的行為,

Ease of use. 企業庫提供了許多适用性方面的改進,包含配置工具,強大的程式設計配置支援,智能接口,運作你選擇需要的應用子產品的簡化安裝,以及清晰的文檔,例子和動手實驗室。

Integration. 企業庫設計來可以一起工作,也可以單獨工作的。

這次釋出的企業庫新版本包含以下重要的新特性和更新,它會讓開發者更加高效率。沒有新增子產品;相反,Team關注在如何使現有的子產品的穩定性、可維護性和可學習性更加完美上。這些新特性包括:

主要的架構重構,通過完全支援依賴注入風格的開發來該井可測試下和可維護性

獨立的依賴注入容器(Unity 與企業庫一起釋出,但你可以使用自己的容器取代Unity )

代碼化配置支援,包含更加友善的配置接口,一個XSD schema去啟用智能感覺

重新設計配置工具:

更佳的外觀和使用感覺

通過取代編寫設計時代碼需求的中繼資料驅動配置可視化改進擴充

簡化複雜配置任務的向導

更加智能化的資料查詢通路器

匿名資料通路支援

在Validation Application Block attributes和DataAnnotations 之間選擇使用驗證

與WPF驗證機制內建

支援複雜的配置場景,包括多個配置代碼合并于階層化合并

優化Cache回收機制

更好的日志性能

支援使用 Microsoft Visual Studio 2010 與.NET 4.0 Framework 內建

改進Unity

改程序式集數量

Product/Program Management: Grigori Melnik (Microsoft Corporation)

Architecture/Development: Bob Brumfield and Chris Tavares (Microsoft Corporation), Fernando Simonazzi (Clarius Consulting), Nicolas Botto (Digit Factory) and Olaf Conijn (Olaf Conijn BV)

Testing: Carlos Farre, Masashi Narumoto and Rohit Sharma (Microsoft Corporation), Nicolas Botto (Digit Factory), Lavanya Selvaraj, Magdelene Sona, Mani Krishnaswami, Meenakshi Krishnamoorthi, Santhosh Panneerselvam, and Ravindra Varman (Infosys Technologies Ltd), Erik Renaud and François Tanguay (nVentive Inc), Rick Carr (DCB Software Testing, Inc)

User experience: Damon van Vessem, Heidi Adkisson, Jen Amsterlaw, and Kelly Franznick (Blink Interactive), and Brad Cunningham (Interknowlodgy)

Documentation: Alex Homer (Microsoft Corporation) and Dennis DeWitt (Linda Werner &amp; Associates Inc)

Editing and production: RoAnn Corbisier and Steve Elston (Microsoft Corporation), Nancy Michel (Content Master Ltd.), and Patrick Lanfear and Tom Draper (Twist Creative LLC)

Release management: Richard Burte (ChannelCatalyst.com, Inc.) and Jennifer Burch (DCB Software Testing, Inc)

Business administration support: Tracy Emory (Microsoft Corporation)

非常感謝Enterprise Library 5.0 Advisory Board成員:

Brian Button (Asynchrony Solutions),

Kyle Huntley (Avanade),

David Starr (Elegant Code),

Wallin Ludwik (Volvo), Bill Wilder (Fidelity),

Andrej Golcov (Hermes SoftLab),

John Askew, Nicholas Blumhardt, Martin Bennedik and Serge Baranovsky (Independent),

Evgeny Sorokin and Ksenia Mukhortova (Intel),

Scott Nichols (Idaho Central),

Eng Chong Lim and Isabel Niu (McDonald's Corporation),

Aaron Hanks, Glenn Block, Hugo Batista, Jason Hogg, Jason Olson, John Czernuszka, Joshy Joseph, Lenny Fenster, Massimo Mascaro, Matthew Podwysocki, Tom Hollander, Piyush Gupta, and Scott Densmore (Microsoft)

Matthew Buonomano and Nikola Malovic (Monster.com),

Daniel Piessens and Phill Van Hoven (Red Prairie),

Walter Wu (Royal Bank of Canada),

非常感謝以下人員預覽Microsoft Enterprise Library 5.0并提出了許多有價值的回報和想法:

Ade Miller, Blaine Wastell, David Hill, Don Smith, Eugenio Pace, and Mohammad Al-Sabt (Microsoft Corporation).

<a href="http://msdn.microsoft.com/en-us/practices/default.aspx">Microsoft patterns &amp; practices Developer Center</a>

<a href="http://msdn.microsoft.com/en-us/library/cc467894.aspx">Microsoft Enterprise Library Home Page</a>

<a href="http://msdn.microsoft.com/unity">Unity Application Block</a>

<a href="http://msdn.microsoft.com/en-us/library/dd673617.aspx">Microsoft Application Architecture Guide, Second Edition</a>

英文原文:

<a href="http://msdn.microsoft.com/en-us/library/ff632023.aspx">http://msdn.microsoft.com/en-us/library/ff632023.aspx</a>

下載下傳位址:

<a href="http://entlib.codeplex.com/">http://entlib.codeplex.com/</a>

 本文轉自 frankxulei 51CTO部落格,原文連結:http://blog.51cto.com/frankxulei/408373,如需轉載請自行聯系原作者