In the information systems environment, a framework is a well-defined structural and behavioral model in which applications can be organized and developed. A framework may consist of a variety of artifacts to help design, develop and glue together various components of an application, such as common services, interfaces, reusable modules, code utilities, scripting capability, technology stack, runtime environment, integration, security, platform, process, persistence, storage, communications, and other packages/libraries.
Key Terms in this Chapter
Request-Based Framework: A Web application framework that deals with incoming requests via actions and controllers directly in a stateless fashion, similar to the CGI mechanism.
Design Patterns: Common solutions to common problems in software design.
Rich Internet Application: A Web page-based application running in a browser with rich user interface features that are common in a fat/thick client such as drag & drop, tree controls, list sorting, and tabbed panels.
Hybrid Framework: A Web application framework that makes use of the best-of-breed features from both request-based and component-based frameworks. The programming model in a request-based model is leveraged to handle the data and logic flow, whereas a component model is used to manage the actions and controllers, which are not directly mapped to the requests.
Component-Based Framework: A Web application framework that encapsulates the processing logic into modular components with the implementation details of request handling abstracted, independent from the incoming request protocols at the transport level.
Software Framework: A reusable design and building block for a software system and/or subsystem.
Web Application: A server-based application that is accessed with a Web browser over a network.
Meta Framework: A Web application framework that has a set of core interfaces for common services and a highly extensible backbone for integrating components and services. The structure is open and flexible to incorporate other concrete frameworks and components.
RIA-Based Framework: A Web application framework that uses a client-side container model to minimize the amount of server communications. Instead of loading an entire HTML page each time a user clicks a link or button on the page, the framework either handles the click locally or requests a smaller block of data from the server in an XML format on demand or asynchronously behind the scene.
Web Application Framework: A reusable, skeletal, semi-complete modular platform that can be specialized to produce custom Web applications, which commonly serve Web browsers via the Http(s) protocol.