Chapter 3. Travel Light on Your Pathway

He who would travel happily must travel light.

Antoine de Saint-Exupéry

In the last chapter, you built a microservices-based system, and we also showed you some migration steps from an existing application. But the challenge with all examples is that they remove complexity for the sake of easier understandability. What might seem clear for smaller examples becomes challenging with real business systems. In particular, think about complex legacy systems. As outlined in the first chapter, technologies and methodologies developed over the years have led to today’s best practices and tools to develop modern enterprise systems. Just because our industry now has a more extensive toolbox with shiny new things to work with doesn’t mean you should always use them. If you think about this and our growing number of frameworks, methodologies, and technologies, one question becomes more pressing: What tools and architecture should you use for your next system, and how and where will you run them? Before you can decide, you need to think a bit about the most prominent architectural styles that have emerged for enterprise applications in the last couple of years (Three-tier, Enterprise Integration, service-oriented architecture, microservices, and event-driven architecture).

Three-Tier or Distributed System

The Enterprise Java world is dominated by monolithic applications. They often are designed as single execution units that scale with server instances ...

Get Modernizing Enterprise Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.