SlideShare a Scribd company logo
When JHipster meets Microsoft
Speakers
Anthony VIARD
Practice Manager
at Ippon Technologies
JHipster Core Team member
@avdev4j
Pascal GRIMAUD
Practice Technical Leader
at Ippon Technologies
JHipster co-Lead
@pascalgrimaud
What is JHipster ?
● JHipster is an application generator
● Help you to generate your application
● State of art applications
○ Backend Spring Boot
○ Angular / React / Vue.js frontend
○ Preconfigured tools like Maven or Gradle
○ Cloud and Production ready
● 100% Open Source
● Free and public
What is JHipster?
● Angular / React / Vuejs
● HTML5 Boilerplate
● Twitter Bootstrap
● Responsive Web Design
● Websockets
● Spring Boot
● Spring Security
● JPA, MongoDB, Cassandra,
Couchbase
● Elasticsearch
● Ehcache, HazelCast, caffeine,
redis
● Metrics
● Maven, Gradle
● Webpack, BrowserSync
● JUnit, Gatling, Jest,
Protractor
● Docker, Cloud Foundry,
Heroku, AWS,
Kubernetes, OpenShift
Front-end Back-end Tools
Technical stack
...but also blueprints
Used to customise generators by redefine all or a part of JHipster
- For advanced needed, JHipster could generate a fully microservices
architecture based on the Netflix stack
- API gateway(s), service registry and discovery, security, monitoring…
Are ready in few minutes
- With the same experience than a monolith!
Microservices Architecture
Why using JHipster?
Gains on each project steps
- Design: reduce starting time by 6 weeks
- Build: the generated code is a solid base
for developing high quality applications
on long term
- Run: ready to prod
JHipster, obviously a strong
community
A world community...
The core team
Some statistics
● 33 core team members
● More than 530 contributors, including companies likes Google, Red Hat and
Salesforce
● 15,000 stars recently reached on GitHub
● 112k installations per month
● Dozens of conferences in the world, many books published
… And very active
More than 40 talks across the
world in 2019.
France USA Spain Lithuania UK
Ireland Serbia Italia
Luxembourg Morocco
Germany Portugal India
● Our Open Collective campaign is a huge
success
○ Our budget is nearly $45,000/year
○ There are still sponsoring slots
available if you want 😁
● Current bug bounty system works very well
○ Clearly helps the project go forward
○ Motivates people
● We have updated our bug bounties system
this month
○ We now have $100, $200, $300 and
$500 bounties!
Open Collective & Bug bounties!
Join us !
How to contribute ?
D
● Contributions are open for all
● All ideas are welcome
You have to respect our code of conduct
And read our contributor guide
When you are ready, come to see us on GitHub
JHipster Journey
by JHipster practice
By the JHipster practice
The faster way to the community
JHipster
360
JHipster
Thread
JHipster
Events
A full day of
introduction /
formation to JHipster
with a practice
member.
We define, together, your
first subject of
contribution according
to your skills and
wishes.
We help you to
participate and
talk about
JHipster in
meetups and
conferences
Black belt program
A personalized course
with a mentor, levels based on Judo belt colors to be better than
yesterday !
One JHipster day per month !
Start with JHipster !
Free Tutorials : JHipster Guides
● New tutorials
○ Use Google Cloud Shell
○ Free and open source
● Nothing to install
○ Just you, your navigator and a Google
account
○ Perfect for new users
● Test it and contribute :
https://github.com/jhipster/jhipster-guides
JHipster online
start.jhipster.tech
Visual Studio Code with JDL
● JDL for JHipster Domain Language
The JDL is a JHipster-specific domain language where you can describe all your applications, deployments, entities and their
relationships in a single file (or more than one) with a simple and user-friendly syntax.
JD… WHAT
entity Conference {
name String
schedule Instant
}
entity Speaker {
name String
company String
}
relationship OneToMany {
Speaker to Conference
}
application {
config {
baseName sampleMsIgnite
applicationType monolith
}
entities Conference, Speaker
}
JHipster IDE - Visual Studio Code
Syntax coloring
Auto-completion
Error checking
Also available for Eclipse...
Demo time !
Let’s coding our JDL and generate an
application
Continuous Integration
& Continuous Delivery
● Idea / Business needs
● Define the Architecture
● Generate the project with JHipster
● Design your model with JDL
● Developer
○ Frontend part
○ Backend part
● DevOps
○ Continuous Integration (CI)
○ Continuous Deployment (CD)
Lifecycle of a Project
● Cloud service
○ Continuous Integration (CI) and Continuous Deployment (CD)
○ Manage an automated software development lifecycle workflow
○ Build, test and deploy
● Pipelines for Linux, macOS, Windows and Containers
● Pricing
○ Free
○ 20 total concurrent jobs
● Directly integrated to GitHub
GitHub Actions: description
● Quick demo on https://github.com/
● Create a new repository
● Go to Actions
● Create a workflow
GitHub Actions: quick demo
● Support of GitHub Actions
○ since the last version: v6.5.0
● Launch: jhipster ci-cd
○ Jenkins pipeline
○ Azure Pipelines
○ GitLab CI
○ GitHub CI
○ Travis CI
CI / CD Sub-Generator
name: Application CI
on: [push, pull_request]
jobs:
applications:
name: jhipsterSampleApplication test suite
runs-on: ubuntu-latest
timeout-minutes: 40
env:
NODE_VERSION: 12.13.0
SPRING_OUTPUT_ANSI_ENABLED: DETECT
SPRING_JPA_SHOW_SQL: false
JHI_DISABLE_WEBPACK_LOGS: true
NG_CLI_ANALYTICS: false
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: 12.13.0
GitHub Actions with JHipsterExample of generated github-ci.yml
- uses: actions/setup-java@v1
with:
java-version: '11.x'
- name: Stop MySQL server
run: sudo /etc/init.d/mysql stop
- name: Install node.js packages
run: npm install
- name: Run backend test
run: |
chmod +x mvnw
./mvnw -ntp clean verify -P-webpack
- name: Run frontend test
run: npm run test
- name: Package application
run: ./mvnw -ntp package -Pprod -DskipTests
● Generate a github-ci.yml file
● Configure tools
○ Node
○ Java
● Run backend unit tests and integration tests
○ Maven
○ Gradle
● Run frontend tests
○ NPM
○ Yarn
● Package your application
github-ci.yml : description
GitHub Actions : results
The Power of Azure Pipelines
● All Open Source Projects hosted under GitHub
● 83 repositories
● External services:
○ NPM
○ Maven Central
○ Docker Hub
○ SonarCloud
○ Travis CI, Azure Pipelines, GitHub Actions
JHipster organization
● Type: Monolithic, Gateway, Microservices, UAA server, Reactive applications
● Security : JWT, HTTP Session, OAuth2
● Database : MySQL, MariaDB, PostgreSQL, MongoDB, Cassandra, CouchBase
● Back : Maven, Gradle
● Cache: Ehcache, Caffeine, Hazelcast, Infinispan, Memcached, Redis
● Option : Elasticsearch, WebSockets, Kafka, OpenAPI-generator
● Front : Angular, React
● Internationalization (more than 40 languages)
JHipster options
● An environment
● The installation of tools
○ NodeJS, NPM, Yarn, Java, Git
● The jhipster library
● The generator-jhipster
● The generated application
○ Backend tests: unit tests and integration tests
○ Frontend tests
○ Packaging
○ End-to-end tests
What do we need to test ?
● Organization: https://github.com/hipster-labs
● Daily builds project
● Old project:
○ https://github.com/hipster-labs/jhipster-travis-build
○ We were using Travis-CI
● New project:
○ https://github.com/hipster-labs/jhipster-daily-builds
○ Everything were migrated to Azure Pipelines
Specific organization: Hipster-Labs
● Cloud service
○ Continuous Integration (CI) and Continuous Deployment (CD)
○ Build and test your code
○ Deploy to an Artifactory or to the Cloud
● Pipelines for Linux, macOS and Windows
● Pricing
○ Free for Open Source projects
○ 10 free parallel jobs with unlimited minutes per months
● Very well integrated to GitHub, using the Marketplace
● See https://azure.microsoft.com/fr-fr/services/devops/pipelines/
Azure Pipelines
● Angular vs React
● Maven vs Gradle
● SQL vs NoSQL vs No database
● Monolithic vs Gateway/Microservices
● JDL with different cache system
What do we test ?
● List of builds
○ https://dev.azure.com/hipster-labs/jhipster-daily-builds/_build
● Dashboard
○ https://dev.azure.com/hipster-labs/jhipster-daily-builds/_dashboards/dash
board/838f7bd8-7cb5-4bad-a47d-362df39abb27
● Statistics:
○ More than 100 builds per days
● Goal
○ Less compilation failures as possible
○ Best quality
Azure Pipelines: results
● Let’s create an Azure Pipelines for your JHipster project
● Pre-requisites:
○ An Azure DevOps account
○ Create a project
Azure Pipelines: demo
Azure Spring Cloud
● New cloud deployment for JHipster
● Publicly available since the last week
● Fully managed Spring PaaS
● Perfect for Microservices Architecture
○ Managed Service Discovery
○ Managed Config Server
○ Blue / Green deployment
● Just launch: jhipster azure-spring-cloud
Azure Spring Cloud
Thank you.
Enjoy Microsoft Ignite !
@jhipster
@MS_Ignite

