The Enterprise Library consists of the following seven
Application Blocks.
·
Data Access Application Block
·
Exception Handling Application Block
·
Logging and Instrumentation Application Block
·
Security Application Block
·
Cryptography Application Block
·
Caching Application Block
·
Configuration Management Application Block
The following sections discusses each of these blocks
briefly.
Data Access Application Block
The Data Access Application is one of the most popular of
the Enterprise Library Application blocks and has been widely used in
enterprise applications. The earlier versions of this block contained static
methods that could have posed problems due to thread safety issues in
multithreaded scenarios. The newer version, however, makes use of the Abstract
Factory pattern to solve all these issues. The salient features of the Data
Access Application Block include:
·
Support for both SQL Server and Oracle databases
·
Extensible
·
Tightly coupled with the Configuration Management Block
Exception Handling Application Block
An exception is an error that occurs at runtime. If the
same is not handled by your code, it might lead to premature termination of the
flow of execution of your application. Exceptions should be handled very
carefully as handling them are quite expensive and too many exception blocks in
your code might lead to poor application performance. The Patterns and
Practices group from Microsoft has introduced the Exception Handling
Application Block with the sole purpose of providing the application developers
with a set of the best practices and strategies that should be followed for
handling exceptions in the code. The salient features of the Exception Handling
Application Block include:
·
Encapsulates the recommended best practices on handling
exceptions
·
Support for logging exceptions
·
Extensibility
·
Ease of use
Logging and Instrumentation Application Block
Efficient Logging and Instrumentation feature in an
enterprise application development phase facilitates application performance
monitoring. Hence, it is a very important feature in enterprise application
software development. The Patterns and Practices group from Microsoft has come
up with this powerful block that can be instrumental in the above stated
situations. The salient features of the Logging and Instrumentation
Application Block include:
·
Support for logging synchronously and asynchronously
·
Support for formatters
·
Support for logging to different destinations
Security Application Block
The Security Application Block from the Patterns and
Practices group of Microsoft facilitates the implementation of security
features in enterprise applications built on top of the Microsoft .NET
framework. The salient features of the Security Application Block include:
·
Support for authentication and authorization
·
Supports both role and profile management
·
Plug ability with the Data Access Application Block
·
Plug ability with the Cryptography Application Block
Cryptography Application Block
The Cryptography Application Block is a collection of
reusable and extensible code that simplifies the usage of cryptographic
functionality in applications that are designed on the Microsoft.NET framework.
The salient features of the Cryptography Application Block include:
·
Plug ability
·
Configurable
·
Extensible
Caching Application Block
Caching is an important feature that promotes improvement of
application performance by storing the frequently used pages or data in main
memory. The Caching Application Block from the Patterns and Practices group of
Microsoft encapsulates efficient, consistent caching strategies and, hence,
simplifies implementation of caching strategies in enterprise application
development. The salient features of the Caching Application Block include:
·
Support for efficient caching strategies in web applications
·
Configurable
·
Thread Safety
Configuration Management Application Block
The Configuration Management Application Block from the Patterns
and Practices group of Microsoft provides, "a seamless integration with
configuration sources other than XML files. You could use the registry, a
database, or many other storage mediums, all using a common interface to
manipulate the configuration information." The salient features of the Configuration
Management Application Block include:
·
Support for reading and writing the configuration data
·
Support for storing configuration data at multiple locations
·
Support for caching the configuration data
·
Plug ability