Blue Theme Orange Theme Green Theme Red Theme
 
MindFusion's Components
Home | Forums | Videos | Photos | Downloads | Blogs | E-Books | Interviews | Jobs | Beginners | Training
 | Consulting  
Submit an Article Submit a Blog 
 Login Close
User Id:
Password:
 
Forgot Password
Forgot Username
Why Register
 Jump to
Skip Navigation Links
TechnologyExpand Technology
WebsiteExpand Website
 Resources  
Close
 Our Network  
Close
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.

Technologies: .NET 1.0/1.1,Visual C# .NET
Total downloads :
Total page views :  12657
Rating :
 3/5
This article has been rated :  1 times
   Print Read/Post comments Post a comment  Rate  
   Email to a friend  Bookmark  Similar Articles  Author's other articles  
 
Become a Sponsor


Related EbooksTop Videos

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 .


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.
Go.NET
Build custom interactive diagrams, network, workflow editors, flowcharts, or software design tools. Includes many predefined kinds of nodes, links, and basic shapes. Supports layers, scrolling, zooming, selection, drag-and-drop, clipboard, in-place editing, tooltips, grids, printing, overview window, palette. 100% implemented in C# as a managed .NET Control. Document/View/Tool architecture with many properties&events. Optional automatic layout.
Dundas Software
Dundas Chart for .NET is the most advanced .NET charting package available today.  With an extremely complete feature set, elegant architecture and easy implementation, Dundas Chart can quickly add advanced Charting functionality to enhance and transform ASP.NET and Windows Forms applications.  Whether you are implementing charting into internal projects, or building applications for clients, Dundas Chart offers advanced technology and advanced results to get the most out of data.
Clickatell's SMS Gateway
Clickatell's Developer Solutions allow you to SMS enable any website or application via a range of API's. Learn More about our API connections.
Free access to .NET Memory Management video
Everything you need to know about Garbage Collection, Temporary Objects, Fragmentation, Finalization and common causes of memory leaks in .NET. Watch the video here.
Microsoft Visual Studio 2010
Microsoft Visual Studio 2010 offers more to developers than any other Visual Studio release. Work more productively and collaboratively-with greater control over your work at every step. The Beta 2 can give you a head start on achieving efficiency.
 
   Print Read/Post comments Post a comment  Rate  
   Email to a friend  Bookmark  Similar Articles  Author's other articles  
 
 Post a Feedback, Comment, or Question about this article
Subject:  
Comment:  
Become a Sponsor
 Comments
Migration for MS Application Configuration Block by DhanRaj On December 11, 2008
Hi, What are the possible way to migrate from MS Application Configuration Block using in ASP.1.1 to MS Enterprise Library 3.1 for ASP2.0?
Reply | Email | Delete | Modify | 
Drawbacks of Cachign Application Block by Wes On November 13, 2009
Hi,

i think for anybody using Caching Application Block from Microsoft or >net app, they should consider the drawbacks of these applications as well. i would suggest to do reserch before going ahead. A good read can be found here here 
<a href="http://www.alachisoft.com/ncache/caching-application-block_index.html">Drawbacks of regular Caching Application Block</a>
Reply | Email | Delete | Modify | 

 Hosted by MaximumASP  |  Found a broken link?  |  Contact Us  |  Terms & conditions  |  Privacy Policy  |  Site Map  |  Suggest an Idea  |  Media Kit
Current Version: 5.2009.6.2
 © 1999 - 2009  Mindcracker LLC. All Rights Reserved