- International Fees
International fees are typically 3.12 times the domestic tuition. Exact cost will be calculated upon completion of registration.
Course Overview
Following on from COMP 3601, this course replaces COMP 4613 and COMP 4656 . Those who also understand HTML, CSS and JavaScript and already capable of developing basic Java web applications will focus on Advanced Java Web App design, organization and deployment. Starting with the Java Persistence API (JPA), students creating Object Relational Mapping solutions and configure data sources in J ava Enterprise Edition (JEE) containers. They connect Java web applications to data sources by utilizing Java Naming and Directory Interface (JNDI). SQL queries are executed using native and Java Persistence Query Language (JPQL queries as well as JPA's Criteria Builder API. COMP 4602 activites include; use Create/Read/Update/Delete (CRUD) operations on JPA entities using entity managers. Students create XML-based web services using the Java API for XML Web Services (JAX- WS) and RESTful web services (JAX-RS API) and Jersey Implementation. Industry best practices are discussed for well-informed decisions about web services strategies. Labs and exercises use industry standards to develop and deploy advanced Java web applications. Topics include: Java Persistence API (JPA), creating Object Relational Mapping solutions, JEE containers, Hibernate API. Students will develop a database-enabled web application, and web services using a variety of industry standards and using design patterns. Enterprise Java Beans (EJB™) API is used to develop the components to build the business logic for Java Enterprise Edition (JEE) applications. Upon successful completion, students will be able to create and deploy advanced Java Web Applications to industry standards. COMP 4601 will be offered in the Fall (September) term.
Domestic fees
$564.51
Learning Outcomes
Upon successful completion of this course, the student will be able to:
- Describe the Java Persistence API (JPA) and employ it for creating Object Relational Mapping solution
- Create and configure data sources in JEE containers.
- Connect Java web applications to data sources by utilizing Java Naming and Directory Interface (JNDI)
- Use Hibernate API as a JPA implementer to create a database-enabled web application.
- Execute SQL queries using native and JPQL (Java Persistence Query Language) queries as well as JPA's Criteria Builder API.
- Develop JPA entities using JPA annotations to map the Java classes, properties, and types to relational tables, columns, and types.
- Carry out Create/Read/Update/Delete (CRUD) operations on JPA entities using entity managers.
- Create web applications and web services using a variety of industry standards and design patterns.
- Map XML documents to Java objects and vice versa by employing Java API for XML Binding (JAXB).
- Create XML-based web services with JAX-WS API in bottom-up and top-down.
- Create RESTful web services using JAX-RS API and Jersey Implementation.
- Make well-informed decisions about web services strategies.
- Use EJB™ API to develop components used in building the business logic of Java EE applications.
- Create, send, receive and read messages between two or more applications using Java Messaging Service (JMS).
- Use Message-Driven beans to process messages asynchronously in Java EE applications.
- Provide case-based recommendations for asynchronous vs synchronous messaging between application clients, EJB™ components and web components.
- Make well-informed decisions about Publisher/Subscriber or point-to-point strategies.
Effective as of Spring/Summer 2023
Related Programs
Advanced Java Web Application Development (COMP 4601) is offered as a part of the following programs:
- Indicates programs accepting international students.
- Indicates programs with a co-op option.
School of Computing and Academic Studies
- Advanced Java Development
Associate Certificate Part-time
- Computer Systems
Diploma Part-time
- Web and Mobile Application Development
Associate Certificate Part-time
Course Offerings
Fall 2024
Below is one offering of COMP 4601 for the Fall 2024 term.
CRN 50441
Dates
Thu Sep 26 - Thu Dec 12
- 12 weeks
- CRN 50441
- Domestic fees $564.51
Status
In Progress
This course offering is in progress. Please check back next term, subscribe to receive email updates or contact us with your comments or questions.
Class meeting times
Instructor
Arash Ghavami
Course outline
Important information
- Internet delivery format.
- Departmental approval needed
- Important course information will be sent to you prior to your course start date. Check your myBCIT email account to access this information.
- International fees are typically 3.12 times the domestic tuition. Exact cost will be calculated upon completion of registration.
- Please email cstflex@bcit.ca for Departmental approval. Include your Student number (A0#) and COMP__ and preferred CRN __ and Program Declaration____. Course is 48 hours - 36 hours synchronous online classes and 12 hours asynchronous activities/labs. The class meets once per week for 3 hours online and requires an additional 1 hour per week asynchronously. Please Note: Attendance, participation in class and the BCIT Learning Hub are mandatory. You should prepare to spend 2-3 hours on homework for every 1 hour of class time. This course may require an average total time commitment of 12-15+ hours per week. 3 hours of synchronous class, 1-hour asynchronous class time and 9-12+ hours per week for homework. Late registration is not permitted. BCIT Computing is primarily a Microsoft Windows environment. Students must provide their own current model Windows-compatible PC. i5 or higher equivalent processor, with 8 GB of RAM minimum, and 256 GB minimum storage. Highspeed internet access is needed for online sections and for homework. Mac users must have the ability to manage and support their iOS computer. They may need to create a virtual Windows environment using Parallels or VMWare Fusion. COMP instructors may not be able to assist Mac users with software compatibility issues. BCIT does not provide access to Parallels or support for students to use a Mac to run Windows. Due to the substantial time required on labs and assignments, students are advised not to take any other programming language courses simultaneously.
Programs and courses are subject to change without notice.