SlideShare a Scribd company logo
1 of 40
1
Lightning fast Zero to Production
with Spring, Neo4j and jHipster
Giuseppe Villani
Davide Fantuzzi
#NODES2020
20th October, 2020
Who we are - LARUS Business Automation
● Founded in 2004 (Venice)
● Specialized in the design and implementation of large-
scale business solutions
● Neo4j Partner and Training Center
Agenda
● Why
● Installation
● Entity creation
● Extending JHipster
● Deployment
● Neo4j integration
● LIVE CODING...
JHipster is a development platform to generate, develop
and deploy Spring Boot applications and microservices in
few steps.
Recently has added Neo4j to supported db.
5
Why use Jhipster?
● Easy to install and create entity
● A stable back-end and front-end architecture
● Support for deployment
● Multiple choice of testing frameworks and technologies
● Extendable
Main client-side technologies (excluding plugins)
● Npm or Yarn
● Webpack
● Browsersync
● Jest
● And more...
Main server-side technologies (excluding plugins)
● Spring Boot with Spring MVC + Jackson
● Spring Data JPA
● Spring Security
● Netflix Oss (for microservices)
● JUnit
● And more...
User management
Admin tools
Configuration dashboard
Health Checks
Admin tools
Metrics
12
Installation
Technically JHipster is not a framework, but a Yeoman
application generator
3 ways to install
● Npm/Yarn package
● Docker image
● JHipster Online
● Install JHipster npm install -g generator-jhipster
● Go to the installation directory
● Run jhipster and follow the instructions on the screen
Multiple choice
Multiple choice
Multiple choice
Multiple choice
Multiple choice
And it’s done. Jhipster is installed!
22
Entity
Entity creation
jhipster entity [entityName]
When the entity is created, JHipster generates:
● A Spring MVC Rest Controller with the basic CRUD
operation
● The related Spring Service (if needed)
● A JPA Entity and Spring Data Repository
● The front-end modules:
○ Routes, components and service / reducer
● Integration and performance tests
You can just create a Controller or Service
● jhipster spring-controller[controllerName]
● jhipster spring-service[serviceName]
Example page
27
Extending JHipster
Blueprint
A JHipster’s feature to override specific functionalities
● kotlin
● nodejs
● vuejs
● ...
Modules
To extends common functionalities from JHipster
● Ionic
● Angular Material
● Kutilang
● Ignite-jhipster
● Primeng
Visit the Marketplace for a complete list ;)
30
Deployment
JHipster supports different types of deploy
For example: jhipster heroku
● Package the application in production mode
● Create an Heroku application with the db
● Upload the code
● Start the application
Many deployment platforms
Setup CI / CD
jhipster ci-cd
Many CI system supported
35
Neo4j Support
● Since JHipster 6.8.0
● Still in Beta :(
● Spring Data Neo4j/RX
● Neo4j TestContainer
● Neo4j Migrations
Spring Data Neo4j/RX
Neo4j TestContainer
Neo4j Migrations
40
Live Coding Time!

More Related Content

More from Neo4j

BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosNeo4j
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Neo4j
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Neo4j
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeNeo4j
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsNeo4j
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j
 
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...Neo4j
 
Deloitte & Red Cross: Talk to your data with Knowledge-enriched Generative AI
Deloitte & Red Cross: Talk to your data with Knowledge-enriched Generative AIDeloitte & Red Cross: Talk to your data with Knowledge-enriched Generative AI
Deloitte & Red Cross: Talk to your data with Knowledge-enriched Generative AINeo4j
 
Ingka Digital: Linked Metadata by Design
Ingka Digital: Linked Metadata by DesignIngka Digital: Linked Metadata by Design
Ingka Digital: Linked Metadata by DesignNeo4j
 
Discover Neo4j Aura_ The Future of Graph Database-as-a-Service Workshop_3.13.24
Discover Neo4j Aura_ The Future of Graph Database-as-a-Service Workshop_3.13.24Discover Neo4j Aura_ The Future of Graph Database-as-a-Service Workshop_3.13.24
Discover Neo4j Aura_ The Future of Graph Database-as-a-Service Workshop_3.13.24Neo4j
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxNeo4j
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
Identification of insulin-resistance genes with Knowledge Graphs topology and...
Identification of insulin-resistance genes with Knowledge Graphs topology and...Identification of insulin-resistance genes with Knowledge Graphs topology and...
Identification of insulin-resistance genes with Knowledge Graphs topology and...Neo4j
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 

More from Neo4j (20)

BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge Graphs
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with Graph
 
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
SWIFT: Maintaining Critical Standards in the Financial Services Industry with...
 
Deloitte & Red Cross: Talk to your data with Knowledge-enriched Generative AI
Deloitte & Red Cross: Talk to your data with Knowledge-enriched Generative AIDeloitte & Red Cross: Talk to your data with Knowledge-enriched Generative AI
Deloitte & Red Cross: Talk to your data with Knowledge-enriched Generative AI
 
Ingka Digital: Linked Metadata by Design
Ingka Digital: Linked Metadata by DesignIngka Digital: Linked Metadata by Design
Ingka Digital: Linked Metadata by Design
 
Discover Neo4j Aura_ The Future of Graph Database-as-a-Service Workshop_3.13.24
Discover Neo4j Aura_ The Future of Graph Database-as-a-Service Workshop_3.13.24Discover Neo4j Aura_ The Future of Graph Database-as-a-Service Workshop_3.13.24
Discover Neo4j Aura_ The Future of Graph Database-as-a-Service Workshop_3.13.24
 
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptxGraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
GraphSummit Copenhagen 2024 - Neo4j Vision and Roadmap.pptx
 
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
Identification of insulin-resistance genes with Knowledge Graphs topology and...
Identification of insulin-resistance genes with Knowledge Graphs topology and...Identification of insulin-resistance genes with Knowledge Graphs topology and...
Identification of insulin-resistance genes with Knowledge Graphs topology and...
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 

Recently uploaded

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 

Recently uploaded (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 

Lightning Fast Zero to Production with Spring, Neo4j and jHipster

Editor's Notes

  1. Hi everyone, I am giuseppe villani. Software developer at larus. in this talk I will speak about how to create a full stack application with Neo4j and Jhipster
  2. First of all, let me introduce my company. Larus business automations is a software house founded in 2004(tuenti o four) and based in Venice It is specialized in the design and implementation of large-scale and customized business solutions. One of the strong points of Larus is to be the number one solution partner of Neo4j in italy and the Italian Neo4j Authorized Training Center.
  3. Now here’s what we will see in this talk. First, why choose JHipster. Then how to install it. How to create entities within our project. How to extend the functionality of jhipster. The deployment process. And of course how it has been integrated with neo4j. Finally a live coding session with my colleague davide.
  4. in a nutshell JHipster is a development platform to generate, develop and distribute Spring Boot applications and microservices in a few steps. JHipster added neo4j to supported databases only in newer versions.
  5. So, why install it?
  6. Surely because it facilitates the developer's work in the initial installation of the application that you want to create, as well as the creation of the single entities that populate it. Offers a stable and robust full-stack environment. It allows you to create a stable application without knowing in depth all the best practices behind it, because it's Jhipster who applies them in our place. Moreover, simplifies the application deployment process by supporting many platforms. It also offers a wide range of testing frameworks. By default it supports Junit for backend and Jest for frontend testing, but you can optionally choose others besides these two. And, regarding the frontend, you can choose between Angular and React Is't already configured, optionally, for translations. Moreover it's integrated Sonar for code quality. besides, There are a lot of useful tools and additional components.
  7. So, let’s see the front-end technology base stack. JHipster uses webpack to compiles, minifies code Browsersync to Automatically refresh the browser when code is modified Jest as testing framework Other optional technologies available during installation.
  8. 1 min - Netflix open source software to create microservices And also in this case Other optional technologies available during installation process or by plugins
  9. After the installation process, many tools and components are also added. First of all JHipster comes with 4 different users (that is admin, user, system and anonymous) with different roles configured That is a complete user management system automatically generated when I install Jhipster.
  10. Lista dei tool: In addition, several administration dashboards are added. We can found Health Checks to check the status of db, to verify that the app is running correctly and that there aren't memory problems. Moreover, we can find a dashboard with all docker configurations and environment variables used.
  11. Lista dei tool: And also we have a metric dashboard which allows you to have a detailed view of the application performance on the JVM, HTTP request and cache usage. As well as a list of the APIs used
  12. So let's see how to install it.
  13. First of all, is to be specified that JHipster is not a framework per se. Instead is a Yoman application generator. Yomen an open source scaffolding tool for web applications that runs as a command-line interface written for Node.js
  14. There is 3 ways to install JHipster. The most classic and used is through installation with package npm. Alternatively it can be installed with Yarn. otherwise you can decide to install one of the several docker images that JHipster provides in Docker HUB. And finally, you can choose to try JHipster directly online. This is useful if you want to try its potential without having to download it
  15. So, to install JHipster with most common way, just download the npm package, go to the installation folder and start jhipster. So, just answer the various questions it asks. In general, to create a fully functional application, you can just choose the application name and Neo4j as db, and mark all other questions with default answer.
  16. But let's see in depth the possible choices of the application. First of all, we can choose if our application will be monolithic, with all the backend and frontend functionalities together. Or a microservice application, or again a microservice gateway. or we can choose a JHipster JHipster User Account and Authentication server that is a service for securing JHipster microservices using the OAuth2 authorization protocol. This is similar to Cloudfoundry UAA We can add optionally JHipster registry to your application, this is a registy service based on Spring Cloud Netflix, Eureka and Spring Cloud Config. It mostly provides the same admin dashboards seen in the previous section, but it works on a separate server
  17. Moreover we can choose which type of Authentication to use. Then we can choose whether to integrate the Spring Webflux web framework If implements or not Spring cache abstraction that allows consistent use of various caching methods, with different choices
  18. And we have the possibility to use Maven or Gradle to build the backend And we can shoose other useful technologies already configured: That is WebSocket. ?? Apache Kafka. ?? OpenAPI generator ??
  19. We can choose the default language and others languages to set up the application translation ready. And We can also decide to create an application with only the backend.
  20. So, it's possible to add other testing frameworks, like Protractor as a frontend framework, or Gatling for performance tests. A cucumber for test based on Behavior Driven Development methodology Also, we can choose from numerous default themes for our frontend.
  21. And it's done. Now we can start the application and we will get this initial screen. So as we can see, we have a multitude of options to choose from. With the installation of JHipster, we already have two Spring Profiles. dev for development focuses on ease of development and productivity and prod for production focuses on performance and scalability
  22. Now let's see the creation of the individual entities.
  23. To create an entity, just type jhipster entity followed by the entity name. At this point, similarly for the installation process, a serie of questions will follow to explain to JHipster how to install the entity. But, If you need to create more entities in one shot, JHipster has 2 useful tool, Jhipster UML and JDL studio, We will see it later, during the live coding session.
  24. When I create an entity jhipster automatically creates for us, the Spring controller with the basic crud operation. The related Spring Service, if needed by entity, and the associated Repository. Moreover, JHipster creates the set of modules needed for the frontend, and the html views with the routes and the calls to the api And also, all the associated tests to frontend and backend.
  25. However it is also possible to just create a service through the command jhipster spring-service followed by the name of entity or a single controller with command jhipster spring-controller followed by the name.
  26. Here we find an example page generated when I create an entity. As we can see that the list view is already set up with pagination and sorting. However, both pagination and sorting are optional during entity creation.
  27. now let's see how it is possible to extend the application created with other features First of all, JHipster extensions are divided into 2 categories, blueprint that are a jhipster feature to overwrite specific frontend or backend features and deeply changing the initial code. And the modules that are add-ons strictly speaking. Principally the modules concern the front-end part. Both blueprints and modules are, as for JHipster, IOMEN generators.
  28. One of the most important blueprints is Kotlin which changes the code from Java, same thing if you want to use nodeJs as a backend language. While for the frontend we find Vuejs, in case you want to replace the present Angular or React And still others.
  29. Among the most relevant modules, at least personally, there are Ionic Framework for creating cross-platform applications Angular material to easily replace the view from the default bootstrap. Flutter to create, like Ionic, a cross platform application by changing the frontend language with Dart. Kutilang to use Flutter as backend language and create mobile apps for ios and android Ignite-jhipster instead, also useful in this case for cross platform applications, creates an application based on React-Native. PrimeNg instead integrates the Angular UI Component Library with an angular application. There are many others that can be visited on the Jhipster Marketplace. So, as we have seen, the possible choices of applications are really many.
  30. Now let's see how JHipster facilitates the deployment process.
  31. One of the supported platforms is heroku. For example, by simply typing jhipster heroku, jhipster automatically creates a package optimized for production mode. Create a Heroku application with the database. Upload the code to the platform. And start the application.
  32. There are several types of platforms supported with a similar command to facilitate deployment. These include Docker Hub, Google Cloud Platform, Amazon Web Services and Microsoft Azure.
  33. In addition, Jhipster facilitates the configuration of CI CD system. To setup your config file for ci/cd just type ... and, as for installation and for entities, you have to answer some questions in the terminal end in a few steps we have the ci configured
  34. JHipster support the most important CI systems, that is ..
  35. Now let's see how JHipster has been integrated with neo4j.
  36. This implementation was made recenlty, in version 6.8.0 released this March. JHipster is currently at version 6.10.3 Precisely for this reason, the integration is still in beta, so some modules and blueprints are missing, such as Database Backup to make a periodic backup. Neo4j comes with Spring data ... Ne
  37. So, with the installation of Jhipster, Spring Data Neo4j / RX is installed, the successor to Spring Data Neo4j + Neo4j-Object Graph Mapper with full reactive programming support However, it should be noted that the repository of SDN/RX was set to read-only mode in favour of Spring Data Neo4j 6.0. So it is very PLAUSIBOL that this change will also take place in the jhipster in the future
  38. Also a Neo4j TestContainer based on the official Docker image provided by Neo4j, Inc. is installed for unit testing with Junit
  39. And Finally, Neo4j Migration, tool for defining Java based migrations, to provide a Version control for your database, like flyway db or Liquibase.
  40. And that's all for my part .. Now I give the floor to Davide for live coding session. Thank you.