To my wife Darleen, the perfect mother, and to Cierra, Ariana, Jeremy, and Emma, who brighten my life and make me strive to be a better person.
—Mike
To Anthony, whose boundless creativity continues to inspire me. To Evan, whose boisterous enthusiasm motivates me to take on new challenges. To Kate, who proves that size is no object when you have the right attitude. I love you all.
—Merrick
I would like to dedicate this book to the memory of my beloved late mother Maria Augusta Ciniglio. Thanks mom for all the great things you taught me, for making me a good person, for making me study to become a computing scientist, and for the great memories you left me. You will be loved and missed forever. I love you mom. RIP.
—Massimo
Many thanks go to my wonderful family—my wife Pia, and my children Luna, Leo, and Neve—for supporting me when working on this book. You are the most beautiful aspect of my life.
I want to thank my beloved late mother Maria Augusta Ciniglio who always supported and loved me so much. I will love and miss you forever, my dearest mom.
I also need to thank my beloved father Giuseppe and my brothers Mario and Roberto for your endless love and for being the best dad and brothers in the world.
This book is also dedicated to Doctor Antonio Catapano, for being such a great person with a big heart and taking care of me and my mother. To my sister in law Susanna Cennamo, to my dear cousins Rosaria Scudieri, Pina and Elisa Franzese, and Francesco Ciniglio, for loving and supporting me and my mother like no other. To Pertti and Marianna Kantola, for teaching me how to be a good programmer, taking care of me, and treating me like their son. To Antti, Piia, and Daniela Jalonen for being great and supportive friends, as well as to Anton Jalonen, who will become a great software engineer. Anton, may this book be an inspiration to your great IT future.
I also want to thank Steve Anglin and Matthew Moodie for giving me the opportunity to write this book. A special thanks goes, as usual, to Mark Powers for doing such a great job and supporting me during the editorial process.
Finally I want to thank Mario Faliero, a good friend and the technical reviewer of this book, for helping me make a better book.
was the co-specification lead for JPA 1.0 and a member of the JPA 2.0 and JPA 2.1 expert groups. He sits on a number of other Java Community Process expert groups and the Enterprise Expert Group (EEG) in the OSGi Alliance. He holds a Master’s degree in Computer Science from Carleton University, and has over 20 years experience in persistence and distributed systems research and practice. He has written papers and articles on JPA and spoken at numerous conferences around the world. He is employed as an architect at Oracle in Ottawa, Canada, and is married with four kids and two dogs.
is a consulting engineer at Oracle, specializing in middleware technologies. He has a Bachelor of Science degree in Computer Science from Lakehead University, and has more than a decade of experience in enterprise software development. He spent some time consulting in the pre-Java enterprise and business intelligence fields before moving on to write Java and J2EE applications. His experience with large-scale systems and data warehouse design gave him a mature and practiced perspective on enterprise software, which later propelled him into doing Java EE container implementation work.
has more than 24 years of experience in Security, Web/mobile development, cloud, and IT architecture. His true IT passions are security and Android.
He has been programming and teaching others how to program with Android, Perl, PHP, Java, VB, Python, C/C++, and MySQL for more than 20 years.
He holds a Master of Science degree in Computing Science from the University of Salerno, Italy. He has worked as a Project Manager, Software Engineer, Research Engineer, Chief Security Architect, Information Security Manager, PCI/SCADA Auditor, and Senior Lead IT Security/Cloud/SCADA Architect for many years.
His technical skills include security, Android, cloud, Java, MySQL, Drupal, Cobol, Perl, Web and mobile development, MongoDB, D3, Joomla, Couchbase, C/C++, WebGL, Python, Pro Rails, Django CMS, Jekyll, Scratch, and more.
He worked as a visiting lecturer and supervisor at the Networking Laboratory of the Helsinki University of Technology (Aalto University). He also holds four international patents (in the PKI, SIP, SAML, and Proxy areas).
He currently works as Chief Information Security Office (CISO) for Cargotec Oyj and is a member of the ISACA Finland Chapter Board.
Massimo has reviewed more than 45 IT books for different publishers and is the coauthor of Pro Android Games (Apress, 2015).
is a telecommunications engineer and entrepreneur. He has more than ten years of experience with radio frequency hardware engineering. Mario has extensive experience in numerical coding, using scripting languages (MATLAB and Python) and compiled languages (C/C++ and Java). He has been responsible for the development of electromagnetic assessment tools for space and commercial applications. Mario received his Master’s degree from the University of Siena.
3.133.131.168