Published on

General introduction to term framework and software framework.

Published in: Education, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • An architecture is a style that incorporates specific design elements.  Obviously, a framework needs to have a design.  Its architecture is separate from the collection of wrappers that it implements and from the enforcement of a specific implementation methodology.  MFC's document-view classes are an architecture.  Essentially, an architecture implements associations between objects--inheritance, container etc.  Architectures have the interesting attribute that, if you don't like them, you can usually ignore them or replace them (at least at the beginning of a project).  Architectures can and are useful because they create a re-usable structure (a collection of objects) that provide some enhanced functionality, but once you start using them, you're pretty much stuck with them unless you do some major refactoring.
  • While architectures deal with the associations between things, a methodology deals with the interaction between things.  The first is a passive relationship and the second is an activity.  Most of the methodology that I implement is in the activity of communicating between objects, managing data persistence, responding to user events, etc.  Within those activities are architectures that associate interrelated objects.
  • Modularity -- Frameworks enhance modularity by encapsulating volatile implementation details behind stable interfaces. Framework modularity helps improve software quality by localizing the impact of design and implementation changes. This localization reduces the effort required to understand and maintain existing software.Reusability -- The stable interfaces provided by frameworks enhance reusability by defining generic components that can be reapplied to create new applications. Framework reusability leverages the domain knowledge and prior effort of experienced developers in order to avoid re-creating and re-validating common solutions to recurring application requirements and software design challenges. Reuse of framework components can yield substantial improvements in programmer productivity, as well as enhance the quality, performance, reliability and interoperability of software.Extensibility -- A framework enhances extensibility by providing explicit hook methods that allow applications to extend its stable interfaces. Hook methods systematically decouple the stable interfaces and behaviours of an application domain from the variations required by instantiations of an application in a particular context. Framework extensibility is essential to ensure timely customization of new application services and features.Inversion of control -- The run-time architecture of a framework is characterized by an ``inversion of control.'' This architecture enables canonical application processing steps to be customized by event handler objects that are invoked via the framework's reactive dispatching mechanism. When events occur, the framework's dispatcher reacts by invoking hook methods on pre-registered handler objects, which perform application-specific processing on the events. Inversion of control allows the framework (rather than each application) to determine which set of application-specific methods to invoke in response to external events (such as window messages arriving from end-users or packets arriving on communication ports).
  • Framework

    1. 1. Presentation on Introduction to Framework Presented by: Aditya Trivedi M.Tech.(SE) Vishal Gupta M.Tech. (CS)Introduction to Framework 11/5/2011
    2. 2. Framework skeleton of interlinked items which supports a particular approach to a specific objective, and serves as a guide that can be modified as required by adding or deleting items. 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. Software Framework: a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software. It is a collection of software libraries providing a defined application programming interface (API).Introduction to Framework 11/5/2011
    3. 3. Some famous frameworks: Software frameworks typically contain considerable housekeeping and utility code in order to help bootstrap user applications, but generally focus on specific problem domains, it useful to classify frameworks by their scope, as follows:  Artistic drawing, music composition, and mechanical CAD  Compilers for different programming languages and target machines  MiddlewareIntroduction to Framework 11/5/2011
    4. 4. Middleware Framework: JBoss Seam application framework:- JBoss Seam is a powerful new application framework for building next generation Web 2.0 applications by unifying and integrating technologies such as Asynchronous JavaScript and XML (AJAX), Java Server Faces (JSF), Enterprise Java Beans (EJB3). User/consumer channels – browser, client GUI, cell User interaction services Systems Process Data Development Application management Tooling manageme integration and / nt & & business monitoring service service intelligenc runtime integration e Information systems (RDBMS, applications) Operating SystemIntroduction to Framework 11/5/2011
    5. 5. What an Framework does? •it makes it easier to work with complex technologies •It ties together a bunch of discrete objects/components into something more useful •it forces the team (or just me) to implement code in a way that promotes consistent coding, fewer bugs, and more flexible applications •everyone can easily test and debug the code, even code that they didnt writeIntroduction to Framework 11/5/2011
    6. 6. Three things which makes an framework:  A Wrapper  An Architecture  A MethodologyIntroduction to Framework 11/5/2011
    7. 7. A wrapper: A wrapper is way of repackaging a function or set of functions (related or not) to achieve one or more of the following goals: •Simplification of use •Consistency in interface •Enhancement of core functionality •Collecting discrete processes into a logical association (an object)Introduction to Framework 11/5/2011
    8. 8. An Architecture:  manages a collection of discrete objects  implements a set of specific design elementsIntroduction to Framework 11/5/2011
    9. 9. A Methodology: Lets look at this word:  Method - a way of doing something  -ology - in a "scientific" manner-- designed, consistent, repeatable, testable, proven A body of practices, procedures, and rules used by those who work in a discipline.Introduction to Framework 11/5/2011
    10. 10. try to Identify:  Wrapper  Architecture  methodologyIntroduction to Framework 11/5/2011
    11. 11. Identify each one into strutsframework of javaWrappers Core functionality+.Architecture MVC architecture.MethodologyOop’s methodology. 11/5/2011 Introduction to Framework
    12. 12. Benefits of Framework: The primary benefits of frameworks stem from: •Modularity •Reusability, •Extensibility •Inversion of controlIntroduction to Framework 11/5/2011
    13. 13. Thank you for your patience..!Introduction to Framework 11/5/2011