PDSA Product Catalog

Products

PDSA .NET Base Framework Overview

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.

View the VideoView Video Introduction  (.EXE Movie 23mb)

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 the VideoView 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 the VideoView 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 the VideoView 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!
Buy Now
Contact us today for more information. Toll-Free at (888) 899-7372 or (714) 734-9792. Or email us at info@pdsa.com