Enterprise Library 3.1 - May 2007

 

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The latest Enterprise Library information can be found at the Enterprise Library site.

patterns & practices Developer Center

patterns & practices Developer Center

Microsoft Corporation

May 2007

Summary

This page provides an overview of the Enterprise Library 3.1. The patterns & practices Enterprise Library is a library of application blocks designed to assist developers with common enterprise development challenges. Application blocks are a type of guidance, provided as source code that can be used "as is," extended, or modified by developers to use on enterprise development projects.

Downloads
Webcasts
PowerPoint Presentations
Quality Assurance and Testing
Hands On Labs
License
Community

Contents

Overview Getting Started Documentation CommunityFuture Plans Feedback and Support Authors and Contributors Related Titles

Overview

The Enterprise Library application blocks help address the common problems that developers face from one project to the next. They are designed to encapsulate the Microsoft recommended best practices for .NET applications. In addition, they can be added to .NET applications quickly and easily. For example, the Data Access Application Block provides access to the most frequently used features of ADO.NET 2.0 in simple-to-use classes, thus boosting developer productivity. It also addresses scenarios not directly supported by the underlying class libraries.

Different applications have different requirements, and you will not find that every application block is useful in every application that you build. Before using an application block, you should have a good understanding of your application requirements and of the scenarios that the application block is designed to address.

Enterprise Library 3.1–May 2007 contains the following general purpose application blocks:

  • Caching Application Block. Developers can use this application block to incorporate a local cache in their applications.
  • Cryptography Application Block. Developers can use this application block to incorporate hashing and symmetric encryption in their applications.
  • Data Access Application Block. Developers can use this application block to incorporate standard database functionality in their applications.
  • Exception Handling Application Block. Developers and policy makers can use this application block to create a consistent strategy for processing exceptions that occur throughout the architectural layers of enterprise applications.
  • Logging Application Block. Developers can use this application block to include standard logging functionality in their applications.
  • Policy Injection Application Block. Developers can use this application block to implement interception policies that can be used to streamline the implementation of common features, such as logging, caching, exception handling, and validation, across an application.
  • Security Application Block. Developers can use this application block to incorporate authorization and security caching functionality in their applications.
  • 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.

Enterprise Library also includes a set of core functions, including configuration, instrumentation, and object builder services. These functions are used by all other application blocks.

Common Scenarios

Enterprise Library can be useful in a variety of situations:

  • Enterprise Library provides enough functionality to support many common scenarios that enterprise-level applications must address.
  • Enterprise Library can serve as the basis for a custom library. You can take advantage of the extensibility points incorporated in each application block and extend the application block by supplying new providers. You can also modify the source code for the existing application blocks to incorporate new functionality. Finally, you can add new application blocks to Enterprise Library. You can either develop extensions for existing application blocks and new application blocks yourself, or you can use extensions and application blocks developed by others.
  • Enterprise Library is designed so that its application blocks can function independently of each other. You have to add only the application blocks that your application will use; you do not have to add the entire library.
  • Enterprise Library includes the source code for the application blocks. This means you can modify the application blocks to merge into your existing library or you can use parts of the Enterprise Library source code in other application blocks or applications that you build.
  • Enterprise Library includes documentation, QuickStart samples, and source code. This means that you can use the library as a tool for learning architectural, design, and coding best practices.

Audience Requirements

This guidance is intended for software architects and software developers. To get the most benefit from this guidance, you should have an understanding of the following technologies:

  • Microsoft Visual C# or Microsoft Visual Basic .NET
  • Microsoft .NET Framework

System Requirements

To develop applications using Enterprise Library, you need the following:

  • Microsoft Windows XP Professional, Windows Server 2003, or Windows Vista operating system
  • Microsoft .NET Framework 2.0 or 3.0. You need .NET Framework 3.0 for:
    • The Application Block Software Factory
    • The Validation Application Block Windows Communication Foundation (WCF) adapter
    • The Exception Handling Application Block Windows Communication Foundation (WCF) exception shielding functionality
  • Microsoft Visual Studio 2005 development system (any of the following editions):
    • Microsoft Visual Studio 2005 Standard Edition
    • Microsoft Visual Studio 2005 Professional Edition
    • Microsoft Visual Studio 2005 Team Edition for Software Developers
    • Microsoft Visual Studio 2005 Team Edition for Software Testers
    • Microsoft Visual Studio 2005 Team Edition for Software Architects
    • Microsoft Visual Studio 2005 Team Suite

Note   Enterprise Library includes both unit test binaries and source code. You need either Visual Studio 2005 Team Edition or NUnit 2.2 to execute the unit tests. If you modify the unit test source, you will need to recompile it, which also requires either Visual Studio 2005 Team Edition or NUnit 2.2.

To use the Application Block Software Factory and the Strong-Naming Guidance Package, you need the Microsoft Guidance Automation Extensions (GAX). To modify and compile these guidance packages, you also need the Microsoft Guidance Automation Toolkit (GAT).

To use the Data Access Application Block, you need a database server running a database that is supported by a .NET Framework 2.0 data provider. This includes SQL Server 2000 or later, SQL Server 2005 Compact Edition, and Oracle 9i or later. The database server can also run a database that is supported by the .NET Framework 2.0 data providers for OLE DB or ODBC.

Contents of this Release

