Blue Theme Orange Theme Green Theme Red Theme
 
Team Foundation Server Hosting
Home | Forums | ASP.NET 2.0 Tutorials | Web Services | How Do I...? | Class Browser | WPF Quick Starts | Advertise with Us
 | Consulting  
Submit an Article Submit a Blog 
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
Nevron Gauge for SharePoint
Search :       Advanced Search »
Home » Enterprise Development » Enterprise Library 1.0

Enterprise Library 1.0

Enterprise Library is a set of tested, reusable application blocks that address common problems developers face when developing enterprise-based applications.

Page Views : 1757
Downloads : 0
Rating :
 Rate it
Level : Intermediate
   Print Read/Post comments Post a comment  Similar Articles  
   Email to a friend  Bookmark  Author's other articles  
 
Team Foundation Server Hosting
Become a Sponsor
 Tag Cloud
 Latest Jobs
More ... 
 Latest Interview Questions
More ... 

Overview

Enterprise Library is a set of tested, reusable application blocks that address common problems developers face when developing enterprise-based applications. The application blocks incorporate best practices for .NET applications and are easy-to-install plug-ins. However, before integrating these blocks, make sure you have a clear understanding of the application requirements and of the common scenarios projected by the application block's design. For example, data access application block leverages the ADO.NET to encapsulate its complexity and enhancement features.

The salient features of the Enterprise Library architecture include,

  1. Application blocks are based on consistent design patterns and implementation approaches.
  2. Each block can be further extended by developers to meet their project requirements.
  3. Enterprise Library is an easy-to-install plug-in application. The Enterprise Library Configuration Console (GUI) enables you to define configuration settings for different blocks instead of manually setting the configuration file(s).
  4. Enterprise Library ships with documentation and code samples.
  5. Application blocks can work either independently or with one another. For example, Caching Block can use Data Access block to store and retrieve cached data in database.
  6. Application blocks are tested and implement best practices for .NET-based applications.
  7. Application blocks help handle challenges of developing complex, enterprise-based applications.

Application Blocks

The following application blocks are the part of Enterprise Library:

  • Data Access Application Block

    This block implements standard database functionality by leveraging and encapsulating the implementation of ADO.NET such as reading data or submitting data to database server from application/business layer, execute stored procedure or in-line SQL statements, connection management, caching the parameter as well as command etc. Developers can plug in their application to different types of database providers such as MS-SQL Server, Oracle or DB2 without changing application code.

  • Caching Application Block

    This block helps developers to incorporate caching mechanism in their projects. The block supports in-memory cache, isolated storage cache and data backing storage and allows consumption of data access from application block to store and retrieval of cached data from database. 

  • Exception handling Application Block

    This block helps developers to create a consistent way to handle exceptions raised in different layers of the application without breaking the layer. The block provides a mechanism for reuse of common exception-handling logic, wrapping one exception with another, replace one exception with another and logging exception information etc.

  • Logging and Instrumentation Application Block

    The logging and instrumentation application block helps developers to incorporate standard logging and instrumentation functionality to their application. Using this block, you can log information to multiple locations such as Event Log, E-Mail, Database, Message Queue, File and WMI.

  • Security Application Block

    This block is designed to incorporate security functionality that helps resolve common security problems in applications such as authorization and authentication, performance, role management or profile management, and caching user's profile etc.

  • Cryptography Application Block

    This block helps to incorporate cryptography functionality such as encrypting and validating to keep data tamper-proof. The block implements all best practices of cryptography and developers can leverage different cryptography providers by changing the configuration settings even without modifying application code thus maximizing utilization of a specific cryptography algorithm. 

  • Configuration Application Block

    This is a critical block in the Enterprise Library. The Configuration Application block is required to consume any of the above blocks. The main purpose of this block is to maintain the configuration settings of other blocks. Each block refers the Configuration Application block to identify the each one's and others' configuration setting. For example, to cache data in MS-SQL server, the configuration application block contains the configuration settings of caching application block as well as data access application block. The caching application block refers configuration block to identify its own settings and that of the data application block to locate the database to store and retrieve cached data.

Common

Apart from the above blocks, Enterprise Library includes an assembly called Common. The Common block contains a set of commonly used function to all the blocks. For example, if an application block needs basic cryptography functionality without consuming the cryptography application block, the block can leverage the common library to avail cryptography functionality. The common block reduces dependency of one block on another and removes dependency of a third party library. Applications must consume this to use Enterprise Library.

