logo资料库

Full Stack Development with JHipster.pdf

第1页 / 共537页
第2页 / 共537页
第3页 / 共537页
第4页 / 共537页
第5页 / 共537页
第6页 / 共537页
第7页 / 共537页
第8页 / 共537页
资料共537页,剩余部分请下载后查看
Title Page
Copyright and Credits
Full Stack Development with JHipster
Dedication
Packt Upsell
Why subscribe?
PacktPub.com
Foreword
Contributors
About the authors
About the reviewers
Packt is searching for authors like you
Preface
Who this book is for
What this book covers
To get the most out of this book
Download the example code files
Conventions used
Get in touch
Reviews
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Leave a review - let other readers know what you think
Download from finelybook 7450911@qq.com Full Stack Development with JHipster Build modern web applications and microservices with Spring and Angular Deepu K Sasidharan Sendil Kumar N 2
Download from finelybook 7450911@qq.com BIRMINGHAM - MUMBAI 3
Download from finelybook 7450911@qq.com Full Stack Development with JHipster Copyright © 2018 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. Commissioning Editor: Merint Mathew Acquisition Editor: Alok Dhuri Content Development Editor: Akshada Iyer Technical Editor: Mehul Singh Copy Editor: Safis Editing Project Coordinator: Prajakta Naik Proofreader: Safis Editing Indexer: Rekha Nair Graphics: Jisha Chirayil Production Coordinator: Arvindkumar Gupta First published: March 2018 Production reference: 1200318 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK. ISBN 978-1-78847-631-7 4
Download from finelybook 7450911@qq.com www.packtpub.com 5
Download from finelybook 7450911@qq.com To my mother, Latha Kumari, and my father, K Sasidharan, for making me To my loving wife, Sabitha, for being supportive and patient throughout our journey together.To my family, friends, colleagues, and the JHipster who I am. community. – Deepu K Sasidharan To Nellaiyapen, Amutha, Sakthi, and Sahana for their advice, patience, and To my amigos and all the awesome full-stack developers out there. faith. – Sendil Kumar N 6
Download from finelybook 7450911@qq.com mapt.io Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website. 7
Download from finelybook 7450911@qq.com Why subscribe? Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals Improve your learning with Skill Plans built especially for you Get a free eBook or video every month Mapt is fully searchable Copy and paste, print, and bookmark content 8
分享到:
收藏