In general, a framework is a real or conceptual structure intended to serve as a support or guide for the building of something that expands the structure into something useful.
In computer systems, a framework is often a layered structure indicating what kind of programs can or should be built and how they would interrelate. Some computer system frameworks also include actual programs, specify programming interfaces, or offer programming tools for using the frameworks. A framework may be for a set of functions within a system and how they interrelate; the layers of an operating system; the layers of an application subsystem; how communication should be standardized at some level of a network; and so forth. A framework is generally more comprehensive than a protocol and more prescriptive than a structure.
Examples of frameworks that are currently used or offered by standards bodies or companies include:
- Resource Description Framework, a set of rules from the World Wide Web Consortium for how to describe any Internet resource such as a Web site and its content.
- Internet Business Framework, a group of programs that form the technological basis for the mySAP product from SAP, the German company that markets an enterprise resource management line of products.
- Sender Policy Framework, a defined approach and programming for making e-mail more secure.
- Zachman framework, a logical structure intended to provide a comprehensive representation of an information technology enterprise that is independent of the tools and methods used in any particular IT business.
- .NET Framework, a managed execution environment for Windows that enables software developers to program an application in one language that can work with programs written in other languages. the frame works by accommodating object code no matter where it is executed or stored.
- Control Objectives for Information and Related Technology (COBIT), a framework developed by ISACA in the mid-90s that is commonly used to achieve compliance with the Sarbanes Oxley rules, which are standards for IT governance and management best practices.
- NIST cybersecurity framework, which was developed by the National Institute of Standards and Technology to provide a set of standards, guidelines and best practices for cyberattack prevention, detection and response.
- The Spring Framework, a popular Java Enterprise Edition framework that provides support for developing Java applications.
- MITRE ATT&CK, a free, globally accessible framework offered by MITRE that includes comprehensive, up-to-date cyberthreat information to help enterprises improve their cybersecurity infrastructure. It includes a matrix of known threats and tools for evaluating an organizations security set up.
- Hadoop, an open source distributed processing framework originally developed by the Apache Software Foundation that manages data storage and processing for big data application