JAVA-301

Advanced Software Engineering in Java, with Mock Testing, Integration Testing, Race Condition Avoidance & Database Migration

Cost: $800
Duration: 4
 Day
s
Skill Level: Advanced

How We Conduct Training :

Online :
Google Meet or Zoom
In-Person :

O&B Headquarters (3F Carlos J. Valdes Building, 108 Aguirre, Legazpi Village, Makati City)
Client's premises (Private sessions available with a minimum number of participants)

Course Overview

Addresses more advanced techniques for common concerns in Java enterprise development:

  • Integration Testing: efficiency, reliability, repeatability
  • Performance & Data Consistency: especially in high-concurrency systems
  • Migrating Production Versions Safely
  • Architecting for Multiple Teams
  • Web & Database Optimization & Maintainability

Prerequisite Details

Experience with HTML, SQL, JUnit, Spring or Java EE, JPA

Learning Outcomes

  • Gain expertise in developing scalable enterprise applications using Java EE technologies.
  • Learn advanced concepts such as JPA for data persistence and EJB for component-based architecture.
  • Explore techniques for building secure, transactional, and high-performance Java applications for enterprise environments.

Suitable For

Java developers who want to write high quality, robust, scalable code for Enterprise or other mission-critical applications. Should have prior experience with HTML, SQL, JUnit, Spring or Java EE, and JPA.

Course Outline

Course Outline

Domain Driven Design (DDD)

  • Ubiquitous Language
  • Layered vs. Hexagonal Architecture
  • Domain Classes
  • Entities
  • Value Objects
  • Services
  • Service Anti-Patterns
  • DDD Package Structure
  • Aggregates
  • Bounded Context
  • Event Storming

Mock Testing

  • Test-Driven Development (TDD) using Mockito

Integration Testing

  • TDD using Spring MockMvc
  • Testcontainers
  • Separating unit tests from integration tests

Testcontainers

  • The Testcontainers library provides lightweight throwaway instances of common databases, or anything else that can run in a Docker container, in support of JUnit tests.
  • Best practices for integration testing using Testcontainers

POST-GET-Redirect (PRG) Pattern

  • The POST-GET-Redirect (PRG) architectural pattern helps prevent users from making duplicate submissions.

RESTful Architecture

  • What does REST mean?
  • Common conventions

Transactions & Concurrency

  • Testing for race conditions and how to avoid them

Database Schema Migration

  • Using Liquibase to manage changes to database structure

Command Query Responsibility Separation (CQRS) Pattern

  • Using different models to handle different requests and responses

Software and Hardware Requirements

  • Java
  • Maven
  • STS or Eclipse

EXCLUSIVE TRAINING FOR YOUR COMPANY
AT YOUR PREFERRED SCHEDULE

Tailored to the needs of your organization, we also offer cadetship programs which include a series of our standardized O&B Academy courses.
Get a quote