More Related Content

What's hot

How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)
Jirayut Nimsaeng
 
Automated Testing Environments With Kubernetes & GitLab
Automated Testing Environments With Kubernetes & GitLabAutomated Testing Environments With Kubernetes & GitLab
Automated Testing Environments With Kubernetes & GitLab
Vladislav Supalov
 
Migrating to Puppet 5
Migrating to Puppet 5Migrating to Puppet 5
Migrating to Puppet 5
Kris Buytaert
 
Help , My Datacenter is on fire
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fire
Kris Buytaert
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
Julien Dubois
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
Kris Buytaert
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
Mykola Marzhan
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019
Kris Buytaert
 
Is there a Future for devops ?
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ?
Kris Buytaert
 
Gradle build automation tool
Gradle   build automation toolGradle   build automation tool
Gradle build automation tool
Ioan Eugen Stan
 
ADDO 2019: Looking back at over 10 years of Devops
ADDO 2019:    Looking back at over 10 years of DevopsADDO 2019:    Looking back at over 10 years of Devops
ADDO 2019: Looking back at over 10 years of Devops
Kris Buytaert
 
Devops is Dead, Long live Devops
Devops is Dead, Long live DevopsDevops is Dead, Long live Devops
Devops is Dead, Long live Devops
Kris Buytaert
 
