Over time, the world of enterprise has invested more and more in technologies and applications that optimize processes and help businesses increase their profits and improve services or products. The enterprise environment has challenges that need to be faced to implement good solutions, such as the high availability of services, the capacity to change when needed, the capacity to scale services, and the capacity to process a large amount of data. With this, new applications have been created to optimize processes and increase profits. The Java language and Java EE are great tools for creating an application for the enterprise environment, because, Java language is multiplatform, open source, widely tested, and has a strong community and a strong ecosystem. Furthermore, the Java language has Java EE, which is, an umbrella of specifications that permit us developer enterprise application without depending on vendors. The development of enterprise application has some well-known problems that occur over and over. These problems involve the integration of services, the high availability of applications, and resilience.
This book will explain the concepts of Java EE 8, what its tiers are, and how to develop enterprise applications using Java EE 8 best practices. Furthermore, this book will demonstrate how we can use design patterns and enterprise patterns with Java EE 8, and how we can optimize our solutions using aspect-oriented programming, reactive programming, and microservices with Java EE 8. Throughout this book, we learn about integration patterns, reactive patterns, security patterns, deployment patterns, and operational patterns. At the end of this book, we will have an overview of MicroProfile and how it can help us develop applications using microservices architecture.