Full Stack Development with JHipster build modern web applications and microservices with Spring and Angular
Discover the world of Full Stack Development with real-world examples. About This Book Leverage the full power of the JHipster platform to build complex web applications Create microservices from scratch and convert JHipster monolith apps into microservices Build and deploy applications locally, in...
Otros Autores: | , |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham ; Mumbai :
Packt
2018.
|
Edición: | First edition |
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009631628206719 |
Tabla de Contenidos:
- Intro
- Title Page
- Copyright and Credits
- Dedication
- Packt Upsell
- Foreword
- Contributors
- Table of Contents
- Preface
- Chapter 1: Introduction to Modern Web Application Development
- Modern full-stack web development
- Web architecture patterns
- Monolithic web architecture
- Microservice architecture
- Choosing the right pattern
- When to choose a monolithic architecture
- When to choose a microservice architecture
- Summary
- Chapter 2: Getting Started with JHipster
- Why JHipster?
- Goal and adoption of JHipster
- Introduction to technologies available
- Client-side technologies
- HTML5 and CSS3
- HTML5
- CSS3
- Sass
- Bootstrap
- MVVM framework
- Angular
- React
- Build tools
- Webpack
- BrowserSync
- Testing tools
- Karma
- Protractor
- Internationalization
- Server-side technologies
- Spring Framework
- Spring Boot
- Spring Security
- Spring MVC
- Spring data
- Security
- JWT
- Session
- OAuth2
- Build tools
- Maven
- Gradle
- Hibernate
- Liquibase
- Caching
- Ehcache
- Hazelcast
- Infinispan
- Swagger
- Thymeleaf
- Dropwizard metrics
- WebSocket
- Kafka
- Testing frameworks
- JUnit
- Gatling
- Cucumber
- Introduction to database options
- SQL databases
- H2
- MySQL
- MariaDB
- PostgreSQL
- MS SQL
- Oracle
- NoSQL databases
- MongoDB
- Cassandra
- Elasticsearch
- Installation and setup
- Prerequisites
- Tools required
- Installation procedure
- Java 8
- Git
- Node.js
- Yarn
- Docker
- IDE configuration
- System setup
- Installation of JHipster
- Summary
- Chapter 3: Building Monolithic Web Applications with JHipster
- Application generation
- Step 1 - preparing the workspace
- Step 2 - generating code using JHipster
- Server-side options
- Client-side options
- Internationalization options
- Testing
- Modules
- Code walkthrough.
- File structure
- Server-side source code
- Java source
- Resources
- client-side source code
- Starting the application
- Application modules
- Home and Login modules
- Account modules
- Settings
- Password
- Registration
- Admin module
- User management
- Metrics
- Health
- Configuration
- Audits
- Logs
- API
- Running generated tests
- Server-side tests
- Client-side tests
- Summary
- Chapter 4: Entity Modeling with JHipster Domain Language
- Introduction to JDL
- DSL grammar for JDL
- Entity modeling with JDL
- Relationship management
- DTO, service, and pagination options
- JDL Studio
- Use case entity model with explanation
- Entities
- Relationships
- Options for entities
- Entity generation with JHipster
- Generated code walkthrough
- Server-side source code
- Domain class for the entity
- Repository interface for the entity
- Service class for the entity
- Resource class for the entity
- Client side
- TypeScript model class for the entity
- Angular services for the entity
- Angular components of the entity
- Angular route for the entity
- Angular module for the entity
- Generated pages
- Running generated tests
- Summary
- Chapter 5: Customization and Further Development
- Live reload for development
- Spring Boot DevTools
- Webpack dev server and BrowserSync
- Setting up live reload for an application
- Customizing the Angular frontend for an entity
- Editing an entity using the JHipster entity sub-generator
- Changing the look and feel of the application
- Adding a new i18n language
- Authorization with Spring Security
- Limiting access to entities
- Limiting access to create/edit/delete entities
- Limiting access to data of other users
- Summary
- Chapter 6: Testing and Continuous Integration
- Fixing and running tests
- Continuous integration
- CI/CD tools
- Jenkins.
- Travis CI
- GitLab CI
- CircleCI
- Setting up Jenkins
- Creating a Jenkins pipeline using JHipster
- The Jenkinsfile and its stages
- Setting up the Jenkinsfile in a Jenkins server
- Summary
- Chapter 7: Going into Production
- An Introduction to Docker
- Docker containers
- The Dockerfile
- The Docker Hub
- Docker compose
- Starting the production database with Docker
- An introduction to Spring profiles
- Packaging the application for local deployment
- Building and deploying using Docker
- Building and deploying an executable archive
- Upgrading to the newest version of JHipster
- An introduction to deployment options supported by JHipster
- Heroku
- Cloud Foundry
- Amazon Web Services
- Production deployment to Heroku cloud
- Summary
- Chapter 8: Introduction to Microservice Server-Side Technologies
- Microservice applications versus monoliths
- Building blocks of a microservice architecture
- Service registry
- Service discovery
- Health check
- Dynamic routing and resiliency
- Security
- Fault tolerance and failover
- JHipster Registry
- Netflix Eureka server
- Spring cloud config server
- HashiCorp Consul
- Service discovery
- Health discovery
- K/V store
- Multiple data centers
- JHipster Gateway
- Netflix Zuul
- Hystrix
- JHipster Console
- Elasticsearch
- Logstash
- Kibana
- Zipkin
- Prometheus
- JHipster UAA server
- Summary
- Chapter 9: Building Microservices with JHipster
- Application architecture
- Gateway application generation
- Converting a monolithic application to a microservice gateway
- Application generation
- Generating a new Gateway
- Gateway configuration
- JWT authentication
- How JWT works
- Microservice application - Invoice Service with MySQL database
- Application generation
- Microservice configuration.
- Microservice application - notification service with NoSQL database
- Application generation
- Microservice configuration
- Summary
- Chapter 10: Working with Microservices
- Setting up JHipster Registry locally
- Using a pre-packaged WAR file
- Building from source
- Docker mode
- Running a generated application locally
- Gateway application pages
- JHipster Registry pages
- System status
- Below renew threshold
- Instances registered
- General info and health
- Application listing page
- Metrics page
- Health page
- Configuration page
- Logs page
- Swagger API endpoints
- Running invoice and notification applications locally
- Modeling entities in JDL
- Entity generation on microservices
- Explaining the generated code
- Gateway application
- Explaining the generated pages
- Summary
- Chapter 11: Deploying with Docker Compose
- Introducing microservice deployment options
- A short introduction to Docker Compose
- Kickstarting Kubernetes
- Introducing OpenShift
- Explaining Rancher
- Generated Docker Compose files
- Walking through the generated files
- Building and deploying everything to Docker locally
- Generating docker-compose files for microservices
- Features of the deployed application
- JHipster console demo
- Scaling up with Docker Swarm
- Summary
- Chapter 12: Deploying to the Cloud with Kubernetes
- Generating Kubernetes configuration files with JHipster
- Walking through the generated files
- Deploying the application to Google Cloud with Kubernetes
- Summary
- Chapter 13: Using React for the Client-Side
- Generating an application with React client side
- Technical stack and source code
- Technical stacks
- Using TypeScript
- State management with Redux and friends
- Routing with React Router
- HTTP requests using Axios
- Bootstrap components using Reactstrap.
- Unit testing setup
- Generating source code
- Generating an entity with React client side
- Summary
- Chapter 14: Best Practices with JHipster
- The next steps to pursue
- Adding a shopping cart for the application
- Improving end-to-end tests
- Improving the CI/CD pipeline
- Building a JHipster module
- Best practices to keep in mind
- Choosing a client-side framework
- Choosing a database option
- Architecture considerations
- Security considerations
- Deployment and maintenance
- General best practices
- Using JHipster modules
- Contributing to JHipster
- Summary
- Other Books You May Enjoy
- Index.