PRO687 - JEE Application Development - Open Source Tech.

Outline info
Last revision date 2018-07-20 12:00:56.288
Last review date 2018-07-20 12:01:23.402

Subject Title
JEE Application Development - Open Source Tech.

Subject Description
Students learn the architecture of the open source technologies as Struts 2, AJAX and ZK Frameworks. Students learn how to set up an extensible development environment for J2EE AJAX techniques for creating interactive web applications,> Web Struts based Applications. The subject covers in detail most aspects of the implementation with regards to reusability, scalability, internationalization and maintainability of the application. AJAX is the methodology of getting the web pages to feel more responsive by exchanging small amounts of data with the server behind the scenes, which will lead to a more flexible and reliable web application. The Struts 2 framework has the acceptance of the industry and unveils a large usability along many J2EE applications with large cover for financial, banking, industrial and manufacturing sectors. The framework wants to be extensible and flexible in order to be used on different applications with no pre-requirements except the J2EE environment.

Also this course covers the Java script frontend framework Angular JS. Angular JS aims to simplify both the development and the testing of such applications by providing a framework for client-side model?view?controller (MVC) and model?view?viewmodel (MVVM) architectures, along with components commonly used in rich Internet applications. This framework is used in desktops, tablets and smart phones.

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. Understand the leading standard industry requirements regarding technology especially with the J2EE environment

2. Understand the Struts 2 framework architecture using MVC design paradigm

3. Understand Validation Framework, Business Model, Database connection and implementation

4. Develop J2EE Based applications using Struts 2 Framework for presentation tier

5. Understand Angular JS framework

6. Develop Browser based applications using Angular JS framework 

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 for further information regarding cheating and plagiarism policies and procedures.

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

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.

PRO684 and  INT222

Topic Outline

Course Introduction, Web Applications/Servlets/JSPs Overview

  • Course Overview
  • Web Applications (Web Tier)
  • Servlets
  • JSPs
  • MVC overview and types and why

This will include the overview of how the web application works, what are the main classic components, servlets overview and life cycle. JSPs, what are they and why we need them.

Model View Architecture (MVC) and Struts 2
Web Application Architecture and Design, Practical Methodologies

  • Introduction to Struts 2 with a high level of Struts architecture
This will include the different models the industry have and where is Struts among these models. Also will include a high level introduction about Struts with the main components.
  • Web application, features to support
  • Standard Web application components design affecting points

Struts 2 Configuration and Components
  • Struts 2 configuration
  • Mapping objects
  • Tags
  • Nested Tags
  • Action classes (Controllers)
  • Struts integration end to end

Writing Struts 2 Application
  • Writing Map Class
  • Writing Tag Class
  • Writing Action Class (Controller)
This will include writing a simple web application hosted and implemented by Struts.

Validation Framework
Business Model, Database connections, ways and implementation

  • Different Business Model Components in Web Application
  • Database communication methods through Struts 2
  • Client side/Server side validation
  • Using Action Forms with Validation
  • Validation Rules

  • Introduction to Java Script
  • Introduction to HTML
  • Introduction to AJAX

Angular JS Framework
  • Introduction to Angular JS
  • Angular JS Framework
  • Installing Angular JS first application

Angular JS Framework

  • Angular JS bootstrap and expressions
  • Angular JS controller
  • Angular JS directives
  • Angular JS models
  • Angular JS filters
  • Angular JS scope
  • Angular JS events
  • Angular JS services

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 first half of the class will involve the introduction of new concepts, while the second half of the class allows the student to apply these concepts.

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
Struts 2 in Action
by Donald Brown, Manning Publications Company
ISBN# 9781933988078 

Reference Material
AJAX Patterns and Best Practices
C. Gross, Apress Printing, ISBN# 9781590596166

Programming Jakarta Struts 2nd edition
by C. Cavaness, O'Reilly
ISBN# 9780596006518

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)
EXC Excellent
SAT Satisfactory
UNSAT Unsatisfactory

For further information, see a copy of the Academic Policy, available online ( 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.


  • 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: 

Labs (4)
Final Examination 30%

Approved by: Denis Gravelle