SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
Application Development
Frameworks
Java EE vs Spring Boot & Spring Cloud
@benbravo73
“Compare & contrast
the use of Spring
and tell me why
Spring Boot / Cloud
is important”
Outline
● Choosing a Framework
○ What’s Important?
○ Cloud-native apps
○ Microservices
○ Spring Boot vs Java EE
○ Cloud features
○ Adoption
● Summary
Developers need
frameworks to help
them do their work
They simply want to
Build, Ship & Run their
code
Choosing a Framework
Build, Ship & Run means:
● Develop it
● Test it
● Package it
● Deploy it
● Monitor it
● Scale it
There’s a lot to do, and it’s
complex work
Good frameworks make it
fast and easy
What’s important?
Choosing a Framework
For businesses, fast and easy
development also means:
Increased productivity ☑
Better quality ☑
More frequent releases ☑
Greater engagement ☑
Easier experimentation ☑
What’s important?
Cloud is now vital part
of application delivery
and scalability
Apps need to be
“cloud-native” by
default
Choosing a Framework
Cloud-native apps are
● Self contained
● Robust
● Self-healing
● Elastic
Cloud-native apps can be
deployed into the cloud and
scaled with ease
So how do you build a cloud-
native app?
Cloud-native apps
Choosing a Framework
The current best option for
building cloud-native apps is
Microservice architecture
Modern frameworks support
microservice architecture out of
the box
But what constitutes a
microservice?
Cloud-native apps
Choosing a Framework
Microservices
Microservices are services that
are…
● Small
● Isolated
● Reusable
● Disposable
Because they’re small you may
need hundreds so they must be
easy to make and manage!
Choosing a Framework
Microservices
In Java there are two
competing service
development frameworks...
● Java Platform
Enterprise Edition
[JEE]
● Spring Framework
[inc Boot & Cloud]
Java Enterprise Edition
is an Application Server
specification for full-
stack monolithic web-
apps
Spring Boot is a
Java based
framework for
building
microservices
Let’s compare
Spring Boot and
Java EE when
developing
microservices
vs
Choosing a Framework
Scenario: The boss wants a
“hello-world” microservice and
she want’s it now…
Let’s compare the effort
required to meet this challenge
using Java EE vs Spring Boot
> Note the number of steps for each and
the time required to complete them
Spring Boot vs JEE
1. Go to start.spring.io and download a
starter project
2. Open the project in your IDE
3. Create a new Controller class
4. Add @RestController to your class
5. Add @RequestMappping to your method
6. Build your JAR (mvn package)
7. Run java -jar <filename>
8. Check your message is returned
Congratulations, your service is up!
Elapsed Time 15 mins
1. Choose a JEE Application Server with the right mix of
features, standards support, etc. (weeks*)
2. Install the JEE application server on the target
machine
3. Add the vendors JEE JARs to your Maven Repository
4. Create a new WAR project (mvn archetype)
5. Add the Jar dependencies you need to your POM (i.
e. the vendors JEE jar)
6. Open the project in your IDE
7. Create a new Controller class
8. Add @Path to your class
9. Add @GET to your method
10. Add your servlet-mapping url-pattern instructions to
your servlet.xml file
11. Build and package your WAR file
12. Take your WAR file to the application server
13. Install it in the correct folder on the app server
14. Reboot / restart the app server
15. Check the log / console to see if your particular
service has started successfully
16. Call localhost to check your message is returned
Congratulations, your service is up!
Elapsed Time 2-4 hours*
Spring Boot
Spring Boot:
Builds easier thanks to pre-
configured dependencies and
auto-configuration
Ships easier thanks to simple
JAR packaging
Runs easier thanks to
embedded servers
Choosing a Framework
Spring Boot vs JEE
Microservice
developers find
Spring Boot easier,
cleaner, and more
productive
“Spring Boot blew
my mind! I used to
spend days getting
a service running”
(Real quote from a Java developer on Reddit)
But what about the
cloud?
Choosing a Framework
Cloud features
Microservices need a
supportive environment, one
with cloud specific features...
● API Gateway
● Service Discovery
● Load balancing
● Externalised Config
● Metrics & Monitoring
● Persistence & Messaging
● Etc...
Spring Cloud adds
several cloud-native
features to Spring Boot
You don’t get any of
these features with JEE
Service Discovery ☑
External Config ☑
API Gateway ☑
Circuit Breakers ☑
Load Balancers ☑
Event Bus ☑
Monitoring & Logging ☑
Spring Cloud
Service Discovery ❎
External Config ❎
API Gateway ❎
Circuit Breakers ❎
Load Balancers ❎
Event Bus ❎
Monitoring & Logging ❎
Spring Boot is trending!
Adoption is growing
rapidly across all
sectors and industries
Meanwhile, JEE adoption is in decline
Google Trends (JEE vs Spring Boot)
Tipping point: October 2015
Summary
Java Enterprise Edition
● JEE is ill-equipped for cloud-native microservice development
● JEE is missing several crucial cloud capabilities
● JEE config & packaging slows Build, Ship and Run cycles
● JEE adoption is in decline
Spring Boot & Spring Cloud
● Spring Boot & Spring Cloud accelerate your cloud
development
● Building microservices with Spring Boot is easier, cleaner and
more productive than in JEE
● Spring Cloud adds powerful cloud-native capabilities
● Adoption of Spring Boot and Spring Cloud is growing rapidly
Like to know more?
Check out my Spring Boot & Spring Cloud CQRS Microservice project…
On Wordpress: https://goo.gl/ijjREg
On GitHub: https://goo.gl/uGGISx
On SlideShare: http://goo.gl/gnoy6j
@benbravo73