Building the Web with Gradle
Building the Web with GradleBuilding the Web with Gradle
Building the Web with Gradle
Eric Wendelin
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
Kris Buytaert
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stack
Kris Buytaert
 
How Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js FoundationHow Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js Foundation
Gibson Fahnestock
 
11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack 11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack
Kris Buytaert
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
Kris Buytaert
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
Gibson Fahnestock
 
PowerUp Grails Web Development with OpenShift
PowerUp Grails Web Development with OpenShiftPowerUp Grails Web Development with OpenShift
PowerUp Grails Web Development with OpenShift
GrailsConf
 

What's hot (20)

How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)How to เสร็จเร็ว (Use Agile for your project with team)
How to เสร็จเร็ว (Use Agile for your project with team)
 
Automated Testing Environments With Kubernetes & GitLab
Automated Testing Environments With Kubernetes & GitLabAutomated Testing Environments With Kubernetes & GitLab
Automated Testing Environments With Kubernetes & GitLab
 
Migrating to Puppet 5
Migrating to Puppet 5Migrating to Puppet 5
Migrating to Puppet 5
 
Help , My Datacenter is on fire
Help , My Datacenter is on fireHelp , My Datacenter is on fire
Help , My Datacenter is on fire
 
Devoxx : being productive with JHipster
Devoxx : being productive with JHipsterDevoxx : being productive with JHipster
Devoxx : being productive with JHipster
 
Continuous Infrastructure First
Continuous Infrastructure FirstContinuous Infrastructure First
Continuous Infrastructure First
 
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaertDevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
DevOps Days Kyiv 2019 -- continuous Infrafirstructure First //Kris buytaert
 
