The presentation contains description about:
Servlets
Frameworks
MVC architecture
Struts2
ORM framework
Hibernate framework
snapshot of various projects developed by myself.
28. MVC
• Model- Entity solely concerned with getting the
data, providing the data and being the data itself.
(The role of cook)
• View- Renders the model into a form that is actually
displayable. (The role of decorator)
• Controller- Orchestrates the entire
architecture, passes the necessary details to models
and then calls the right view in order to do the
presentation. (The roll of stickman)
29. Why MVC
• Controller is separated from Model. (Concept of
multiple cooks)
• View is separated from Model. (Cook doesn’t worry
about the presentation of food)
• View is separated from Controller. (Stickmen
doesn’t worry about the presentation)
30. MVC Frameworks
• Different MVC frameworks have different
implementations of these concepts.
• They provide prebuilt classes.
• They are extensible.
31. Popular Java MVC frameworks
•
•
•
•
•
•
•
Struts
Struts 2
Springs MVC
Play
JSF
Wicket
Many More
32.
33. Pattern vs. Framework
• Pattern is a set of guidelines
on how to architect the
application
• When we implement a
pattern we need to have
some classes and libraries
• Thus, pattern is the way
you can architect your
application.
• Framework helps us to
follow a particular pattern
when we are building a web
application
• These prebuilt classes and
libraries are provided by the
MVC framework.
• Framework provides
foundation classes and
libraries.
34. Advantages of Frameworks
• Gets us started really quickly- If we are developing a
number of web applications on a similar pattern, then instead
of rewriting the same classes again and again, we have a set
of classes and libraries that make our work easier.
• Leverages industries best practices- If we use MVC
framework, it proves to be really helpful, because the way the
framework has been designed, it consumes a lot of real world
experience.
39. STRUTS 2 DISPATCHER: web.xml
• Verifies the request URI and determine which action to
invoke.
• Two types of dispatchers are used
– Filter Dispatcher (org.apache.struts2.dispatcher.FilterDispatcher)
48. JDBC
• Standard Java API for database-independent connectivity between
the Java programming language and a wide range of databases.
• JDBC provides a flexible architecture to write a database
independent applications that can run on different platforms and
interact with different DBMS without any modification.
• JDBC includes APIs for each of the task commonly associated with
database usage:
–
–
–
–
Making a connection to a database.
Creating SQL statements.
Executing SQL queries in the database.
Viewing & modifying the resulting records.
49. JDBC
Pros of JDBC
• Clean and simple SQL
processing
• Good performance with
small data
• Very good for small
applications
• Simple syntax so easy to
learn
Cons of JDBC
• Complex if it is used in large
projects
• Large programming
overhead
• No encapsulation
• Hard to implement MVC
concept
• Query is DBMS specific
50. HIBERNATE
• An ORM tool
• Used in the data layer of application, for
persisting application data into database
• Implements JPA
– This means that it follows a set of standards for
implementing persistence, so that in future if we want to
change from Hibernate, we can easily do it without any
performance issues.
54. ORM
• Converts data between relational databases and
object oriented programming languages
• Advantages over JDBC
–
–
–
–
–
–
Lets business code access objects rather than DB tables
Hides details of SQL queries from OO logic
Based on JDBC ‘under the hood’
No need to deal with database implementation
Transaction Management and automatic key generation
Fast development of applications
56. Saving without Hibernate
•
•
•
•
•
JDBC Database Configuration
The Model Object
Service method to create the model object
Database Design
DAO method to save the object using SQL
queries
57. The Hibernate Way
• JDBC Database Configuration – Hibernate
Configuration
• The Model object – Annotations
• Service method to create the model object –
Use the Hibernate API
• Database Design – Not Needed !
• DAO method to save the objects using SQL
queries – Not Needed !
61. HIBERNATE CONFIGURATION
• Refers to the hibernate configuration file that is
hibernate.cfg.xml
• This file is read first by the hibernate framework and the data
flow is done accordingly
• Consists of properties and mapping resource
• Mapping resource can consist of a xml file or a POJO class
with annotations
• Consists of properties such as connection url, driver class,
username, password, dialect and hbm2ddl.auto
66. Features of Hibernate
•
•
•
•
Implementation of JPA
ORM tool
Has data caching abilities
Provides an entire different SQL implementation known as
HQL, which is the basis of NoSQL databases
• Can persist the following relations in database, using
annotations as well as xml files.
–
–
–
–
One to One
One to Many
Many to One
Many to many