1 / 10

New Technology: Why, What ,How

New Technology: Why, What ,How. Requirement . Current way of doing things. Problem . Generic Solution or Design Pattern. Available solutions in market. Hibernate . Where to read from ?. Typical Requirement. App Data Needs to be persisted. Data generally Outlives Applications.

kiona-baird
Télécharger la présentation

New Technology: Why, What ,How

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. New Technology: Why, What ,How • Requirement . • Current way of doing things. • Problem . • Generic Solution or Design Pattern. • Available solutions in market. • Hibernate . • Where to read from ?

  2. Typical Requirement • App Data Needs to be persisted. • Data generally Outlives Applications. • Application : Object Oriented Language -> Java , C# • Databases : Relational Databases. • Mid-Size App : Around 35% code involves Persistence Layer

  3. Current way • Domain Model and Schema are Designed Separately. • Tables  Classes Tables. • Transformation: Manual SQL and results are mapped to Objects. • Lots of SQL  Row becomes an Object Instance. • Developers responsibility of mapping OO Instances to Tables row and Column.

  4. Problem • Object Relational Impedance: Resistance or Obstruction. 1. Structural Problems: a) Java Types vs. SQL Types. b) User Defined Types. c) Inheritance. 2.Behavioral Mismatch : a) Tables :data ,Objects :data and Behavior . b) Polymorphism. c) Equality. d) Associations. 3. Granularity. 4. Data Navigation.

  5. Problem • Large Systems : a) Cache Management b) Transaction Handling. • SQL dependent on Underlying DB : Portability ??

  6. Constraints :Fundamental Shift Reason’s why we cant change the way we work. • Move to OO Databases : Gemstone,Db4O a) RDBMS  backed by Mathematics. b) Performance in Data Management. c) Already Huge Investment In RDBMS. • Move away From OO Concepts: a) We All know benefits of OO principles . b) Shines in Complex Domain Structure. So We have to live with Previous Problems.

  7. General Solution Goal : We want to directly manipulate data contained in a relational database using an object programming language (Java). SOLUTION: Use a mapping layer to map between the object world and the relational world. • Automate task of converting Tables  Classes Tables. • Framework to optimize I/O transaction's b/w App layer and DB. • Framework having a Cache Management. • Runtime SQL generation :portability across different Db Vendors. This resulted in number of Home-grown ORM frameworks.

  8. Available solutions • Lots of ORM frameworks now available in market.

  9. Why Hibernate • Quite Mature and vast functionality. • Open-Source . • Substantial User base. • Heavily influenced JPA specification, Industry approved. • Close to EJB 3 Specification. • Good Caching and Transaction management functionality available. • Support for almost all available Databases. • Learning Curve is Easy: a) Lots of material on Net. b) Many Books now available.

  10. Resources • http://www.hibernate.org/hib_docs/reference/en/html_single/ • http://www.hibernate.org/78.html • http://www.java201.com/resources/browse/2003/hibernate.html

More Related