Throughout our experience as web-based information management system (IMS) developers we realized that all such systems share a considerable number of common components. Standardizing these components in a program library (or a framework) would allow IMS developers to avoid duplicating standard programs by speeding up code development and ultimately saving costs. In this article we identify and briefly describe each of these components as well as the desirable architecture of such a framework, while considering industry best practices in the field of management information systems development, and keeping an eye on the security and performance of these systems. Currently, the majority of the enterprise-level information management systems are built around databases, using object-oriented designs. This leads to the usage of other design patterns (such as object-relational mapping) with positive impact on the costs and flexibility of the systems developed using these patterns. At enterprise level the client-server architecture is gaining in popularity, as placing the applications on the server optimizes maintenance costs. On the client side, using a web browser becomes increasingly attractive, given the large diversity of platforms on which web browsers are able to run and access remote information. Because information management systems share many features and components, both in terms of programming patterns and program logic, it is desirable to use a framework as a foundation for the development of new systems. Many such frameworks exist, and we attempted to identify the most important features which should be part of an ideal framework. For the parts where no industry standard design patterns exist, we made more detailed recommendations, related to the software architecture (logging, reporting, and partially access management). Thus, the present material can aid in the selection of an existing framework, or serve as the blueprint for the development of a new one. Enterprise applications must have the flexibility to capture and implement complex business logic, differentiating themselves from other software such as embedded systems or desktop productivity suites. Thus, a set of design ideas effective in dealing with enterprise complexity should deliver software quicker. Prototyping and iterative development can also be facilitated by a framework, accelerating the development cycle and testing the software earlier against business requirements. We will further our research by studying possible improvements related to the stakeholders of a programming framework, these are the developers, the clients of the systems based on the framework, and the end-users of these systems. For the developers, visual design and the integration of a larger number of common components has a positive impact on the speed and flexibility of the development cycle. The clients are mostly interested in total cost of ownership and security, and the end users are interested in clear, easy to understand interfaces and system responsiveness. Thus, our research will continue to focus on the integration of these features in a common framework, while being aware of the current trends in both server and client platforms.