Weitere ähnliche Inhalte

Was ist angesagt?

Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Justin Lin
 

Was ist angesagt? (20)

.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1.NET Core, ASP.NET Core Course, Session 1
.NET Core, ASP.NET Core Course, Session 1
 
Spring core module
Spring core moduleSpring core module
Spring core module
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Spring framework Introduction
Spring framework IntroductionSpring framework Introduction
Spring framework Introduction
 
Java EE and Spring Side-by-Side
Java EE and Spring Side-by-SideJava EE and Spring Side-by-Side
Java EE and Spring Side-by-Side
 
Dotnet Frameworks Version History
Dotnet Frameworks Version HistoryDotnet Frameworks Version History
Dotnet Frameworks Version History
 
Express JS Middleware Tutorial
Express JS Middleware TutorialExpress JS Middleware Tutorial
Express JS Middleware Tutorial
 
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 ServletServlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
Servlet & JSP 教學手冊第二版試讀 - 撰寫與設定 Servlet
 
Spring MVC Framework
Spring MVC FrameworkSpring MVC Framework
Spring MVC Framework
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014Formation GIT gratuite par ippon 2014
Formation GIT gratuite par ippon 2014
 
Java Collection Interview Questions [Updated]
Java Collection Interview Questions [Updated]Java Collection Interview Questions [Updated]
Java Collection Interview Questions [Updated]
 
Spring Framework - Core
Spring Framework - CoreSpring Framework - Core
Spring Framework - Core
 
Java Spring
Java SpringJava Spring
Java Spring
 
Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans Spring - Part 1 - IoC, Di and Beans
Spring - Part 1 - IoC, Di and Beans
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Spring introduction
Spring introductionSpring introduction
Spring introduction
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 
Spring Framework
Spring FrameworkSpring Framework
Spring Framework
 

Andere mochten auch

Andere mochten auch (8)

Reactive Programming for a demanding world: building event-driven and respons...
Reactive Programming for a demanding world: building event-driven and respons...Reactive Programming for a demanding world: building event-driven and respons...
Reactive Programming for a demanding world: building event-driven and respons...
 
From object oriented to functional domain modeling
From object oriented to functional domain modelingFrom object oriented to functional domain modeling
From object oriented to functional domain modeling
 
Introduction to Kafka with Spring Integration
Introduction to Kafka with Spring IntegrationIntroduction to Kafka with Spring Integration
Introduction to Kafka with Spring Integration
 
Introduction To Functional Reactive Programming Poznan
Introduction To Functional Reactive Programming PoznanIntroduction To Functional Reactive Programming Poznan
Introduction To Functional Reactive Programming Poznan
 
Spring integration with the Java DSL
Spring integration with the Java DSLSpring integration with the Java DSL
Spring integration with the Java DSL
 
Microservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event SourcingMicroservice Architecture with CQRS and Event Sourcing
Microservice Architecture with CQRS and Event Sourcing
 
Integration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices ArchitecturesIntegration Patterns and Anti-Patterns for Microservices Architectures
Integration Patterns and Anti-Patterns for Microservices Architectures
 
Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015
 

Ähnlich wie Microservices - java ee vs spring boot and spring cloud

Enhancing Website and Application Testing with Java Scrapers.pdf
Enhancing Website and Application Testing with Java Scrapers.pdfEnhancing Website and Application Testing with Java Scrapers.pdf
Enhancing Website and Application Testing with Java Scrapers.pdf
AnanthReddy38
 
