Course description
This course provides an in-depth, hands-on study of building microservices-based applications using Java. Microservices are changing software development by replacing monolithic applications with small targeted services. Microservices are more agile and provide flexibility to align with changing business needs. They are designed and implemented as small independent and reusable services, which can be modified and independently deployed. The course consists of three parts; the first introduces microservices application environments and deployments in comparison with those in traditional Java Enterprise Edition (Java EE) applications. The second part focuses on core microservices development techniques including service discovery, fault tolerance, security, testing, and cloud native development. The third part of the course examines several advanced microservices development topics such as architecting a microservice hybrid, data streaming with the Kafka framework, using Spring Boot microservices with Java EE, and reactive microservices with Java EE. Hands-on development projects provide the opportunity for students to apply microservices technological capabilities to the creation of microservices projects.