What is Framework Software
Table of Contents
Every one having doubt on what is framework software ? which is a special software that is capable of developing applications based on certain architecture having the ability to generate common logic of the application dynamically based on other logic supplied by programmer.
Framework Software is a special software that is capable of developing applications based on certain architecture having the ability to generate common logic of the application dynamically based on other logic supplied by programmer.
How to develop framework software
Framework Software will be given based on core technologies and framework software provides abstraction layer on core technologies so that without having strong knowledge on core technologies we can develop core technologies based applications by using framework software.
If framework software not exist
If we develop applications directly by using core technologies the common logic of application and your application specific logic should be developed by you manually. This kills productivity
Core Technologies Example
Servlet & JSP
Servlets and Jsp are the core technologies to develop web applications.
JDBC
JDBC is the core technology to develop persistance logic. If we are going to using plain JDBC core technology, we have following steps.
- Load JDBC driver class and register with DriverManager service. –> Common Operation
- Establish the connection with database software –> Common Operation
- Create Statement object –> Common Operation
- Send and executes SQL in the database software –> Application specific, requirement based.
- Get and process the results –> Application specific, requirement based.
- Close connection with database software
Framework Software Examples
- Struts, JSF, Web Work, XWork, Spring MVC are web framework software to develop web applications.
- Hibernate, Toplink, iBatics, JDO etc.. are ORM framework software.
Hibernate
Hibernate is a framework software to develop persistance logic and it is abstraction layer of JDBC core technologies.
Struts
Struts is a framework software to develop MVC architecture based applications having the ability to generate integration logic of controller layer dynamically based on the logic given in the other layers by programmer
Spring
Spring is a framework software which can develop all kinds of Java/J2ee applications in framework style based on dependency injection principle.
Spring framework software is developed based on various JSE, JEE module based technologies by providing abstraction layer on them. So programmers can use Spring software to develop all kinds of Java/J2ee applications in framework style.
Spring framework software not only provides abstraction layer on Java/J2ee core technologies, it also provides abstraction layer on some other framework softwares like Hibernate, Toplink etc..
If we will use Spring JDBC Template Instead of using plain JDBC Code as above mentioned, we have following steps.
- Get access to JDBC Template that uses JDBC Code internally by providing abstraction layer on JDBC technology.
- Send and execute SQL in the database software –> Application specific, requirement based.
- Get and process the results –> Application specific, requirement based.
Note: To observe the spring based application code it is making the programmer to just develop is application logic because the JDBC Template of Spring software generates the remaining common logic dynamically.
This feature makes framework softwares giving good productivity when comparative to working with core technologies directly.
Doing more work in less time having accuracy is called as good productivity
Hello! I am Narayanaswamy founder and admin of narayanatutorial.com. I have been working in the IT industry for more than 12 years. NarayanaTutorial is my web technologies blog. My specialties are Java / J2EE, Spring, Hibernate, Struts, Webservices, PHP, Oracle, MySQL, SQLServer, Web Hosting, Website Development, and IAM(ForgeRock) Specialist
I am a self-learner and passionate about training and writing. I am always trying my best to share my knowledge through my blog.