Module 6 _ Spring Boot for java application to begin
Module 6 _ Spring Boot for java application to beginModule 6 _ Spring Boot for java application to begin
Module 6 _ Spring Boot for java application to begin
Deepakprasad838637
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
Willy Aguirre
 

Ähnlich wie Microservices - java ee vs spring boot and spring cloud (20)

Spring boot vs spring framework razor sharp web applications
Spring boot vs spring framework razor sharp web applicationsSpring boot vs spring framework razor sharp web applications
Spring boot vs spring framework razor sharp web applications
 
Accelerate Spring Apps to Cloud at Scale
Accelerate Spring Apps to Cloud at ScaleAccelerate Spring Apps to Cloud at Scale
Accelerate Spring Apps to Cloud at Scale
 
Accelerate Spring Apps to Cloud at Scale—Discussion with Azure Spring Cloud C...
Accelerate Spring Apps to Cloud at Scale—Discussion with Azure Spring Cloud C...Accelerate Spring Apps to Cloud at Scale—Discussion with Azure Spring Cloud C...
Accelerate Spring Apps to Cloud at Scale—Discussion with Azure Spring Cloud C...
 
spring
springspring
spring
 
Spring Boot
Spring BootSpring Boot
Spring Boot
 
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud EnvironmentsTools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
Tools and Recipes to Replatform Monolithic Apps to Modern Cloud Environments
 
oraclewls-jrebel
oraclewls-jrebeloraclewls-jrebel
oraclewls-jrebel
 
Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load Testing
 
Enhancing Website and Application Testing with Java Scrapers.pdf
Enhancing Website and Application Testing with Java Scrapers.pdfEnhancing Website and Application Testing with Java Scrapers.pdf
Enhancing Website and Application Testing with Java Scrapers.pdf
 
Module 6 _ Spring Boot for java application to begin
Module 6 _ Spring Boot for java application to beginModule 6 _ Spring Boot for java application to begin
Module 6 _ Spring Boot for java application to begin
 
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
Seminar Modernizing Your Development Using Microservices, Container & KubernetesSeminar Modernizing Your Development Using Microservices, Container & Kubernetes
Seminar Modernizing Your Development Using Microservices, Container & Kubernetes
 
Spring Book – Chapter 1 – Introduction
Spring Book – Chapter 1 – IntroductionSpring Book – Chapter 1 – Introduction
Spring Book – Chapter 1 – Introduction
 
Spring Framework Rohit
Spring Framework RohitSpring Framework Rohit
Spring Framework Rohit
 
Getting Started with Platform-as-a-Service
Getting Started with Platform-as-a-ServiceGetting Started with Platform-as-a-Service
Getting Started with Platform-as-a-Service
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
 
Spring presentecion isil
Spring presentecion isilSpring presentecion isil
Spring presentecion isil
 
Test Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and MochaTest Automation With Cucumber JVM, Selenium, and Mocha
Test Automation With Cucumber JVM, Selenium, and Mocha
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
What should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic AdminsWhat should I do now?! JCS for WebLogic Admins
What should I do now?! JCS for WebLogic Admins
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Kürzlich hochgeladen (20)

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 

