JAVA-301

Enterprise Java Best Practices and Enterprise Test Automation

Duration: 4
 Day
s
 Skill Level: Advanced

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

Learning Outcomes

  • Domain Driven Design
  • Mock Testing
  • Integration Testing
  • TestContainers
  • POST-GET-Redirect (PRG) Pattern
  • REST
  • Transactions & Concurrency
  • Database Migration
  • Command Query Responsibility Separation (CQRS)

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

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
  • How to avoiding 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

EXCLUSIVE TRAINING FOR YOU 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