Open Source Monitoring in 2019
Open Source Monitoring in 2019 Open Source Monitoring in 2019
Open Source Monitoring in 2019
 
Is there a Future for devops ?
Is there a Future for devops   ? Is there a Future for devops   ?
Is there a Future for devops ?
 
Gradle build automation tool
Gradle   build automation toolGradle   build automation tool
Gradle build automation tool
 
ADDO 2019: Looking back at over 10 years of Devops
ADDO 2019:    Looking back at over 10 years of DevopsADDO 2019:    Looking back at over 10 years of Devops
ADDO 2019: Looking back at over 10 years of Devops
 
Devops is Dead, Long live Devops
Devops is Dead, Long live DevopsDevops is Dead, Long live Devops
Devops is Dead, Long live Devops
 
Building the Web with Gradle
Building the Web with GradleBuilding the Web with Gradle
Building the Web with Gradle
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
7 tools for your devops stack
7 tools for your devops stack7 tools for your devops stack
7 tools for your devops stack
 
How Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js FoundationHow Build Infrastructure Powers the Node.js Foundation
How Build Infrastructure Powers the Node.js Foundation
 
11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack 11 Tools for your Open Source devops stack
11 Tools for your Open Source devops stack
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
 
PowerUp Grails Web Development with OpenShift
PowerUp Grails Web Development with OpenShiftPowerUp Grails Web Development with OpenShift
PowerUp Grails Web Development with OpenShift
 

Similar to When JHipster meets Microsoft-JHipster and Microsoft products

Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
aspyker
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
All Things Open
 
Paris.py
Paris.pyParis.py
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
Ganesh Raju
 
Building and testing a desktop application written in Python
Building and testing a desktop application written in PythonBuilding and testing a desktop application written in Python
Building and testing a desktop application written in Python
Nuxeo
 
CollegeDiveIn presentation
CollegeDiveIn presentationCollegeDiveIn presentation
CollegeDiveIn presentation
Karambir Singh Nain
 
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
DevDay.org
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
Netflix Open Source Meetup Season 4 Episode 1
Netflix Open Source Meetup Season 4 Episode 1Netflix Open Source Meetup Season 4 Episode 1
Netflix Open Source Meetup Season 4 Episode 1
aspyker
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
wesley chun
 
Creating a reasonable project boilerplate
Creating a reasonable project boilerplateCreating a reasonable project boilerplate
Creating a reasonable project boilerplate
Stanislav Petrov
 
Multiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for PublishersMultiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for Publishers
Jon Peck
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
Heiko Voigt
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Tools
barciszewski
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
Evans Ye
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
Jody Garnett
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
Christopher Cundill
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Giovanni Toraldo
 
Unicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingUnicon July 2015 IAM Briefing
Unicon July 2015 IAM Briefing
John Gasper
 
Pentester++
Pentester++Pentester++
Pentester++
CTruncer
 

Similar to When JHipster meets Microsoft-JHipster and Microsoft products (20)

Netflix Open Source: Building a Distributed and Automated Open Source Program
Netflix Open Source:  Building a Distributed and Automated Open Source ProgramNetflix Open Source:  Building a Distributed and Automated Open Source Program
Netflix Open Source: Building a Distributed and Automated Open Source Program
 
Building a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at NetflixBuilding a Distributed & Automated Open Source Program at Netflix
Building a Distributed & Automated Open Source Program at Netflix
 
Paris.py
Paris.pyParis.py
Paris.py
 
State of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache BigtopState of Big Data on ARM64 / AArch64 - Apache Bigtop
State of Big Data on ARM64 / AArch64 - Apache Bigtop
 
Building and testing a desktop application written in Python
Building and testing a desktop application written in PythonBuilding and testing a desktop application written in Python
Building and testing a desktop application written in Python
 
CollegeDiveIn presentation
CollegeDiveIn presentationCollegeDiveIn presentation
CollegeDiveIn presentation
 
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
[DevDay 2017] ReactJS Hands on - Speaker: Binh Phan - Developer at mgm techno...
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Netflix Open Source Meetup Season 4 Episode 1
Netflix Open Source Meetup Season 4 Episode 1Netflix Open Source Meetup Season 4 Episode 1
Netflix Open Source Meetup Season 4 Episode 1
 
