This book is a full-stack engineering experience. Build both a single-page application (SPA) client-side user interface and a complete set of RESTful web services. Begin by rapidly prototyping using an in-memory database. Then learn to integrate with both MySQL and MongoDB.
Ready for production? We've got you covered. The book dedicates chapters to development operations and production operations. Learn to quickly, simply, and reliably build, package, configure, deploy, and monitor the applications in production server environments.
- Part I. Introduction
- Paradigm Shift
- About the Book
- Intended Audience
- Source Code Bundles
- Part II. Web Services Foundation
- Bootstrap the Web Services Project
- A Proper Foundation
- Installing the Dependencies
- Choosing a Source Editor
- Structuring the Project
- Getting Started with Spring Boot
- Updating the POM
- Application.java
- Starting the Server
- Building the First RESTful Web Service
- Cohesion
- Updating the POM
- Creating the Entity Model
- Creating the Repository
- Creating the Service
- Creating the Controller
- Creating the Cross-Origin Filter
- Updating the Application
- Running the Application
- Part III. User Interface Foundation
- Bootstrap the User Interface Project
- Installing the Dependencies
- Choosing a Source Editor
- Structuring the Project
- Getting Started with Marionette
- The Marionette Application
- Marionette Modules
- Displaying Static Content
- Organizing the Application
- Marionette Messaging
- Event Aggregator
- Commands
- Request Response
- Integrating with Web Services
- Creating the Issue Entity
- Creating the Issue Manager Module
- Listing Issues at Startup
- Running the Application
- Part IV. CRUD
- Creating Issues
- Viewing Issues
- Updating Issues
- Deleting Issues
- Part V. Production Features
- Development Operations
- Web Services
- User Interface
- Deployment Strategies
- Configuration
- Property Files
- Property File Load Order
- Using Profiles with Property Files
- Spring Boot Property Reference
- Production Databases
- Relational Databases
- Integrating with MySQL
- NoSQL Databases
- Integrating with MongoDB
- Production Monitoring and Management
- Introducing Actuator
- Enabling Actuator
- Endpoints
- Configuration
- Health Check
- Application Information
- Metrics
- Tracing
- Conclusions
- Part VII. Appendices
- Appendix A: Dependency Versions
- Appendix B: Iconography
- Appendix C: CoffeeScript
- Appendix D: Gulp
The concepts discussed in this book are illustrated through rich example projects for both the Single Page Application user interface and the RESTful web services. As you read the book and construct the applications, you will become familiar with several technology frameworks and programming languages.
Single Page Application
Technologies
- Backbone.Marionette.js
- Backbone.js
- Underscore.js
- jQuery
- BootStrap
- Grunt
- Gulp1
Languages
- JavaScript
- CoffeeScript2
- HTML
- CSS
1 The book illustrates the single page application assembly processes using Grunt; however, the same functionality is also authored in Gulp for the reader's reference.
2 The book illustrates the single page application using JavaScript; however, the complete project is also available in CoffeeScript.
RESTful Web Services
Technologies
- The Spring Framework
- Spring Boot
- Spring Data JPA
- Spring Data MongoDB1
- Maven
- HSQLDB
- MySQL
- MongoDB1
1 The book illustrates data persistence using the Spring Data JPA project; however, a chapter is dedicated to MongoDB persistence and the complete project integration with MongoDB is available for reference.