Build Your Applications on a Great Foundation!
Virtually all software applications have the same underlying requirements for dealing with database access,
exceptions, security, and configuration. For enterprise-quality applications, having a consistent and reliable
base framework to deal with these issues is an absolute necessity.
However, in a production IT department, the staff is seldom given time to
work on this "infrastructure" and do it right. The business expects the development staff to focus
on quickly delivering business value, so the same utility code is copied and pasted into
project after project. Of course, that assumes the developer knows where to get the code
and doesn't just rewrite it from scratch. Five developers will solve the same
problem five different ways, leaving behind a maintenance nightmare for those who follow.
A better solution is to establish a base application framework that handles the common
housekeeping requirements of all your applications. The benefits of using a framework include:
- Improved productivity: developers focus on business logic, not housekeeping logic.
- Improved reliability: developers build applications on top of proven components.
- Improved maintainability: developers use the same code patterns in all applications, which
makes the applications easier to understand and debug.
- Improved flexibility: extensions to the base framework are available to all of the applications that use it.
This page provides an overview of the framework that includes a business focus for why
every development team should use a base framework. For a more in-depth technical overview that includes code samples,
be sure to read the Developing Applications with the PDSA .NET Base Framework page as well.
Introducing the PDSA .NET Base Framework
The PDSA development staff faces the same challenges as other IT departments. The challenges
are magnified in some ways because we develop in such varied business and technical environments.
We had to solve the productivity and maintenance
issues for our own sake as well as our clients, who often take over the development of their application
after delivery. Thus, the PDSA .NET Base Framework and PDSA .NET Productivity Framework were born.
The PDSA .NET Base Framework gives your development team the tools they need to handle the following
non-functional requirements that are common to modern, enterprise-level applications:
- Database Access: use the data layer to get out of the ADO.NET trenches and communicate with
a database at more abstract and maintainable level.
- Exception Handling: use the exception handling providers to publish standard or custom
exceptions to the destination of your choice.
- Configuration: use the configuration providers to store configuration settings anywhere.
- Cryptography: use the hashing and symmetric cryptography providers to encrypt
data and configuration settings.
The PDSA .NET Base Framework components can be used independently or together. The Framework is based
on a provider model that you can configure separately from your application code. Additionally, you can
extend the Framework with custom providers of your own.
Data Layer
ADO.NET is an excellent generic facility for accessing databases, but it's generic nature
means you sometimes have to write a fair amount of code to accomplish common tasks. Additionally,
you must commit to a family of database objects that ties you to a database access mechanism,
such as SqlClient or OleDb.
The data layer component of the PDSA .NET Base Framework wraps ADO.NET with classes that let you simplify
and eliminate access mechanism dependencies in your code.
Porting your application to a new access method or DBMS can be as easy as
changing your configuration file!
The data layer includes providers that support the following database access methods:
- SQL Server (SqlClient)
- Oracle (OracleClient)
- OleDb
- ODBC
View Data Provider Video (.EXE Movie 16mb)
Exception Handling
Done properly, exception handling can dramatically reduce your troubleshooting time.
The PDSA .NET Base Framework leverages the provider model once again to give you flexible exception
management with minimal impact on your application code. All it takes is a single line
in your catch block to write robust exception information to the location of your choice.
Never re-write error logging logic again!
You use configuration settings to control the destination of your exceptions, so it is
easy to configure different destinations for each phase of the application's lifecycle
(e.g. development, test, and production).
With the Framework's exception handling component, you can write exceptions to any or all of the following destinations:
- Event Log
- Text File
- Email
View Exception Publishing Video (.EXE Movie 16mb)
Configuration Management
In an enterprise environment, configuring an application is often not as simple as storing entries
in the app.config or web.config file. You may need to store some settings in the registry, others
in a separate XML file, and still others in the database. The code you write to deal with each of these
situations is very different.
The configuration management component of the PDSA .NET Base Framework gives you a way to manage
configuration settings consistently, no matter where they are stored. You get providers that let
you work equally with settings in any or all of the following locations:
- appSettings
- XML File
- Windows Registry
View Configuration Manager Video (.EXE Movie 23mb)
Cryptography
At some point, every enterprise needs to encrypt data, passwords, and connection strings to secure their
applications and protect critical business information. However, the learning curve for using cryptography
in .NET can be daunting. The cryptography classes in the PDSA .NET Base Framework wrap up this complex
logic and boil it down to simple methods like Encrypt and Decrypt.
The Framework provides several classes that help you deal with asymmetric encryption,
symmetric encryption, hashing, and encryption key management. The Framework supports the following
cryptography mechanisms:
- DES, TripleDES, RC2, Rijndael, and DPAPI Symmetric Algorithms
- RSA Asymmetric Algorithm
- MD5, SHA1, SHA256, SHA384, and SHA512 Hashing Algorithms
Additionally, the Framework has providers that let you store your keys in any or all
of the following locations:
- Windows Registry
- XML File
- Isolated Storage
There's Still More!
The PDSA .NET Base Framework includes additional utility libraries that save you from
having to re-invent code that virtually every application needs. Rely on our proven, tested code and
save your energy for the creative work of implementing the business rules
that make your application unique.
- Common Library: The common library provides classes for working with strings, numbers
the Windows registry, serialization, XML, system information, custom exceptions, and more.
- Security Library: The security library provides user, password, and impersonation
classes that help you manage user login security within your application.
Productivity Abounds
For a more in-depth technical overview that includes code samples,
be sure to read the Developing Applications with the PDSA .NET Base Framework page as well.
If you think the PDSA .NET Base Framework is a good idea, you might also be interested in learning about
the PDSA .NET Productivity Framework, which takes productive application development to another level.
Are you convinced that the PDSA .NET Base Framework is a great deal? You can buy it right now from our secure online store! |  |