Introduction to serverless computing on Google Cloud
Introduction to serverless computing on Google CloudIntroduction to serverless computing on Google Cloud
Introduction to serverless computing on Google Cloud
 
Creating a reasonable project boilerplate
Creating a reasonable project boilerplateCreating a reasonable project boilerplate
Creating a reasonable project boilerplate
 
Multiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for PublishersMultiplier Effect: Case Studies in Distributions for Publishers
Multiplier Effect: Case Studies in Distributions for Publishers
 
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
What is cool with Domino V10, Proton and Node.JS, and why would I use it in ...
 
GWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO ToolsGWT - Building Rich Internet Applications Using OO Tools
GWT - Building Rich Internet Applications Using OO Tools
 
How bigtop leveraged docker for build automation and one click hadoop provis...
How bigtop leveraged docker for build automation and  one click hadoop provis...How bigtop leveraged docker for build automation and  one click hadoop provis...
How bigtop leveraged docker for build automation and one click hadoop provis...
 
GeoServer Developers Workshop
GeoServer Developers WorkshopGeoServer Developers Workshop
GeoServer Developers Workshop
 
Releaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy processReleaseflow: a healthy build and deploy process
Releaseflow: a healthy build and deploy process
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Unicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingUnicon July 2015 IAM Briefing
Unicon July 2015 IAM Briefing
 
Pentester++
Pentester++Pentester++
Pentester++
 

Recently uploaded

Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
mamamaam477
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
Anant Corporation
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
LAXMAREDDY22
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
JamalHussainArman
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
Madan Karki
 
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENTNATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
Addu25809
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
Rahul
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
sachin chaurasia
 
UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...
UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...
UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...
amsjournal
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 

Recently uploaded (20)

Engine Lubrication performance System.pdf
Engine Lubrication performance System.pdfEngine Lubrication performance System.pdf
Engine Lubrication performance System.pdf
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by AnantLLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
LLM Fine Tuning with QLoRA Cassandra Lunch 4, presented by Anant
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
BRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdfBRAIN TUMOR DETECTION for seminar ppt.pdf
BRAIN TUMOR DETECTION for seminar ppt.pdf
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
 
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENTNATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
NATURAL DEEP EUTECTIC SOLVENTS AS ANTI-FREEZING AGENT
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024ACEP Magazine edition 4th launched on 05.06.2024
ACEP Magazine edition 4th launched on 05.06.2024
 
The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.The Python for beginners. This is an advance computer language.
The Python for beginners. This is an advance computer language.
 
UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...
UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...
UNLOCKING HEALTHCARE 4.0: NAVIGATING CRITICAL SUCCESS FACTORS FOR EFFECTIVE I...
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 

