MVC + ORM (with project implementation)

1,068 views
877 views

Published on

The presentation contains description about:
Servlets
Frameworks
MVC architecture
Struts2
ORM framework
Hibernate framework
snapshot of various projects developed by myself.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,068
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
44
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MVC + ORM (with project implementation)

  1. 1. PROJECT ON STUDENT INFORMATION SYSTEM Submitted by: Prateek Chauhan
  2. 2. A STORY
  3. 3. 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)
  4. 4. 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)
  5. 5. MVC Frameworks • Different MVC frameworks have different implementations of these concepts. • They provide prebuilt classes. • They are extensible.
  6. 6. Popular Java MVC frameworks • • • • • • • Struts Struts 2 Springs MVC Play JSF Wicket Many More
  7. 7. 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.
  8. 8. 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.
  9. 9. BUSINESS LOGIC SERVLETS JSPs
  10. 10. 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)
  11. 11. STRUTS 2 DISPATCHER: web.xml – StrutsPrepareAndExecuteFilter (org.apache.struts2.dispatcher.ng.filter .StrutsPrepareAndExecuteFilter)
  12. 12. STRUTS 2 MODEL and VIEW
  13. 13. STRUTS 2 MODEL and VIEW admin
  14. 14. STRUTS 2 MODEL and VIEW
  15. 15. STRUTS 2 MODEL and VIEW
  16. 16. STRUTS 2 CONTROLLERS- struts.xml
  17. 17. ABOUT STRUTS 2 • It’s an MVC framework • Version 2 • Gives us prebuilt classes for MVC that we can use / extend
  18. 18. HIBERNATE: AN APPROACH OF ORM
  19. 19. 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.
  20. 20. 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
  21. 21. 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.
  22. 22. The Problem
  23. 23. The Problem • • • • Mapping member variables to columns Mapping Relationships Handling data types (esp. Boolean) Managing changes to object state
  24. 24. The Problem Relational Object Mapping!
  25. 25. 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
  26. 26. JAVA ORM Frameworks • • • • • • • Enterprise JavaBeans Entity Beans Java Data Objects Castor TopLink Springs DAO Hibernate Many More
  27. 27. 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
  28. 28. 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 !
  29. 29. Supported Databases • • • • • • • • HSQL DB2 MySQL PostgreSQL FrontBase Oracle H2 Sybase and many more
  30. 30. Supported Technologies • • • • Xdoclet Spring J2EE Eclipse plug-ins Maven
  31. 31. Hibernate Architecture
  32. 32. 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
  33. 33. HIBERNATE show_sql
  34. 34. Hibernate Mapping Resource
  35. 35. Hibernate Table Creation
  36. 36. 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
  37. 37. PROJECT MODULE: CONTACT MANAGER
  38. 38. HOME PAGE
  39. 39. Deleting a Record
  40. 40. Deleting a Record
  41. 41. PROJECT SUMMARY HARDWARE SPECIFICATION SOFTWARE VERSION MEMORY 10 GB IDE MyEclipse 8.0 RAM 128 MB Server Apache Tomcat 6.x PROCESSOR 1.6 GHz Front End Struts 2.1.5 OS WINDOWS 8 Back End Hibernate 4 + Oracle 10G XE
  42. 42. Trainee At • ROAD AHEAD TECHNOLOGIES, JAIPUR • Mentor: Mr. Abhishek Jain
  43. 43. THANK YOU

×