PRO689 - Project Development using Java Persistence Appl.

Outline info
Semester
School
Last revision date 2017-05-29 00:34:01.651
Last review date 2017-07-17 00:15:43.592


Subject Title
Project Development using Java Persistence Appl.

Subject Description
Implementing web applications using Module View Controller Architecture (MVC) allows java developers to separate the business layer from the presentation and the control layers. This business layer is the interface with the database of the system, so managing the database
Persistency issues are very much required. Studying the importance of the persistency layer with the most used architectures and frameworks in java world is essential to have a complete web application design and implementation. Using Hibernate 3 and Java persistence APIs (JPA) as the famous persistency layer frameworks is a big strength in building web applications. In this course, different architectures will be viewed and studied, approaches to persistency will be investigated and different frameworks will be viewed. Comparison among these frameworks will be done. Also, in this course a project will be designed and implemented using web application (experience Sun Glassfish Enterprise Servers) and Hibernate 3 as a persistency layer with the covering of all the issues database developers have to deal with.

Credit Status
This is a credit subject applicable towards certificates and diplomas in the Computer Studies credit program as outlined in the Computer Studies Program Information Package.

Learning Outcomes
Upon successful completion of this subject the student will be able to:

1. Build a complete Module View Controller system with Hibernate as a persistency layer

2. Implement different strategies using Java DataBase Connectivity (JDBC)

3. Knowledge of XMLs and POJOs will be implemented with the separation of layers for the data and for business

4. Different techniques will be learned to handle different DataBase CRUD (Create, Retrieve, Update and Delete) operations

Cheating and Plagiarism
Each student should be aware of the College's policy regarding Cheating and Plagiarism. Seneca's Academic Policy will be strictly enforced.

To support academic honesty at Seneca College, all work submitted by students may be reviewed for authenticity and originality, utilizing software tools and third party services. Please visit the Academic Honesty site on http://library.senecacollege.ca for further information regarding cheating and plagiarism policies and procedures.

Discrimination/Harassment
All students and employees have the right to study and work in an environment that is free from discrimination and/or harassment. Language or activities that defeat this objective violate the College Policy on Discrimination/Harassment and shall not be tolerated. Information and assistance are available from the Student Conduct Office at student.conduct@senecacollege.ca.

Accommodation for Students with Disabilities
The College will provide reasonable accommodation to students with disabilities in order to promote academic success. If you require accommodation, contact the Counselling and Disabilities Services Office at ext. 22900 to initiate the process for documenting, assessing and implementing your individual accommodation needs.

Prerequisite(s)
PRO684 and DBS301 

Topic Outline
Introduction to Java MVC (Module - View - Controller)

  • Module - definition, types, problems
  • View - definition, types, problems
  • Controller - definition, types, problems
Introduction to Java, database connectivity
  • What is JDBC
  • JDBC Architecture
  • JDBC Driver and Types
  • Introduction to java.sql.Package
  • Understanding Driver Manager
  • Understanding Data Source

Java Persistency Layer JPA
  • SQL Language
  •  
  • XML
  • Object to Relational Mapping (ORM) and Java
  • POJO (Plain Old Java Object)

Persistency Frameworks
  • What is Persistency Framework
  • Java different frameworks
  • Commercial frameworks
Introduction to Hibernate
  • Setup
  • Mapping File
  • Configuration
  • Leading and Storing objects
  • Hibernate types
Architecture and Configuration
  • Instances States
  • Java Connector Architecture
  • Contextual Sessions
  • Programmatic configuration
  • Session Factory
  • JDBC connection
  • Optional Configuration Properties
  • Adding Hibernate to a web application
  • Integration of Hibernate, xml and web applications
Persistent Classes and Mapping
  • POJO Example
  • Implementing Inheritance
  • Dynamic Models
  • Tuplizers
  • Mapping Declaration
  • Collection Mappings
  • Advanced collection mappings
  • Examples
  • Association mappings
  • Unidirectional associations
  • Bidirectional associations
  • Bidirectional associations with join tables
  • Components mappings
  • Inheritance mapping

Mode of Instruction
This subject will be taught via class lectures and discussions, augmented with visual aids and supplemented by hands-on exercises in the classroom. Typically the lab will take almost 2.5 hours to be worked at. Before students start the lab, the instructor will explain the lab with examples to help students proceed with the lab.

It is the student's responsibility to save documents, articles and notes that the instructor has provided on BlackBoard or in class. Students will not be able to access BlackBoard as of the last day of the student’s class.

Prescribed Texts
Instructor will provide resources 

Promotion Policy

Grading Policy
A+ 90%  to  100%
A 80%  to  89%
B+ 75%  to  79%
B 70%  to  74%
C+ 65%  to  69%
C 60%  to  64%
D+ 55%  to  59%
D 50%  to  54%
F 0%    to  49% (Not a Pass)
OR
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online (http://www.senecacollege.ca/academic-policy) or at Seneca's Registrar's Offices.


Modes of Evaluation
Since this is a professional credit subject, marking standards reinforce professional practice by demanding legible, tidy work. Written materials should be well organized and grammatically correct, with proper spelling and punctuation.


Assignments

  • Students must retain a duplicate of all assignments.
  • Computer assignments should be documented to the instructor's standards.
  • Assignments must be handed in on the scheduled due date. Late assignments are penalized.
  • For particulars, please obtain standards, dates, etc. from your instructor.

Absenteeism and Tests
  • Students should be aware that absenteeism will impact on their ability to achieve satisfactory grades.
  • If you miss a test, you must provide the reason in writing to the instructor prior to the next scheduled class. If your reason is accepted, you will be permitted to write a make-up test. Otherwise, you will be given a zero for the test. You must submit an original doctor’s certificate identifying the date, length of time of expected absence and the specific reason for your absence, or other appropriate documentation.

Term Work and Final Exam
  • Students must attain a combined grade of at least 50% on term work and the final exam. Students must pass the final exam in order to pass the subject.
  • For further information on evaluation and academic standing, see a copy of the Academic Policy available at Seneca registration offices.

Grading is based on the following marking scheme:

Quiz 5%
Labs (3) 15%
Mid Term 30%
Project 20%
Final Exam 30%

Approved by: Denis Gravelle