Enterprise Library Configuration Console

Enterprise Library uses Enterprise Library Configuration Console, a graphical tool that allows changing and validating an application block's configuration settings (XML configuration file) by eliminating the difficulties that are encountered during manual settings.

Enterprise Library uses Test Driven Development (TDD) approach to test application blocks. Test driven development is one of the core practices of Extreme Programming (XP). TDD uses tests to drive design and implementation of software, makes the complex software very simple and ensures defect-free software. The unit tests in Enterprise Library can be written using NUnit (.NET testing framework) through TTD approach and must be written before the application blocks are implemented. Refer http://www.nunit.org to know more on NUnit.

Application blocks are strong names and provide versioning and naming protection. That means it can be placed in GAC and shared among the applications. The enterprise library uses standard naming convention. For example,

Microsoft.Practices.EnterpriseLibrary.Caching for caching block or
Microsoft.Practices.EnterpriseLibrary.Data for data access block etc.

Enterprise Library Architecture overview

[Figure 1] Showing the overview of Enterprise Library and how the blocks are communicating

All of the application blocks are designed with a limited number of dependencies so that they can be used individually and with other application blocks. All application blocks require that the Configuration Application Block be installed. This is because the Enterprise Library uses this application block to access the configuration information for every other application block. For example if you want to use Logging and Instrumentation Application Block, your application must consume use Configuration application Block and then Logging and Instrumentation Application Block. In order to log the information in database you need to consume the Data access Application Block ( optional dependency ) for Logging and Instrumentation Application Block.

Comment Request!
Thank you for reading this post. Please post your feedback, question, or comments about this post Here.
Login to add your contents and source code to this article
 [Top] Rate this article
 
 About the author
 
Anand Kumar Rao
I am having 6 yrs of experience on oops environment .My core expertise is developing robust service components using ATL COM ,Remoting and Web Service and very much passionate about Microsoft Patterns and Practices. Apart from my regular work I am actively participating various Microsoft User Groups and sharing my knowledge and articles on best practices in C# and ASP.NET.
Looking for C# Consulting?
C# Consulting is founded in 2002 by the founders of C# Corner. Unlike a traditional consulting company, our consultants are well-known experts in .NET and many of them are MVPs, authors, and trainers. We specialize in Microsoft .NET development and utilize Agile Development and Extreme Programming practices to provide fast pace quick turnaround results. Our software development model is a mix of Agile Development, traditional SDLC, and Waterfall models.
Click here to learn more about C# Consulting.
 
Introducing MaxV - one click. infinite control. Hyper-V Hosting from MaximumASP.
Finally – a virtual platform that delivers next-generation Windows Server 2008 Hyper-V virtualization technology from a managed hosting partner you can truly depend on. Visit www.maximumasp.com/max for a FREE 30 day trial. Hurry offer ends soon. Climb aboard the MaxV platform and take advantage of High Availability, Intelligent Monitoring, Recurrent Backups, and Scalability – with no hassle or hidden fees. As a managed hosting partner focused solely on Microsoft technologies since 2000, MaximumASP is uniquely qualified to provide the superior support that our business is built on. Unparalleled expertise with Microsoft technologies lead to working directly with Microsoft as first to offer IIS 7 and SQL 2008 betas in a hosted environment; partnering in the Go Live Program for Hyper-V; and product co-launches built on WS 2008 with Hyper-V technology.
Dynamic PDF
ceTE software specializes in components for dynamic PDF generation and manipulation. The DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and new content to existing PDF documents from within your applications.
Nevron Chart for .NET 2010.1 Now Available
The leading .NET charting control now features PDF, Flash and Silverlight export, visualization of large datasets and more. Deliver true charting functionality to your BI, Scorecard, Presentation or Scientific apps. Download evaluation now.
ASP.NET 4 Hosting
Get 2 Months Free of ASP.NET Hosting for Only $4.95/month! Receive FREE MS SQL and MySQL Databases Including ASP.NET 4/3.5, MVC 3.0, Silverlight 4, Windows 2008/IIS 7.0 Plus FREE IIS 7 Modules. Host UNLIMITED ASP.NET Web Sites – Click Here!
 
 Post a Feedback, Comment, or Question about this article
Subject:
Comment:
Nevron Gauge for SharePoint
Become a Sponsor
 Comments
6 Months Free & No Setup Fees ASP.NET Hosting!
 © 2012  contents copyright of their authors. Rest everything copyright Mindcracker. All rights reserved.