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. 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. 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
Middleware
Introduction to Framework 11/5/2011
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 System
Introduction to Framework 11/5/2011
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 didn't
write
Introduction to Framework 11/5/2011
6. Three things which makes an
framework:
A Wrapper
An Architecture
A Methodology
Introduction to Framework 11/5/2011
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. An Architecture:
manages a collection of discrete objects
implements a set of specific design elements
Introduction to Framework 11/5/2011
9. A Methodology:
Let's 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. try to Identify:
Wrapper
Architecture
methodology
Introduction to Framework 11/5/2011
11. Identify each one into struts
framework of java
Wrappers Core functionality+.
Architecture MVC architecture.
MethodologyOop’s methodology.
11/5/2011 Introduction to Framework
12. Benefits of Framework:
The primary benefits of frameworks stem from:
•Modularity
•Reusability,
•Extensibility
•Inversion of control
Introduction to Framework 11/5/2011
13. Thank you for your patience..!
Introduction to Framework 11/5/2011
Hinweis der Redaktion
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).