Upon successful completion of this course, students will be able to:
Create and manage custom classes.
Control program flow by writing code to respond to specific criteria.
Implement object-oriented programming techniques to create reusable and reliable programs.
Work with Java utility class libraries.
Use the capabilities of the Java I/O package to read and write data to external files or media.
Use collection APIs in Java to manage data.
Use generics to enforce compile-time type checking.
Use multi-threaded programs to help handle multiple tasks concurrently.
Manage Java applications for memory efficiency and create distributable versions of a Java application.
Enterprise Application Development
• Establishing components of an enterprise architecture
• Streamlining the development process with Java EE
Mapping with Java Persistence API (JPA)
Demystifying the JPA architecture
• Identifying the major components of JPA
• Establishing access with the EntityManager
Applying JPA core operations
• Persisting and retrieving entity objects
• Employing JPA to manually manage transactions
• Updating and deleting entity objects in the database
Handling Complex Object Relationships
Effectively representing object associations
• Capturing single- and multi-valued associations
• Representing Java collections
Choosing appropriate inheritance strategies
• Employing techniques for class-to-database mapping
• Contrasting the database schema for different inheritance strategies
Working with Java Persistence Query Language (JPQL)
• Selecting data with the JPQL API
• Building maintainable database access with named queries
• Avoiding SQL insertion attacks with query parameters
Building a Scalable and Dynamic Middle Tier with EJB
Implementing the business tier with EJB stateless and stateful beans
• Encapsulating scalable business logic with JavaBeans
• Accessing session beans remotely
• Managing conversation across multiple requests with stateful beans
Applying advanced strategies of session beans
• Adding behaviors with method interceptors
• Triggering timer-based and asynchronous services
Exploring other EJB types
• Managing resources with Singleton beans
• Implementing robust message receivers with MDB
Managing Transactions and Security with EJB
Applying declarative transactions with JPA
• Approaches to working with Java Transaction API (JTA)
• Managing transaction strategies with annotations
Securing a Java EE application
• Enforcing application security with Java EE
• Configuring authentication and authorization across the tiers
Generating Modern User Interfaces with JavaServer Faces (JSF)
JSF architecture
• Exploring the request processing cycle
• Managing application flow using JSF navigation model
Constructing a JSF application
• Creating views with JSF custom tags
• Handling user events with backing beans
• Taking advantage of the Unified Expression Language
Building views with facelets
• Arranging the UI component layout
• Localizing messages using Resource Bundles
• Achieving code reuse with templates
Leveraging Ajax to improve the user experience
• Sharpening response with the asynchronous web model
• Combining Ajax functionality with JSF
Building Responsive Websites with JavaScript Libraries
Exchanging information with JSON
• JSON: The format for Web 2.0
• Syntax and samples of JSON formatting
The responsive web
• Combining HTML formatting with JavaScript actions
• Building client-side Models, Views and Routes
Communicating with Java EE via REST
• Accessing a REST service with an Ajax call
• Generating a JSON response on the server side
Examining a Complete Application
• Creating an example list-detail application
• Tailoring the sample application to make it your own