
he problem with developing enterprise applications is you have to reinvent the wheel for each key area, such as configuration, database access, or security. Microsoft has addressed this problem in the past by providing application building blocks. However, one of the biggest problems with these application blocks was they were not very well integrated with each other. So, Microsoft's Pattern & Practices Group has released the Enterprise Library, a large configurable and extensible software library that consists of seven integrated application blocks.
You may already be familiar with the individual application blocks that the Enterprise Library contains (like the
Data Access Application Block), but it also offers some new ones (like the Cryptography Application Block). Table 1 describes the application blocks within the Enterprise Library.
| Application Block |
Description |
| Caching Application Block |
Enables you to integrate a caching mechanism in your application |
| Configuration Application Block |
Provides an extensible API for the configuration of your application (The Enterprise Library also provides you a GUI to configure your application.) |
| Data Access Application Block |
Enables you to implement a very consistent data-access strategy in your application or your enterprise |
| Cryptography Application Block |
Enables you to encrypt sensitive information |
| Exception Handling Application Block |
Provides a consistent and configurable approach for exception-handling strategies in your applications |
| Logging and Instrumentation Application Block |
Enables you to trace and log the internal runtime details of your application |
| Security Application Block |
Provides authentication and authorization features for your applications |
| Table 1. The Application Blocks Within the Enterprise Library |
 | |
| Figure 1. The Enterprise Library's Graphical Configuration Tool |
The Enterprise Library offers the following benefits:
- You can use the Enterprise Library as the basis for your own application blocks by using its extensible (provider-based) development model and the graphical configuration tool, the Configuration Console (see Figure 1).
- Through its standard interfaces, you can customize the Enterprise Library to suit your development.
- The Enterprise Library ships with the entire source code, which you can alter without any restrictions.
- You can use each application block as a standalone. You need only reference the Configuration Application Block to use any of the others in the Enterprise Library.
- The Enterprise Library consists of several hundred pages of documentation, samples, and walkthroughs that teach you about the architecture and design of extensible application frameworks.