Foreword

This two-volume book shows how to design and implement web applications with a model-based engineering approach, using the two most relevant technology platforms for web development: JavaScript and Java. Web apps are designed with the help of information models in the form of UML class diagrams and implemented as:

  1. JavaScript front-end apps, using one of the two local storage technologies offered by web browsers;

  2. 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.

The focus of the book are general concepts and techniques concerning the fundamental information management issues of

  1. integrity constraints and data validation,

  2. enumerations and enumeration attributes

  3. unidirectional and bidirectional associations between object types,

  4. 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.

We assume that the reader is already familiar with HTML and with at least one object-oriented programming language, such as C++, Java, PHP, Python or C#. In addition, we assume that the reader has some familiarity with CSS and JavaScript, and is interested to learn more about programming with JavaScript or Java.

The book can be used

  1. in web development courses for students of Computer Science or Information Systems and related disciplines;

  2. by JavaScript developers for learning Java;

  3. by Java developers for learning JavaScript;

  4. by JavaScript and Java (and PHP/Python/C# etc.) developers for learning

    • object-oriented (OO) programming with JavaScript or Java,

    • how to implement basic information management concepts and build complete web apps with plain JavaScript or Java.

The book comes with the complete source code of six example apps that you can run or download from our web server.