Chapter 1, Introduction to Design Patterns, introduces design patterns, looking at the reasons to use them, how they differ from enterprise patterns, and how they behave in the real world.
Chapter 2, Presentation Patterns, covers each pattern by explaining the concept and showing examples of implementations. After reading this chapter, we will know about these patterns and will be able to implement them with best practices using Java EE 8.
Chapter 3, Business Patterns, explores definitions of the business delegate pattern, the session façade pattern, and the business object pattern. Here, we will focus on reasons to use these design patterns, the common approach to each of them, their interaction with some other patterns, their evolution, and how they behave in the real world. We will also demonstrate some examples of these patterns' implementations.
Chapter 4, Integration Patterns, explains some integration patterns and looks at how they work on the integration tier of Java EE. After reading this chapter, you will be able to implement these patterns and use them to solve problems. You will also be able to work on the integration tier, as well as becoming familiar with the concepts associated with integration patterns.
Chapter 5, Aspect-Oriented Programming and Design Patterns, looks at the concept of aspect-oriented programming (AOP), focusing on which situations AOP should be used in, as well as how to achieve AOP with the use of CDI interceptors and decorators. Finally, we will also address some examples of implementations. By the end of this chapter, you will be able to identify a situation that requires aspect-oriented programming with the use of interceptors and decorators. Furthermore, you will also be able to identify the best approach to implementing these concepts.
Chapter 6, Reactive Patterns, focuses on reactive patterns, concepts, and implementations, and how they can help us implement a better application. We will also cover reactive programming concepts, focusing on how they can aid application development. After reading this chapter, you will be able to use reactive patterns using Java EE 8 best practices.
Chapter 7, Microservice Patterns, showcases microservice patterns. We will also compare these with the monolithic pattern, looking at what the advantages and drawbacks of a microservices-based application, are as well as focusing on when to use microservices. Furthermore, we will demonstrate how to switch from a traditional monolithic application to a microservice application, while using implementation examples throughout. We will then look at the design patterns used to compose microservices. After reading this chapter, you will be able to identify the parts of an application's code that are eligible to be microservices, and you will also know how to implement a microservice pattern-based application using Java EE8.
Chapter 8, Cloud-Native Application Patterns, outlines cloud-native application pattern concepts. What a cloud-native application is and what goals can be achieved with a cloud-native application will be covered, and we will look at both patterns already described in the previous chapters and new patterns that have emerged to address cloud-based applications. After reading this chapter, the reader will be able to understand the concepts and patterns that characterize cloud architecture.
Chapter 9, Security Patterns, discusses security pattern concepts and how these can help us implement better security applications. We will also learn about the single sign-on pattern and how this can help us provide a security application. In addition, we will learn about the authentication mechanism and authentication interceptor, focusing on how to implement these concepts. After reading this chapter, you will be able to create a security application and implement it using Java EE 8.
Chapter 10, Deployment Patterns, features deployment patterns, why we use them, and how they impact on the delivery of applications. We will also cover the concepts of canary deployment, blue/green deployment, A/B deployment, and continuous deployment. After reading this chapter, you will be familiar with the concepts of deployment patterns.
Chapter 11, Operational Patterns, dives into operational patterns, focusing on why we use them and how they impact on application projects. We will then cover performance and scalability patterns, as well as management and monitoring patterns. After reading this chapter, you will have learned all about the concepts of operational patterns.
Chapter 12, MicroProfile, is an overview of the eclipse MicroProfile project, covering its goals and the expectation of this project. Throughout this chapter, we will cover the real benefits of using this project to develop our application and will then actually use it. After reading this chapter, you will know about the Eclipse MicroProfile project and what the real benefits of using this project in our application are. This chapter is only an overview and will not teach readers how to implement applications using the MicroProfile project, and will not be an in-depth chapter.