JAVAX-QRK
Microservice application development with Quarkus
Description
Quarkus is a Java framework optimized for Kubernetes, designed specifically for developing microservices and cloud-based applications. It places a strong emphasis on fast startup times and low memory usage, thereby improving performance and efficiency. It offers developers a rich ecosystem and development tools that make it easy to build and maintain modern Java applications.
The course will develop a microservice providing a REST API with a relational database. Kafka connects to message broker and supports observability.
Outline
- Microservice architecture, service expectations
- Quarkus framework and standards, MicroProfile
- Development mode
- Dev UI, Extensions
- Twelve-Factor app
- Contexts and Dependency Injection
- Simple application development using Maven
- REST web services, methods, status codes, parameters, headers, error handling (RFC 7807 - Problem Details), validation (Bean Validation), custom validation
- Request and response filter
- Swagger, OpenAPI
- Unit and integration testing (Rest Assured), mocking
- Reactive programming tools
- MicroProfile Config
- Profiles
- Build time configuration
- Logging
- Access log
- Database management, Panache repository and active record pattern
- Transaction management
- Query projection, CQRS
- Schema migration with Liquibase
- Command line application
- REST Client
- Integration testing using WireMock
- Quarkus Messaging, Kafka Connector
- Health, metrics, trace, logging
- Management interface
- Container image generation
- Native translation
Prerequisites
A solid knowledge of the Java programming language is required.
Completion of the Java SE Fundamentals (JAVA-BSC) and Java SE Advanced (JAVA-ADV) training courses or practical knowledge of the material covered in those courses is a prerequisite.
As some of the course material is in English, a basic level of English at document reading level is required. The training is in Hungarian, based on Hungarian slides.