Java EE 8 Design Patterns and Best Practices
Build enterprise-ready scalable applications with architectural design patterns
Rhuan Rocha
Joo Purificao
BIRMINGHAM - MUMBAI
Java EE 8 Design Patterns and Best Practices
Copyright 2018 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Commissioning Editor: Richa Tripathi
Acquisition Editor: Alok Dhuri
Content Development Editor: Akshada Iyer
Technical Editor: Mehul Singh
Copy Editor: Safis Editing
Project Coordinator: Prajakta Naik
Proofreader: Safis Editing
Indexer: Pratik Shirodkar
Graphics: Jisha Chirayil
Production Coordinator: Shraddha Falebhai
First published: August 2018
Production reference: 1080818
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-78883-062-1
www.packtpub.com
To my Aunt, Vanessa Rocha, for teaching me to have a calm look and observe the facts more clearly. To my mother, Ivonete Rocha, for her sacrifices and power.
- Rhuan Rocha
To my two daughters, Carolina and Beatriz, who give me the energy to walk even further; to my father, Joo Lobato, for his great wisdom and intelligence; and to my mother, Dinah, for her love and affection.
- Joo Purificao
mapt.io
Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.
Why subscribe?
Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals
Improve your learning with Skill Plans built especially for you
Get a free eBook or video every month
Mapt is fully searchable
Copy and paste, print, and bookmark content
PacktPub.com
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at service@packtpub.com for more details.
At www.PacktPub.com , you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.
Contributors
About the authors
Rhuan Rocha is from Brazil and has experience with development using the Java language and Java EE. Currently, he works as senior Middleware consultant in a partnership between Red Hat and FbricaDS , and he applies Red Hat solutions using Red Hat Middlewares . Furthermore, he has 8 years, experience with Java development and Java EE development, developing enterprise applications and government applications.
Joo Purificao is an electronic engineer from Brazil with a master's in systems engineering. He started working with software development as a C and C ++ programmer. He has worked on the analysis, development, and architecture of Java-based enterprise applications. As a Java/JavaEE consultant, he has participated in the development and architecture of applications for private and government companies. He currently works as a senior architect at Resource IT, a company based in So Paulo.
About the reviewer
Kamalmeet Singh got his first taste of programming at the age of 15, and he immediately fell in love with it. After spending over 14 years in the IT Industry, Kamal has matured into an ace developer and a technical architect. He is also the c oauthor of a book on Design Patterns and Best Practicesin Java. The technologies he works with range from cloud computing, machine learning, augmented reality, serverless applications, to microservices and so on.
Packt is searching for authors like you
If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.
Preface
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, t he 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.
Next page