When JHipster meets Microsoft-JHipster and Microsoft products

  • 2. Speakers Anthony VIARD Practice Manager at Ippon Technologies JHipster Core Team member @avdev4j Pascal GRIMAUD Practice Technical Leader at Ippon Technologies JHipster co-Lead @pascalgrimaud
  • 4. ● JHipster is an application generator ● Help you to generate your application ● State of art applications ○ Backend Spring Boot ○ Angular / React / Vue.js frontend ○ Preconfigured tools like Maven or Gradle ○ Cloud and Production ready ● 100% Open Source ● Free and public What is JHipster?
  • 5. ● Angular / React / Vuejs ● HTML5 Boilerplate ● Twitter Bootstrap ● Responsive Web Design ● Websockets ● Spring Boot ● Spring Security ● JPA, MongoDB, Cassandra, Couchbase ● Elasticsearch ● Ehcache, HazelCast, caffeine, redis ● Metrics ● Maven, Gradle ● Webpack, BrowserSync ● JUnit, Gatling, Jest, Protractor ● Docker, Cloud Foundry, Heroku, AWS, Kubernetes, OpenShift Front-end Back-end Tools Technical stack
  • 6. ...but also blueprints Used to customise generators by redefine all or a part of JHipster
  • 7. - For advanced needed, JHipster could generate a fully microservices architecture based on the Netflix stack - API gateway(s), service registry and discovery, security, monitoring… Are ready in few minutes - With the same experience than a monolith! Microservices Architecture
  • 8. Why using JHipster? Gains on each project steps - Design: reduce starting time by 6 weeks - Build: the generated code is a solid base for developing high quality applications on long term - Run: ready to prod
  • 9. JHipster, obviously a strong community
  • 11. Some statistics ● 33 core team members ● More than 530 contributors, including companies likes Google, Red Hat and Salesforce ● 15,000 stars recently reached on GitHub ● 112k installations per month ● Dozens of conferences in the world, many books published
  • 12. … And very active More than 40 talks across the world in 2019. France USA Spain Lithuania UK Ireland Serbia Italia Luxembourg Morocco Germany Portugal India
  • 13. ● Our Open Collective campaign is a huge success ○ Our budget is nearly $45,000/year ○ There are still sponsoring slots available if you want 😁 ● Current bug bounty system works very well ○ Clearly helps the project go forward ○ Motivates people ● We have updated our bug bounties system this month ○ We now have $100, $200, $300 and $500 bounties! Open Collective & Bug bounties!
  • 15. How to contribute ? D ● Contributions are open for all ● All ideas are welcome You have to respect our code of conduct And read our contributor guide When you are ready, come to see us on GitHub
  • 16. JHipster Journey by JHipster practice By the JHipster practice The faster way to the community JHipster 360 JHipster Thread JHipster Events A full day of introduction / formation to JHipster with a practice member. We define, together, your first subject of contribution according to your skills and wishes. We help you to participate and talk about JHipster in meetups and conferences Black belt program A personalized course with a mentor, levels based on Judo belt colors to be better than yesterday ! One JHipster day per month !
  • 18. Free Tutorials : JHipster Guides ● New tutorials ○ Use Google Cloud Shell ○ Free and open source ● Nothing to install ○ Just you, your navigator and a Google account ○ Perfect for new users ● Test it and contribute : https://github.com/jhipster/jhipster-guides
  • 20. Visual Studio Code with JDL
  • 21. ● JDL for JHipster Domain Language The JDL is a JHipster-specific domain language where you can describe all your applications, deployments, entities and their relationships in a single file (or more than one) with a simple and user-friendly syntax. JD… WHAT entity Conference { name String schedule Instant } entity Speaker { name String company String } relationship OneToMany { Speaker to Conference } application { config { baseName sampleMsIgnite applicationType monolith } entities Conference, Speaker }
  • 22. JHipster IDE - Visual Studio Code Syntax coloring Auto-completion Error checking Also available for Eclipse...
  • 23. Demo time ! Let’s coding our JDL and generate an application
  • 25. ● Idea / Business needs ● Define the Architecture ● Generate the project with JHipster ● Design your model with JDL ● Developer ○ Frontend part ○ Backend part ● DevOps ○ Continuous Integration (CI) ○ Continuous Deployment (CD) Lifecycle of a Project
  • 26. ● Cloud service ○ Continuous Integration (CI) and Continuous Deployment (CD) ○ Manage an automated software development lifecycle workflow ○ Build, test and deploy ● Pipelines for Linux, macOS, Windows and Containers ● Pricing ○ Free ○ 20 total concurrent jobs ● Directly integrated to GitHub GitHub Actions: description
  • 27. ● Quick demo on https://github.com/ ● Create a new repository ● Go to Actions ● Create a workflow GitHub Actions: quick demo
  • 28. ● Support of GitHub Actions ○ since the last version: v6.5.0 ● Launch: jhipster ci-cd ○ Jenkins pipeline ○ Azure Pipelines ○ GitLab CI ○ GitHub CI ○ Travis CI CI / CD Sub-Generator
  • 29. name: Application CI on: [push, pull_request] jobs: applications: name: jhipsterSampleApplication test suite runs-on: ubuntu-latest timeout-minutes: 40 env: NODE_VERSION: 12.13.0 SPRING_OUTPUT_ANSI_ENABLED: DETECT SPRING_JPA_SHOW_SQL: false JHI_DISABLE_WEBPACK_LOGS: true NG_CLI_ANALYTICS: false steps: - uses: actions/checkout@v1 - uses: actions/setup-node@v1 with: node-version: 12.13.0 GitHub Actions with JHipsterExample of generated github-ci.yml - uses: actions/setup-java@v1 with: java-version: '11.x' - name: Stop MySQL server run: sudo /etc/init.d/mysql stop - name: Install node.js packages run: npm install - name: Run backend test run: | chmod +x mvnw ./mvnw -ntp clean verify -P-webpack - name: Run frontend test run: npm run test - name: Package application run: ./mvnw -ntp package -Pprod -DskipTests
  • 30. ● Generate a github-ci.yml file ● Configure tools ○ Node ○ Java ● Run backend unit tests and integration tests ○ Maven ○ Gradle ● Run frontend tests ○ NPM ○ Yarn ● Package your application github-ci.yml : description
  • 31. GitHub Actions : results
  • 32. The Power of Azure Pipelines
  • 33. ● All Open Source Projects hosted under GitHub ● 83 repositories ● External services: ○ NPM ○ Maven Central ○ Docker Hub ○ SonarCloud ○ Travis CI, Azure Pipelines, GitHub Actions JHipster organization
  • 34. ● Type: Monolithic, Gateway, Microservices, UAA server, Reactive applications ● Security : JWT, HTTP Session, OAuth2 ● Database : MySQL, MariaDB, PostgreSQL, MongoDB, Cassandra, CouchBase ● Back : Maven, Gradle ● Cache: Ehcache, Caffeine, Hazelcast, Infinispan, Memcached, Redis ● Option : Elasticsearch, WebSockets, Kafka, OpenAPI-generator ● Front : Angular, React ● Internationalization (more than 40 languages) JHipster options
  • 35. ● An environment ● The installation of tools ○ NodeJS, NPM, Yarn, Java, Git ● The jhipster library ● The generator-jhipster ● The generated application ○ Backend tests: unit tests and integration tests ○ Frontend tests ○ Packaging ○ End-to-end tests What do we need to test ?
  • 36. ● Organization: https://github.com/hipster-labs ● Daily builds project ● Old project: ○ https://github.com/hipster-labs/jhipster-travis-build ○ We were using Travis-CI ● New project: ○ https://github.com/hipster-labs/jhipster-daily-builds ○ Everything were migrated to Azure Pipelines Specific organization: Hipster-Labs
  • 37. ● Cloud service ○ Continuous Integration (CI) and Continuous Deployment (CD) ○ Build and test your code ○ Deploy to an Artifactory or to the Cloud ● Pipelines for Linux, macOS and Windows ● Pricing ○ Free for Open Source projects ○ 10 free parallel jobs with unlimited minutes per months ● Very well integrated to GitHub, using the Marketplace ● See https://azure.microsoft.com/fr-fr/services/devops/pipelines/ Azure Pipelines
  • 38. ● Angular vs React ● Maven vs Gradle ● SQL vs NoSQL vs No database ● Monolithic vs Gateway/Microservices ● JDL with different cache system What do we test ?
  • 39. ● List of builds ○ https://dev.azure.com/hipster-labs/jhipster-daily-builds/_build ● Dashboard ○ https://dev.azure.com/hipster-labs/jhipster-daily-builds/_dashboards/dash board/838f7bd8-7cb5-4bad-a47d-362df39abb27 ● Statistics: ○ More than 100 builds per days ● Goal ○ Less compilation failures as possible ○ Best quality Azure Pipelines: results
  • 40. ● Let’s create an Azure Pipelines for your JHipster project ● Pre-requisites: ○ An Azure DevOps account ○ Create a project Azure Pipelines: demo
  • 42. ● New cloud deployment for JHipster ● Publicly available since the last week ● Fully managed Spring PaaS ● Perfect for Microservices Architecture ○ Managed Service Discovery ○ Managed Config Server ○ Blue / Green deployment ● Just launch: jhipster azure-spring-cloud Azure Spring Cloud
  • 43. Thank you. Enjoy Microsoft Ignite ! @jhipster @MS_Ignite