Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Full Stack Development with JHipster
Full Stack Development with JHipster

Full Stack Development with JHipster: Build modern web applications and microservices with Spring and Angular

Arrow left icon
Profile Icon Sasidharan Profile Icon Nellaiyapen
Arrow right icon
£16.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5 (6 Ratings)
Paperback Mar 2018 380 pages 1st Edition
eBook
£29.99
Paperback
£36.99
Subscription
Free Trial
Renews at £16.99p/m
Arrow left icon
Profile Icon Sasidharan Profile Icon Nellaiyapen
Arrow right icon
£16.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5 (6 Ratings)
Paperback Mar 2018 380 pages 1st Edition
eBook
£29.99
Paperback
£36.99
Subscription
Free Trial
Renews at £16.99p/m
eBook
£29.99
Paperback
£36.99
Subscription
Free Trial
Renews at £16.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. £16.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Full Stack Development with JHipster

Introduction to Modern Web Application Development

According to the Stack Overflow developer survey 2017 (https://insights.stackoverflow.com/survey/2017#developer-profile-specific-developer-types), full-stack web developer is the most popular developer title. The software industry defines a full-stack developer as someone who can work on different areas of an application stack. The term stack refers to different components and tools that make up an application.

In terms of web application development, the stack can be broadly classified into two areas—frontend and backend stack or client-side and server-side stack. Frontend generally refers to the part that is responsible for rendering the user interface, and backend refers to the part that is responsible for the business logic, database interactions, user authentication, server configuration, and so on. A full-stack Java web application developer is expected to work on both frontend and backend technologies, ranging from writing HTML/JavaScript for the user interface to writing Java class files for business logic and SQL queries for database operations as required.

With an ever-evolving software architecture landscape, the scope of technologies that a full-stack web developer is expected to work has increased tremendously. It is no longer enough that we can write HTML and JavaScript to build a user interface, we are expected to know client-side frameworks such as Angular, React, VueJS, and so on. It is also not enough that we are proficient in enterprise Java and SQL, we are expected to know server-side frameworks such as Spring, Hibernate, Play, and so on.

In this chapter, we will introduce the following topics:

  • Modern full-stack web development
  • Web architecture patterns
  • Choosing the right pattern

Modern full-stack web development

If we were to even begin discussing the life of a full-stack developer, it would be worthy of a whole book by itself – so let's leave that for another day.

Let's look at a user story about a full-stack Java web application and see what is involved.

Let's use an example of developing a user management module for a typical Java web application. Let's assume that you would be writing unit test cases for the all the code hence we won't detail them out here:

  • You would start by designing the architecture for the feature. You would decide on the plugins and frameworks to use, patterns to follow, and so on.
  • You will be modeling the domain model for the feature depending on the database technology used.
  • Then, you would create server-side code and database queries to persist and fetch data from the database.
  • Once the data is ready you would implement server-side code for any business logic.
  • Then, you would implement an API that can be used to provide data for the presentation over an HTTP connection.
  • You would write integration tests for the API.
  • Now, since the backend is ready, you would start writing frontend code in JavaScript or a similar technology.
  • You would write client-side services to fetch data from the backend API.
  • You would write client-side components to display the data on a web page.
  • You would build the page and style it as per the design provided.
  • You would write automated end to end tests for the web page.
  • It is not done yet. Once you have tested everything works locally you would create pull requests or check-in the code to the version control system used.
  • You would wait for the continuous integration process to verify everything, and fix anything that is broken.
  • Once everything is green and the code is accepted, typically you would start the deployment of this feature to a staging or acceptance environment, either on-premises or to a cloud provider. If it is the latter you would be expected to be familiar with the cloud technologies used as well. You would also be upgrading the database schema as necessary and writing migration scripts when required.
  • Once the feature is accepted you might be responsible for deploying it into the production environment in a similar way, and troubleshoot issues where necessary. In some teams, you might swap the steps with other team members so that you would be deploying a feature developed by your co-worker while s/he deploys yours.
  • You might also be responsible, along with your co-workers, to make sure the production environment is up and running including the database, virtual machines, and so on.

As you can see it is no easy task. The range of responsibilities spawns across making stylesheet updates on the client side to running database migration scripts on a virtual machine in the production cloud service. If you are not familiar enough, this would be a herculean task and you would soon be lost in the vast ocean of frameworks, technologies, and design patterns out there.

Full stack development is not for the faint-hearted. It takes a lot of time and effort in keeping yourself up to date with various technologies and patterns in multiple disciplines of software development. Following are some of the common problems you might face as a full-stack Java developer:

  • Client-side development is not just about writing plain HTML and JavaScript anymore. It is becoming as complex as server-side development with build tools, transpilers, frameworks, and patterns.
  • There is a new framework almost every week in the JavaScript world and if you are coming from a Java background it could be very overwhelming for you.
  • Container technologies such as Docker revolutionalized the software industry but they also introduced a lot of new stuff to learn and keep track of, such as orchestration tools, container management tools, and so on.
  • Cloud services are growing day by day. To stay on track you would have to familiarize yourself with their API and related orchestration tools.
  • Java server-side technologies have also undergone a major shift in recent times with the introduction of JVM languages such as Scala, Groovy, Kotlin, and so on, forcing you to keep yourself up to date with them. On the other side, server-side frameworks are becoming more feature rich and hence more complex.

The most important thing of all is the pain of making sure all of these work together well when required. It will need a lot of configuration, some glue code, and endless cups of coffee.

Transpilers are source-to-source compilers. Whereas a traditional compiler compiles from source to binary, a transpiler compiles from one type of source code to another type of source code. TypeScript and CoffeeScript are excellent examples of this, both compile down to JavaScript.

It's very easy to get lost here and this is where technologies such as JHipster and Spring Boot step in to help. We will see the details in later chapters but in short, they help by providing the wiring between moving parts so that you only need to concentrate on writing business code. JHipster also helps by providing the abstractions to deploy and manage the application to various cloud providers.

Web architecture patterns

The full-stack landscape is further complicated by the different web architecture patterns commonly used these days. The widely used web application architecture patterns today can be broadly classified into two—monolithic architecture and microservice architecture, the latter being the new kid on the block.

Let's take a look at the following in detail:

  • Monolithic architecture
  • Microservice architecture

Monolithic web architecture

A monolithic architecture is the most used pattern for web applications due to its simplicity in development and deployment. Though the actual moving parts will differ from application to application, the general pattern remains the same. In general, a monolithic web application may do the following:

  • It can support different clients such as desktop/mobile browsers and native desktop/mobile applications
  • It can expose APIs for third-party consumption
  • It can integrate with other applications over REST/SOAP web services or message queues
  • It can handle HTTP requests, execute business logic, access a database, and can exchange data with other systems
  • It can run on web application containers such as Tomcat, JBoss, and so on
  • It can be scaled vertically by increasing the power of the machines it runs on or scaled horizontally by adding additional instances behind load balancers
REST (Representational State Transfer) relies on a stateless, client-server, cacheable communications protocol. HTTP is the most commonly used protocol for REST. It is a lightweight architectural style in which RESTful HTTP communication is used to transfer data between a client and server or between two systems. 

SOAP (Simple Object Access Protocol) is a messaging protocol using HTTP and XML. It is widely used in SOAP web services to transfer data between two different systems.

An example of a typical monolithic web application architecture would be as follows:

Let's imagine an online hotel reservation system that takes reservation orders online from customers, verifies the room availability, verifies the payment option, makes the reservation, and notifies the hotel. The application consists of several layers and components including a client-side app, which builds a nice rich user interface, and several other backend components responsible for managing the reservations, verifying payment, notifying customers/hotels, and so on. 

The application will be deployed as a single monolithic Web Application Archive (WAR) file that runs on a web application container such as Tomcat and will be scaled horizontally by adding multiple instances behind an Apache web server acting as a load balancer. Take a look at the following diagram:

The advantages of a monolithic web application architecture are as detailed here:

  • Simpler to develop as the technology stack is uniform throughout all layers.
  • Simpler to test as the entire application is bundled in a single package making it easier to run integration and end-to-end tests.
  • Simpler and faster to deploy, as you only have one package to worry about.
  • Simpler to scale as you can multiply the number of instances behind a load balancer to scale out.
  • Requires a smaller team to maintain the application.
  • Team members share more or less the same skill set. 
  • The technical stack is simpler and most of the times easier to learn. 
  • Initial development is faster hence making time to market faster.
  • Requires simpler infrastructure. Even a simple application container or JVM will be sufficient to run the application.

The disadvantages of a monolithic web application architecture are as detailed here:

  • Components are tightly coupled together resulting in unwanted side effects such as changes to one component causing a regression in another and so on.
  • Becomes complex and huge over time resulting in slow development turnaround. New features will take more time to develop and refactoring of existing features will be more difficult due to tight coupling.
  • The entire application needs to be redeployed for any changes.
  • Is less reliable due to tightly coupled modules. A small issue in a service might break the entire application.
  • Newer technology adoption is difficult as entire application needs to be migrated. Incremental migration is not possible most of the time. Hence many monolithic applications end up having an outdated technology stack.
  • Critical services cannot be scaled individually resulting in increased resource usage as the entire application will need to be scaled.
  • Huge monolith applications will have a higher start-up time and high resource usage in terms of CPU and memory.
  • Teams will be more interdependent and it will be challenging to scale the teams.

Microservice architecture

The microservice architecture has gained momentum in recent years, and is gaining popularity in web application development due to its modularity and scalability. Microservice architecture can offer almost all the features of a monolith that we saw in the earlier section. Additionally, it offers many more features and flexibility, and hence is often considered a superior choice for complex applications. Unlike the monolithic architecture, it's quite difficult to generalize the microservice architecture as it could vary heavily depending on the use case and implementation. But they do share some common traits and they are, in general, the following:

  • Microservice components are loosely coupled. Components can be developed, tested, deployed, and scaled independently without disrupting other components.
  • Components need not be developed using the same technology stack. This means a single component can choose its own technology stack and programming language.
  • They often utilize advanced features such as service discovery, circuit breaking, load balancing, and so on.
  • Microservice components are mostly lightweight and they do a specific functionality. For example, an authentication service will only care about authenticating a user into the system.
  • Often has an extensive monitoring and troubleshooting setup.

An example of a microservice web application architecture would be as follows:

Let's imagine a huge online e-commerce system where customers can go through categories of merchandise, maintain favorites, add items to a shopping cart, make and track orders, and so on. The system has inventory management, customer management, multiple payment modes, order management, and so on. The application consists of several modules and components including a UI gateway application, which builds a nice rich user interface and also handles user authentication and load balancing, and several other backend applications responsible for managing the inventory, verifying payment, and managing orders. It also has performance monitoring and automatic failover for services. 

The application will be deployed as multiple executable WAR files in Docker containers hosted by a cloud provider. Take a look at the following diagram:

The advantages of a microservice web application architecture are as detailed here:

  • Loosely coupled components resulting in better isolation, easier to test and faster to startup.
  • Faster development turnaround and better time to market. New features can be built faster and existing features can be easily refactored.
  • Services can be deployed independently making the application more reliable and make patching easier.
  • Issues, such as a memory leak in one of the services, are isolated and hence will not bring down the entire application.
  • Technology adoption is easier, components can be independently upgraded in incremental migration making it possible to have a different stack for each component.
  • More complex and efficient scaling models can be established. Critical services can be scaled more effectively. Infrastructure is used more efficiently.
  • Individual components will start up faster making it possible to parallelize and improve overall start-up.
  • Teams will be less dependent on each other. Best suited for agile teams.

The disadvantages of a microservice web application architecture are as detailed here:

  • More complex in terms of the overall stack as different components might have different technology stacks forcing the team to invest more time in keeping up with them.
  • Difficult to perform end-to-end tests and integration tests as there are more moving parts in the stack.
  • The entire application is more complex to deploy as there are complexities with containers and virtualization involved.
  • Scaling is more efficient but setting upscaling is more complex as it would require advanced features such as service discovery, DNS routing, and so on.
  • Requires a larger team to maintain the application as there are more components and more technologies involved.
  • Team members share varying skill sets based on the component they work on, making replacements and knowledge sharing harder.
  • The technical stack is complex and most of the times harder to learn. 
  • Initial development time will be higher making time to market slower.
  • Requires a complex infrastructure. Most often will require containers (Docker) and multiple JVM or app containers to run on.

Choosing the right pattern

When starting a new project, it is always difficult to choose an architecture pattern these days. There are so many factors to take into account and it is easy to get confused with all the hype around different patterns and technologies (see Hype Driven Development (https://blog.daftcode.pl/hype-driven-development-3469fc2e9b22)). Following are some general guidelines on when to choose a monolithic web application architecture over a microservice architecture and vice versa.

When to choose a monolithic architecture

The following list can be used as a general guide when choosing a monolithic architecture. This is not a definitive list but gives an idea of when to go with a monolithic architecture over microservices:

  • When the application scope is small and well defined, and you are sure that the application will not grow tremendously in terms of features. For example, a blog, a simple online shopping website, a simple CRUD application, and so on.
  • When the team size is small, say less than eight people (it's not a hard limit but rather practical).
  • When the average skill set of the team is either novice or intermediate.
  • When time to market is critical.
  • When you do not want to spend too much on infrastructure, monitoring, and so on.
  • When your user base is rather small and you do not expect them to grow. For example, an enterprise app targeting a specific set of users.

In most practical use cases, a monolithic architecture would suffice. Read on to the next section to see when you should consider a microservice architecture over monolithic.

When to choose a microservice architecture

The following list can be used as a general guide when choosing a microservice architecture. This is not a definitive list but gives an idea of when to go with microservices architecture over a monolith. Please note that unlike choosing a monolithic architecture, the decision here is more complex and may involve cross consideration among many of the following points:

  • When the application scope is large and well defined and you are sure that the application will grow tremendously in terms of features. For example, an online e-commerce store, a social media service, a video streaming service with a large user base, an API provider, and so on.
  • When the team size is large, there must be enough members to effectively develop individual components independently.
  • When the average skill set of the team is good and team members are confident about advanced microservice patterns.
  • When time to market is not critical. The microservice architecture will take more time to get right up front.
  • When you are ready to spend more on infrastructure, monitoring, and so on, in order to improve the product quality.
  • When your user base is huge and you expect them to grow. For example, a social media application targeting users all over the world.

Though a monolithic architecture would suffice in most cases, investing up front in a microservice architecture will reap long-term benefits when the application grows huge.

For more on these architecture patterns, you can refer to https://articles.microservices.com/monolithic-vs-microservices-architecture-5c4848858f59.

Summary

So far, we've seen what full stack development is and compared two of the most prominent architecture patterns. We also learned advantages and disadvantages of monolithic and microservice architecture, which helps us to choose the right pattern for our use cases at hand.

In the next chapter, we will take a deep dive into the JHipster platform and look at all the options it provides. We will also learn how to install JHipster and set up our tools and development environment.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • • 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 Docker and on various cloud platforms.

Description

JHipster is a development platform to generate, develop, and deploy Spring Boot and Angular/React applications and Spring microservices. It provides you with a variety of tools that will help you quickly build modern web applications. This book will be your guide to building full stack applications with Spring and Angular using the JHipster tool set. You will begin by understanding what JHipster is and the various tools and technologies associated with it. You will learn the essentials of a full stack developer before getting hands-on and building a monolithic web application with JHipster. From here you will learn the JHipster Domain Language with entity modeling and entity creation using JDL and JDL studio. Moving on, you will be introduced to client side technologies such as Angular and Bootstrap and will delve into technologies such as Spring Security, Spring MVC, and Spring Data. You will learn to build and package apps for production with various deployment options such as Heroku and more. During the course of the book, you will be introduced to microservice server-side technologies and how to break your monolithic application with a database of your choice. Next, the book takes you through cloud deployment with microservices on Docker and Kubernetes. Going forward, you will learn to build your client side with React and master JHipster best practices. By the end of the book, you will be able to leverage the power of the best tools available to build modern web applications.

Who is this book for?

This book will appeal to developers who would like to build modern web applications quickly. A basic knowledge of the Spring ecosystem would be an added advantage.

What you will learn

  • • Build business logic by creating and developing entity models us the JHipster Domain Language
  • • Customize web applications with Angular, Bootstrap and Spring
  • • Tests and Continuous Integration with Jenkins
  • • Utilize the JHipster microservice stack, which includes Netflix Eureka, Spring Cloud config, HashiCorp Consul, and so on.
  • • Understand advanced microservice concepts such as API rout, load balancing, rate limit, circuit break, centralized configuration server, JWT authentication, and more
  • • Run microservices locally using Docker and Kubernetes (in production)

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Mar 23, 2018
Length: 380 pages
Edition : 1st
Language : English
ISBN-13 : 9781788476317
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. £16.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Mar 23, 2018
Length: 380 pages
Edition : 1st
Language : English
ISBN-13 : 9781788476317
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
£16.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
£169.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just £5 each
Feature tick icon Exclusive print discounts
£234.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just £5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total £ 110.97
Full Stack Development with JHipster
£36.99
Full-Stack Web Development with Vue.js and Node
£36.99
Java EE 8 and Angular
£36.99
Total £ 110.97 Stars icon

Table of Contents

15 Chapters
Introduction to Modern Web Application Development Chevron down icon Chevron up icon
Getting Started with JHipster Chevron down icon Chevron up icon
Building Monolithic Web Applications with JHipster Chevron down icon Chevron up icon
Entity Modeling with JHipster Domain Language Chevron down icon Chevron up icon
Customization and Further Development Chevron down icon Chevron up icon
Testing and Continuous Integration Chevron down icon Chevron up icon
Going into Production Chevron down icon Chevron up icon
Introduction to Microservice Server-Side Technologies Chevron down icon Chevron up icon
Building Microservices with JHipster Chevron down icon Chevron up icon
Working with Microservices Chevron down icon Chevron up icon
Deploying with Docker Compose Chevron down icon Chevron up icon
Deploying to the Cloud with Kubernetes Chevron down icon Chevron up icon
Using React for the Client-Side Chevron down icon Chevron up icon
Best Practices with JHipster Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.5
(6 Ratings)
5 star 83.3%
4 star 0%
3 star 0%
2 star 16.7%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Jorge Agustin Castillo Ohrstrom Jun 16, 2019
Full star icon Full star icon Full star icon Full star icon Full star icon 5
El libro llego en excelentes condiciones, en un tiempo genial, antes de lo indicado.
Amazon Verified review Amazon
Karl Rendon Aug 10, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
IntroductionThe world has had microservices madness for quite a while now. If you were put into a time capsule in 2010, at the height of Java EE, and suddenly woke up in 2018, you would probably feel overwhelmed by how the software architecture landscape has changed.Everything nowadays is about microservice-style development and operations (DevOps — fun fact, the word was coined one year before you were placed in your capsule). Many mission-critical applications run "in the cloud" and bear no resemblance to the good old days of the monoliths and huge monsters you used to build. Now there are terms like containers, orchestration, and "Eventual Consistency." The world is a very different place indeed.Enter JHipster. It is a development platform. It is many things, among them a Yeoman Code Generator. It is a "way of thinking" that takes Spring Boot's motto of "convention over configuration." It is a wizard-style console set of tools that, once you provide answers to some basic questions, proceeds to generate the scaffolding of your application, ready for you to focus on what matters most: your secret sauce, your business logic, your data model.Even though JHipster is going to generate code for you, it doesn't force you into the world of microservices; you can start with a monolithic approach and then start slicing and dicing into a microservice if you so choose.If the last two paragraphs did not fully paint the picture as to what JHipster is or what it can do for you, that's why this book is needed. JHipster comes with the potential of saving you a lot of time; but like every fancy tool, it requires an understanding of what the tool is capable as well as having some basic concepts.Book ReviewThe two authors are leaders in the JHipster community. Deepu Sasidharan is a co-lead of JHipster, he was part of the initial team. Sendil Kumar is a core contributor and an open source enthusiast.The authors begin with an introduction to modern web application development, with a quick refresher of terms, such as frontend and backend then promptly moving to architectural patterns and empowering you to choose which pattern is best for your app. Believe it or not, the authors don't have an agenda. They are not monolith haters. As a matter of fact, the first part of the book is them explaining how JHipster can help you (expedite) your journey toward that pattern in your app.Right after, you're moved into a crash course of the different technologies available for you to choose to use on your web app; some names include Bootstrap, Angular, React, testing tools such as Karma. Then you move to the backend with Spring, Hibernate, etc. The idea here is mainly for you to have a very basic idea of what each technology (framework) means and is capable of doing.Then you move to the different database options, divided into SQL based and non-SQL. This is particularly useful for you if you have been confined to SQL only.After this, you're ready to get your hands dirty and start wielding the power of JHipster. Your first assignment is to create a monolithic application. You're guided through the wizard-style navigation of the JHipster console.JHipster Domain LanguageNow you're ready to start using some of the more powerful aspects of JHipster. Specifically, the JHipster Domain Language (JDL) is a powerful tool for generating and maintaining the code that represents your data model and the relationship between entities. The generator takes care of DTOs on the back and frontend. Then you step it up a notch with JDL studio, an online IDE that makes the process even easier.Testing, Continuous IntegrationNow is time to plug in your application into the world of Continuous Integration. You'll explore JHipster's ability to feed onto Jenkins and other tools alike.To the Cloud and BeyondNow it's time to start thinking on slicing that monolith of yours and transition onto a more distributed approach based on microservices. You start with Docker, the Docker hub. Then you learn that JHipster can also help you with the final stage of your cycle: deployment. It can help you deploy to AWS, Cloud Foundry, Heroku, etc.Lastly, you will get more into the weeds of running a microservice environment, you'll learn about how JHipster can help with orchestration, service discovery, health tracking. This part gets very detailed, which is good because the microservice landscape is wide. This is another tour de force in terms of the number of new technologies to which you'll be exposed. Don't worry you don't linger too long at each; the idea is just to have a broad picture of how the landscape looks. Then you can hone down particular spots of the landscape you want to explore.ConclusionThe tour ends with a section on best practices as well as next steps. Throughout your journey, the book remains relevant and its cadence is enjoyable. At the end you'll feel like you are caught up, at least to get started after your time capsule journey; all those years from 2010 to 2018. You're up to date, or at least have a very good pulse of how things changed.
Amazon Verified review Amazon
Scott Andrew Savage Aug 10, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
JHipster is a great set of tools to facilitate and speed up application development when working with Spring Boot, Angular, and various other technologies. It is supported by an active open-source community and has extensive and detailed documentation. While the documentation is a good place to start, this book takes it to the next level by presenting real-world issues, providing practical advice on development standards, and diving farther into every aspect of JHipster. It is also extremely easy to read and follow along. I often recommend it to various clients we work with as it helps new developers understand the concepts and be productive as soon as possible.
Amazon Verified review Amazon
Manoj Ramesh Joshi Oct 17, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Great product...
Amazon Verified review Amazon
Sergio May 03, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Many technologies, well put together, I enjoyed it from start to end. Very useful, now it's time to apply and keep learning.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.