Microservices - java ee vs spring boot and spring cloud

  • 1. Application Development Frameworks Java EE vs Spring Boot & Spring Cloud @benbravo73
  • 2. “Compare & contrast the use of Spring and tell me why Spring Boot / Cloud is important”
  • 3. Outline ● Choosing a Framework ○ What’s Important? ○ Cloud-native apps ○ Microservices ○ Spring Boot vs Java EE ○ Cloud features ○ Adoption ● Summary
  • 4. Developers need frameworks to help them do their work They simply want to Build, Ship & Run their code
  • 5. Choosing a Framework Build, Ship & Run means: ● Develop it ● Test it ● Package it ● Deploy it ● Monitor it ● Scale it There’s a lot to do, and it’s complex work Good frameworks make it fast and easy What’s important?
  • 6. Choosing a Framework For businesses, fast and easy development also means: Increased productivity ☑ Better quality ☑ More frequent releases ☑ Greater engagement ☑ Easier experimentation ☑ What’s important?
  • 7. Cloud is now vital part of application delivery and scalability Apps need to be “cloud-native” by default
  • 8. Choosing a Framework Cloud-native apps are ● Self contained ● Robust ● Self-healing ● Elastic Cloud-native apps can be deployed into the cloud and scaled with ease So how do you build a cloud- native app? Cloud-native apps
  • 9. Choosing a Framework The current best option for building cloud-native apps is Microservice architecture Modern frameworks support microservice architecture out of the box But what constitutes a microservice? Cloud-native apps
  • 10. Choosing a Framework Microservices Microservices are services that are… ● Small ● Isolated ● Reusable ● Disposable Because they’re small you may need hundreds so they must be easy to make and manage!
  • 11. Choosing a Framework Microservices In Java there are two competing service development frameworks... ● Java Platform Enterprise Edition [JEE] ● Spring Framework [inc Boot & Cloud]
  • 12. Java Enterprise Edition is an Application Server specification for full- stack monolithic web- apps
  • 13. Spring Boot is a Java based framework for building microservices
  • 14. Let’s compare Spring Boot and Java EE when developing microservices vs
  • 15. Choosing a Framework Scenario: The boss wants a “hello-world” microservice and she want’s it now… Let’s compare the effort required to meet this challenge using Java EE vs Spring Boot > Note the number of steps for each and the time required to complete them Spring Boot vs JEE
  • 16. 1. Go to start.spring.io and download a starter project 2. Open the project in your IDE 3. Create a new Controller class 4. Add @RestController to your class 5. Add @RequestMappping to your method 6. Build your JAR (mvn package) 7. Run java -jar <filename> 8. Check your message is returned Congratulations, your service is up! Elapsed Time 15 mins 1. Choose a JEE Application Server with the right mix of features, standards support, etc. (weeks*) 2. Install the JEE application server on the target machine 3. Add the vendors JEE JARs to your Maven Repository 4. Create a new WAR project (mvn archetype) 5. Add the Jar dependencies you need to your POM (i. e. the vendors JEE jar) 6. Open the project in your IDE 7. Create a new Controller class 8. Add @Path to your class 9. Add @GET to your method 10. Add your servlet-mapping url-pattern instructions to your servlet.xml file 11. Build and package your WAR file 12. Take your WAR file to the application server 13. Install it in the correct folder on the app server 14. Reboot / restart the app server 15. Check the log / console to see if your particular service has started successfully 16. Call localhost to check your message is returned Congratulations, your service is up! Elapsed Time 2-4 hours* Spring Boot
  • 17. Spring Boot: Builds easier thanks to pre- configured dependencies and auto-configuration Ships easier thanks to simple JAR packaging Runs easier thanks to embedded servers Choosing a Framework Spring Boot vs JEE
  • 18. Microservice developers find Spring Boot easier, cleaner, and more productive
  • 19. “Spring Boot blew my mind! I used to spend days getting a service running” (Real quote from a Java developer on Reddit)
  • 20. But what about the cloud?
  • 21. Choosing a Framework Cloud features Microservices need a supportive environment, one with cloud specific features... ● API Gateway ● Service Discovery ● Load balancing ● Externalised Config ● Metrics & Monitoring ● Persistence & Messaging ● Etc...
  • 22. Spring Cloud adds several cloud-native features to Spring Boot You don’t get any of these features with JEE
  • 23. Service Discovery ☑ External Config ☑ API Gateway ☑ Circuit Breakers ☑ Load Balancers ☑ Event Bus ☑ Monitoring & Logging ☑ Spring Cloud Service Discovery ❎ External Config ❎ API Gateway ❎ Circuit Breakers ❎ Load Balancers ❎ Event Bus ❎ Monitoring & Logging ❎
  • 24. Spring Boot is trending! Adoption is growing rapidly across all sectors and industries Meanwhile, JEE adoption is in decline
  • 25. Google Trends (JEE vs Spring Boot) Tipping point: October 2015
  • 27. Java Enterprise Edition ● JEE is ill-equipped for cloud-native microservice development ● JEE is missing several crucial cloud capabilities ● JEE config & packaging slows Build, Ship and Run cycles ● JEE adoption is in decline
  • 28. Spring Boot & Spring Cloud ● Spring Boot & Spring Cloud accelerate your cloud development ● Building microservices with Spring Boot is easier, cleaner and more productive than in JEE ● Spring Cloud adds powerful cloud-native capabilities ● Adoption of Spring Boot and Spring Cloud is growing rapidly
  • 29. Like to know more? Check out my Spring Boot & Spring Cloud CQRS Microservice project… On Wordpress: https://goo.gl/ijjREg On GitHub: https://goo.gl/uGGISx On SlideShare: http://goo.gl/gnoy6j @benbravo73