Table of Contents
Java back-end apps, using Java Server Faces (JSF) as the user interface technology, the Java Persistence API (JPA) for object-to-storage mapping, and a MySQL/MariaDB database management system;
a front-end component for managing the user interface and taking care of certain parts of the application logic (including constraint-based data validation), and
a NodeJS-based back-end component for managing persistent storage and taking care of certain parts of the application logic (including constraint-based data validation).
The focus of the book are general concepts and techniques concerning the fundamental information management issues of
integrity constraints and data validation,
enumerations and enumeration attributes
unidirectional and bidirectional associations between object types,
subtyping and inheritance in class hierarchies.
The first two issues of this list are discussed in Volume 1 of the book, while the last two issues are discussed in Volume 2.
The book can be used
in web development courses for students of Computer Science and related disciplines;
The book comes with the complete source code of six example apps that you can run, or download, from our web server.
For mastering app development, it's not sufficient that you master coding in your favorite programming language. It's essential that you understand all basic concepts and techniques, not just in programming, but also in information management.
Many developers seem to believe that all they need to learn and master for their professional career are the right programming technologies. However, they fail to master app development, if they don't manage to learn the general concepts and techniques needed for being able to apply programming technologies in the right way.
Understanding general concepts and techniques, in programming and information management, helps you to
better understand the elements of a language or framework by recognizing them as specific incarnations of general concepts,
compare different technologies and assess their strengths and weaknesses,
make an informed choice of a new promising language/technology suitable for your purposes.