Framework a 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 (see: 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 is generally more comprehensive than a protocol and more prescriptive than a structure [1]. A software framework is a reusable design for a software system (or subsystem). This is expressed as a set of abstract classes and the way their instances collaborate for a specific type of software. Software frameworks can be object-oriented designs (OOD). Although designs don't have to be implemented in an object-oriented language (OOL), they usually are. software development life-cycle A software framework may include support programs, code libraries, a scripting language, or other software to help develop and glue together the different components of a software project. Various parts of the framework may be exposed through an application programming interface (API).

Here are some types of software frameworks:

Technology Framework

Provides a standard, generic software foundation; not necessarily limited to Component Based Development; examples are COM, CORBA, Java.
This framework is also known as System Infrastructure or Middleware Frameworks. See the list of infrastructure library.

  • System infrastructure frameworks - such as operating system and communication frameworks, and frameworks for user interfaces and language processing tools. System infrastructure frameworks are primarily used internally within a software organization and are not sold to customers directly.
  • Middleware integration frameworks - These frameworks are commonly used to integrate distributed applications and components. Middleware integration frameworks are designed to enhance the ability of software developers to modularize, reuse, and extend their software infrastructure to work seamlessly in a distributed environment. There is a thriving market for Middleware integration frameworks, which are rapidly becoming commodities. Common examples include ORB frameworks, message-oriented middleware, and transactional databases
    See also: Relationships, Distributed computing, Message Oriented Middleware, Infrastructure systems, book, Enterprise App Integration

Component Framework

The underlying foundation, technologies, standards, and specifications by which service Components are built, exchanged, and deployed.
See: Resource Description Framework (RDF), Article, Enterprise Component Framework (ECF), White box and black box frameworks (WBBBF)

Business Framework

Also known as an Enterprise Framework (see also Business Process Management, Business Model, Business Architecture, Business Framework Engineering, Microsoft Business Framework ). A complete environment for developing and implementing a comprehensive information system. Enterprise frameworks provide pre-built applications, development tools for customizing and integrating those applications to existing ones as well as developing new applications. They may also provide a workflow component (implementation of workflow). Frameworks such as ERP and CRM are available for business functions such as order entry, inventory and payroll (Comparison of accounting software), while frameworks exist for specific industries such as health services and insurance.[2]

  • Enterprise Resource Planning - An integrated information system that serves all departments within an enterprise. Evolving out of the manufacturing industry, ERP implies the use of packaged software rather than proprietary software written by or for one customer. ERP modules may be able to interface with an organization's own software with varying degrees of effort, and, depending on the software, ERP modules may be alterable via the vendor's proprietary tools as well as proprietary or standard programming languages.
    An ERP system can include software for manufacturing, order entry, accounts receivable and payable, general ledger, purchasing, warehousing, transportation and human resources. Following major ERP vendors specialize in back-end processing that integrates with another vendor's manufacturing system.
    See more about ERP: SAP ERP, SAP, Oracle (PeopleSoft), SSA Global, Microsoft ERP, list of ERP Software packages, ERP implementation, E-business and ERP, ERP System
  • Customer Relationship Management - An integrated information system that is used to plan, schedule and control the presales and postsales activities in an organization. CRM embraces all aspects of dealing with prospects and customers, including the call center, sales force, marketing, technical support and field service. The primary goal of CRM is to improve long-term growth and profitability through a better understanding of customer behavior. CRM aims to provide more effective feedback and improved integration to better gauge the return on investment (ROI) in these areas.
    According to Glen Petersen, author of "ROI: Building the CRM Business Case," the most successful CRM systems are found in organizations that realign their business model for profitability, not just redesign their information systems. See sales force automation and supply chain management.
    See also: Sales Force Automation (SFA), Supply Chain Management (SCM), SAP CRM, Microsoft CRM, Practical guide to CRM


  1. 1. framework
  2. PC Magazine
  3. wiki-encyclopedia
  5. Open Source Software in Java
  6. customer relationship management software