This application framework evolved along with changes in the .NET platform, emerging Microsoft technologies and changes in industry service orientation patterns. The framework delivered a set of class libraries containing base implementations of the architectural layers prescribing certain technologies (such as ASMX), and ‘infrastructural services’ which developers used to address the cross-cutting concerns for the architectural layers: Exception handling, Authentication, Authorization, Logging etc. The framework extended Enterprise Library, and implemented several real-world security providers necessary for many customers of the time with heterogeneous technology environments. In addition, many best practice patterns, specifically concerning exception handling were built upon Enterprise Library to solve these requirements in an enterprise context. The framework also provided blocks that were not packaged in Enterprise Library, such as a validation block. It provided useful abstractions of Enterprise Library specific to this solution domain, that offered simplified APIs, and the framework unified the API with typing of string parameters.