The Enterprise Library 3.1–May 2007 contains the following:

  • Binaries. The Enterprise Library includes pre-compiled, strong-named assemblies for all the source code.
  • Source code. The Enterprise Library includes the source code for the application blocks, the guidance packages, the configuration tools, the unit tests, and the QuickStarts.
  • Unit tests. The Enterprise Library includes the unit tests that were created while the application blocks were being developed.
  • QuickStarts. Enterprise Library QuickStarts are brief, easy-to-understand illustrations of key application block features. Each application block includes one or more QuickStarts.
  • Documentation. Enterprise Library includes documentation that can be viewed with the Visual Studio Help system. The documentation includes guidance about how to use the Enterprise Library, as well as a class library reference.

What's New

This release of Enterprise Library includes a new application block named the Validation Application Block, another new application block named the Policy Injection Application Block, two guidance packages, and a configuration editor that is integrated with Visual Studio. There are also additions in functionality to the Data Access Application Block and to the Logging Application Block. For information about migrating from the January 2006 release, see About the Enterprise Library 3.1 - May 2007 Release.

Enterprise Library Dependencies

Figure 1 illustrates the interdependencies of the application blocks that make up Enterprise Library.

Ff650466.entlib_appblockoverview(en-us,PandP.10).gif

Figure 1 . Interdependence of application blocks

All the application blocks are designed to have a limited number of dependencies so that they can be used individually as well as with other application blocks. All application blocks depend on the Enterprise Library Core, which is a logical grouping made up of the following subsystems:

  • The Common assembly, including instrumentation.
  • Configuration helper classes, design-time components, and the Enterprise Library Configuration Console.
  • The ObjectBuilder subsystem.

Getting Started

Enterprise Library has been developed as a result of analyzing common enterprise development challenges and successful solutions to these challenges. However, because each application is unique, you will not find this application block suitable for every application. You should evaluate each application block and determine its applicability to your projects. Microsoft suggests that you dedicate at least half of a day to explore each application block. The following is a suggested evaluation approach:

Download Enterprise Library.

Install Enterprise Library and compile all application blocks and tools.

Read the Introduction to the Enterprise Library section of the documentation.

Compile and run the QuickStart samples, and read through the related "QuickStart Walkthroughs" and "Key Scenarios" sections of the documentation.

The QuickStart instructions can be found here:

The Key Scenarios can be found here:

If the application block looks like a good fit for your application, try implementing a simple use case in your application or in a throw-away prototype application using the application block.

Documentation

This section provides links directly to the main topics included in the documentation. This documentation is also included when you install the Enterprise Library.

Community

Enterprise Library, like many patterns & practices deliverables, is associated with a community site. On this community site, you can post questions, provide feedback, or connect with other users for sharing ideas. Community members can also help Microsoft plan and test future deliverables, and download additional content such as extensions and training material.

Future Plans

No new releases of Enterprise Library are planned for 2007. As customer feedback is received about the May 2007 release, the patterns & practices team will evaluate when it may make sense to release an updated version and what this should contain.

Feedback and Support

Questions? Comments? Suggestions? To provide feedback about this application block, or to get help with any problems, please visit the Enterprise Library Community site. The community site is the preferred feedback and support channel because it allows you to share your ideas, questions, and solutions with the entire community.

Enterprise Library is a guidance offering, designed to be reused, customized, and extended. It is not a Microsoft product. Code-based guidance is shipped "as is" and without warranties. Customers can obtain support through Microsoft Support Services for a fee, but the code is considered user-written by Microsoft support staff.

Authors and Contributors

This release of Enterprise Library was produced by the following individuals:

  • Product and Program Management: Tom Hollander, William Loeffler (Microsoft Corporation)
  • Architecture: Edward Jezierski (Microsoft Corporation)
  • Development: Fernando Simonazzi (Clarius Consulting), Chris Tavares (Microsoft Corporation), Olaf Conijn (Cap Gemini America), Adrian Alonso (Clarius Consulting), John Socha-Leialoha (Murphy & Associates)
  • Test: Hanz Zhang (Microsoft Corporation), Mani Krishnaswami (Infosys Technologies Ltd), Sateesh Venkata Surya Nadupalli (Infosys Technologies Ltd), Terrence Cyril Joseph Anthuvan (Infosys Technologies Ltd), Carlos Farre (Microsoft Corporation), Eric Blanchet (VMC Consulting), Meenakshi Krishnamoorthi (Infosys Technologies Ltd), Abhinav Bana (Infosys Technologies Ltd), Nalini S (Infosys Technologies Ltd), Sharadda Arora (Infosys Technologies Ltd)
  • Documentation: Roberta Leibovitz (Modeled Computation LLC), William French (Linda Werner & Associates Inc.), Alex Homer (Content Master Ltd), RoAnn Corbisier (Microsoft Corporation), Tina Burden McGrayne (TinaTech Inc.)

Many thanks to the following individuals who provided invaluable assistance: Dragos Manolescu (Microsoft Corporation), Dmitri Ossipov (Microsoft Corporation), Peter Provost (Microsoft Corporation), Mohammad Al-Sabt (Microsoft Corporation), Oscar Calvo (Artinsoft), Hernan de Lahitte (Southworks SRL), Tushar More (Infosys Technologies Ltd) and the Web Service Software Factory team.

Next

patterns & practices Developer Center

Retired Content

This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.

The latest Enterprise Library information can be found at the Enterprise Library site.