Microservices and System Architecture

The previous chapters covered how to develop a single enterprise application with Java EE. Modern applications contain infrastructure and configuration definitions as code, making it possible to create environments in automated ways, either on premises or in cloud platforms. Continuous Delivery pipelines together with sufficient, automated test cases make it possible to deliver enterprise applications with high quality and productivity. Modern zero-dependency Java EE approaches support these efforts.

Enterprise systems rarely come with single responsibilities that could be reasonably mapped into single enterprise applications. Traditionally, enterprise applications combined multiple aspects of the business into monolithic applications. The question is, whether this approach to crafting distributed systems is advisable.

This chapter will cover:

  • The motivations behind distribution
  • Possibilities and challenges of distributed systems
  • How to design interdependent applications
  • Application boundaries, APIs, and documentation
  • Consistency, scalability, challenges, and solutions
  • Event sourcing, event-driven architectures, and CQRS
  • Microservice architectures
  • How Java EE fits the microservice world
  • How to realize resilient communication
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.222.93.132