SlideShare a Scribd company logo
1 of 27
Download to read offline
MicroProfile: Optimizing Java EE
For a Microservices Architecture
John Clingan
Senior Principal Product Manager
Ken Finnigan
Principal Software Engineer
Enterprise Java Standards History
MicroProfile Background
● Many innovative “microservices” efforts in existing Java EE projects
■ WildFly Swarm
■ WebSphere Liberty
■ Payara
■ TomEE
○ Projects already leveraging both Java EE and non-Java EE technologies
○ Creating new features/capabilities to address microservices architectures
● Wanted to avoid splitting into separate communities
● So we are collaborating in one community!
An Eclipse
Foundation
Project
● Meritocracy; vendor neutrality
● MicroProfile leadership can change over
time
● Legal and technical infrastructure
● Trademark Ownership
● Accepts Apache License
Paving a Path to Microservices
● Leverages Java EE
technologies most
relevant to microservices
● Customers can leverage
knowledge and expertise
● Facilitate customer,
vendor, partner adoption
First: Leverage Java EE
CDI 1.1
JAX-RS 2.0
JSON-P 1.0
7
8
CDI 2.0
JAX-RS 2.1
JSON-P 1.1
JSON-B 1.0(?)
MicroProfile 1.0
MicroProfile.future
Paving a Path to Microservices
Second: Organic Innovation
● Begin with well-known
microservices patterns
● Develop CDI-centric
programming model to
support them
Security: JWT Token Exchange 1.0
Health Check 1.0
Configuration 1.0
Fault Tolerance 1.0
Examples
Paving a Path to Microservices
Third: Collaborate in Open Source
● Build a strong community
● Collaborate on
specifications
● Encourage multiple
implementations
● Standardize technologies
when ready
Quickly Put Features in Developers Hands
2016 2017 2018 2019
8 9
1.0
1.1
1.2
1.3
1.4
2020
1.5
* 2-4 releases per year
MicroProfile Roadmap (Under Review)
MicroProfile 1.1
(Q2, 2017)
MicroProfile 1.2
(Q3, 2017)
MicroProfile 2.0
(Q4, 2017)
Releases
MicroProfile Roadmap (Under Review)
MicroProfile 1.1
(Q2, 2017)
MicroProfile 1.2
(Q3, 2017)
MicroProfile 2.0
(Q4, 2017)
Releases Feature Backlog
Configuration
Baseline Fault Tolerance
Fault Tolerance w/event streams
JWT Security Token Exchange
Health Check
Monitoring
OpenTracing
CDI 2.0
JAX-RS 2.1
JSON-P 1.1
JSON-B 1.0(?)
MicroProfile Roadmap (Under Review)
MicroProfile 1.1
(Q2, 2017)
MicroProfile 1.2
(Q3, 2017)
MicroProfile 2.0
(Q4, 2017)
Releases Feature Backlog
Configuration
Baseline Fault Tolerance
Fault Tolerance w/event streams
JWT Security Token Exchange
Health Check
Monitoring
OpenTracing
CDI 2.0
JAX-RS 2.1
JSON-P 1.1
JSON-B 1.0(?)
Decided
Practical Usage of MicroProfile
3rd Party Frameworks
Collaboration
● Discussions via Google Group
● Reach consensus, no “single power”
● Ideas, thoughts, views all welcome
Spec Proposal Process
● All proposals are submitted via Pull Request to a GitHub repository
○ https://github.com/eclipse/microprofile-evolution-process
● Recommend initial discussion on Google Group prior to PR
○ General view on proposal and interest
Spec Proposal Process
● Submit PR following template
○ https://github.com/eclipse/microprofile-evolution-process/blob/master/0000-template.md
● Don’t need to provide example APIs
● Define use cases that motivated the proposal
● Outline possible solution ideas, if applicable
○ Don’t need full solution to submit proposal
Spec Proposal Process
● Follow up with Google Group thread announcing PR has been made
● Various discussions will happen within the Pull Request
● Author of Pull Request needs to:
○ Reflect consensus view of feedback into updates of the proposal
○ Provide reasoning as to why a suggestion may not be applicable
Spec Proposal Process
● Depending on voracity of discussion, PR may remain open for a couple of
weeks or month(s)
● When reasonable consensus reached
○ PR is merged
○ GitHub repository for proposal created in Eclipse organization
○ Work on specification document, APIs, and testsuite (TCK) commences
How To Get Involved?
● Google Group for discussions
○ https://groups.google.com/forum/#!forum/microprofile
● Eclipse MicroProfile
○ https://projects.eclipse.org/proposals/eclipse-microprofile
● MicroProfile site
○ http://microprofile.io/
Java Microservices Book
● Recently released into MEAP
● Uses WildFly Swarm
● 39% discount on all Manning books with
code: ctwrhsummit17
https://www.manning.com/books/java-microservices-in-action
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
INSERT DIVIDER COPY
BACKUP SLIDES
Configuration API
Get all the configuration properties that are visible:
@Inject
Config config;
Configuration API
Get specific property value (static):
@Inject
@ConfigProperty(name = “myProp”, defaultValue = “defValue”)
String myProperty;
Configuration API
Get specific property value (dynamic):
@Inject
@ConfigProperty(name = “myProp”, defaultValue = “defValue”)
Provider<String> myProperty;
String getValue() {
myProperty.get();
}
Changing Definition of “Platform”
May remove from this particular slide
deck

More Related Content

What's hot

Spring Native and Spring AOT
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOTVMware Tanzu
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowDmitry Kornilov
 
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesRunning Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesVMware Tanzu
 
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDIMigrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDIMario-Leander Reimer
 
Android with dagger_2
Android with dagger_2Android with dagger_2
Android with dagger_2Kros Huang
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous IntegrationHùng Nguyễn Huy
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsSunil Dalal
 
Java API for JSON Binding - Introduction and update
Java API for JSON Binding - Introduction and updateJava API for JSON Binding - Introduction and update
Java API for JSON Binding - Introduction and updateMartin Grebac
 
Effective Spring on Kubernetes
Effective Spring on KubernetesEffective Spring on Kubernetes
Effective Spring on KubernetesNeven Cvetković
 
The Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsVMware Tanzu
 
JPQL/ JPA Activity 1
JPQL/ JPA Activity 1JPQL/ JPA Activity 1
JPQL/ JPA Activity 1SFI
 
Going Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework EcosystemGoing Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework EcosystemVMware Tanzu
 
Developing modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsDeveloping modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsShekhar Gulati
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Mary Joy Sabal
 
Testing strategies and best practices using MUnit
Testing strategies and best practices using MUnitTesting strategies and best practices using MUnit
Testing strategies and best practices using MUnitJimmy Attia
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulMert Çalışkan
 
Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Zachary Klein
 

What's hot (20)

Spring Native and Spring AOT
Spring Native and Spring AOTSpring Native and Spring AOT
Spring Native and Spring AOT
 
Jakarta EE: Today and Tomorrow
Jakarta EE: Today and TomorrowJakarta EE: Today and Tomorrow
Jakarta EE: Today and Tomorrow
 
Running Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native ImagesRunning Spring Boot Applications as GraalVM Native Images
Running Spring Boot Applications as GraalVM Native Images
 
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDIMigrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
Migrating a JSF-Based Web Application from Spring 3 to Java EE 7 and CDI
 
Android with dagger_2
Android with dagger_2Android with dagger_2
Android with dagger_2
 
Introduction to Continuous Integration
Introduction to Continuous IntegrationIntroduction to Continuous Integration
Introduction to Continuous Integration
 
Java Technology Trends
Java Technology TrendsJava Technology Trends
Java Technology Trends
 
Serverless Spring
Serverless SpringServerless Spring
Serverless Spring
 
Continuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applicationsContinuous integration and delivery for java based web applications
Continuous integration and delivery for java based web applications
 
Java API for JSON Binding - Introduction and update
Java API for JSON Binding - Introduction and updateJava API for JSON Binding - Introduction and update
Java API for JSON Binding - Introduction and update
 
Effective Spring on Kubernetes
Effective Spring on KubernetesEffective Spring on Kubernetes
Effective Spring on Kubernetes
 
The Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native ApplicationsThe Path Towards Spring Boot Native Applications
The Path Towards Spring Boot Native Applications
 
Java Desktop 2019
Java Desktop 2019Java Desktop 2019
Java Desktop 2019
 
JPQL/ JPA Activity 1
JPQL/ JPA Activity 1JPQL/ JPA Activity 1
JPQL/ JPA Activity 1
 
Going Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework EcosystemGoing Serverless Using the Spring Framework Ecosystem
Going Serverless Using the Spring Framework Ecosystem
 
Developing modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular jsDeveloping modern java web applications with java ee 7 and angular js
Developing modern java web applications with java ee 7 and angular js
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18
 
Testing strategies and best practices using MUnit
Testing strategies and best practices using MUnitTesting strategies and best practices using MUnit
Testing strategies and best practices using MUnit
 
Intelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest IstanbulIntelligent Projects with Maven - DevFest Istanbul
Intelligent Projects with Maven - DevFest Istanbul
 
Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!Grails 4: Upgrade your Game!
Grails 4: Upgrade your Game!
 

Similar to MicroProfile: Optimizing Java EE for a Microservices Architecture

J2EE6_DevelopWebApplications_00_Preample
J2EE6_DevelopWebApplications_00_PreampleJ2EE6_DevelopWebApplications_00_Preample
J2EE6_DevelopWebApplications_00_PreampleMichael Mountrakis
 
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handBenjamin Cabé
 
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 Programaspyker
 
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 NetflixAll Things Open
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4aspyker
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsHenry Saputra
 
OpenPOWER Foundation Introduction
OpenPOWER Foundation Introduction OpenPOWER Foundation Introduction
OpenPOWER Foundation Introduction Ganesan Narayanasamy
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Nir Yungster
 
Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker ManageIQ
 
Enforcing Bespoke Policies in Kubernetes
Enforcing Bespoke Policies in KubernetesEnforcing Bespoke Policies in Kubernetes
Enforcing Bespoke Policies in KubernetesTorin Sandall
 
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Ravindra Singh
 
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 PublishersJon Peck
 
J2EE6_DevelopWebServices_00_Preample
J2EE6_DevelopWebServices_00_PreampleJ2EE6_DevelopWebServices_00_Preample
J2EE6_DevelopWebServices_00_PreampleMichael Mountrakis
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014Steven Andrews
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...Lucas Jellema
 
Unicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingUnicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingJohn Gasper
 

Similar to MicroProfile: Optimizing Java EE for a Microservices Architecture (20)

J2EE6_DevelopWebApplications_00_Preample
J2EE6_DevelopWebApplications_00_PreampleJ2EE6_DevelopWebApplications_00_Preample
J2EE6_DevelopWebApplications_00_Preample
 
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
Voxxed Athens 2018 - Java EE is dead Long live jakarta EE!
 
On making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in handOn making standards organizations & open source communities work hand in hand
On making standards organizations & open source communities work hand in hand
 
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
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
Microservices at Mercari
Microservices at MercariMicroservices at Mercari
Microservices at Mercari
 
Contributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making ProfitsContributing to Apache Projects and Making Profits
Contributing to Apache Projects and Making Profits
 
OpenPOWER Foundation Introduction
OpenPOWER Foundation Introduction OpenPOWER Foundation Introduction
OpenPOWER Foundation Introduction
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...
 
Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker Design Summit - Community and Ecosystem - John Mark Walker
Design Summit - Community and Ecosystem - John Mark Walker
 
Enforcing Bespoke Policies in Kubernetes
Enforcing Bespoke Policies in KubernetesEnforcing Bespoke Policies in Kubernetes
Enforcing Bespoke Policies in Kubernetes
 
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
Starting a Drupal 8 Project? Let’s do a Technical Discovery - DrupalConAsia 2...
 
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
 
J2EE6_DevelopWebServices_00_Preample
J2EE6_DevelopWebServices_00_PreampleJ2EE6_DevelopWebServices_00_Preample
J2EE6_DevelopWebServices_00_Preample
 
TYPO3 v8 LTS in the cloud
TYPO3 v8 LTS in the cloudTYPO3 v8 LTS in the cloud
TYPO3 v8 LTS in the cloud
 
Shaun-Ellis-feb25
Shaun-Ellis-feb25Shaun-Ellis-feb25
Shaun-Ellis-feb25
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014
 
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
How and Why you can and should Participate in Open Source Projects (AMIS, Sof...
 
Unicon July 2015 IAM Briefing
Unicon July 2015 IAM BriefingUnicon July 2015 IAM Briefing
Unicon July 2015 IAM Briefing
 

Recently uploaded

%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
+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
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
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..pdfPearlKirahMaeRagusta1
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
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 TechniquesVictorSzoltysek
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
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) SolutionOnePlan Solutions
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 

Recently uploaded (20)

%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
+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...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
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
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
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
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.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
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

MicroProfile: Optimizing Java EE for a Microservices Architecture

  • 1. MicroProfile: Optimizing Java EE For a Microservices Architecture John Clingan Senior Principal Product Manager Ken Finnigan Principal Software Engineer
  • 3. MicroProfile Background ● Many innovative “microservices” efforts in existing Java EE projects ■ WildFly Swarm ■ WebSphere Liberty ■ Payara ■ TomEE ○ Projects already leveraging both Java EE and non-Java EE technologies ○ Creating new features/capabilities to address microservices architectures ● Wanted to avoid splitting into separate communities ● So we are collaborating in one community!
  • 4. An Eclipse Foundation Project ● Meritocracy; vendor neutrality ● MicroProfile leadership can change over time ● Legal and technical infrastructure ● Trademark Ownership ● Accepts Apache License
  • 5. Paving a Path to Microservices ● Leverages Java EE technologies most relevant to microservices ● Customers can leverage knowledge and expertise ● Facilitate customer, vendor, partner adoption First: Leverage Java EE CDI 1.1 JAX-RS 2.0 JSON-P 1.0 7 8 CDI 2.0 JAX-RS 2.1 JSON-P 1.1 JSON-B 1.0(?) MicroProfile 1.0 MicroProfile.future
  • 6. Paving a Path to Microservices Second: Organic Innovation ● Begin with well-known microservices patterns ● Develop CDI-centric programming model to support them Security: JWT Token Exchange 1.0 Health Check 1.0 Configuration 1.0 Fault Tolerance 1.0 Examples
  • 7. Paving a Path to Microservices Third: Collaborate in Open Source ● Build a strong community ● Collaborate on specifications ● Encourage multiple implementations ● Standardize technologies when ready
  • 8. Quickly Put Features in Developers Hands 2016 2017 2018 2019 8 9 1.0 1.1 1.2 1.3 1.4 2020 1.5 * 2-4 releases per year
  • 9. MicroProfile Roadmap (Under Review) MicroProfile 1.1 (Q2, 2017) MicroProfile 1.2 (Q3, 2017) MicroProfile 2.0 (Q4, 2017) Releases
  • 10. MicroProfile Roadmap (Under Review) MicroProfile 1.1 (Q2, 2017) MicroProfile 1.2 (Q3, 2017) MicroProfile 2.0 (Q4, 2017) Releases Feature Backlog Configuration Baseline Fault Tolerance Fault Tolerance w/event streams JWT Security Token Exchange Health Check Monitoring OpenTracing CDI 2.0 JAX-RS 2.1 JSON-P 1.1 JSON-B 1.0(?)
  • 11. MicroProfile Roadmap (Under Review) MicroProfile 1.1 (Q2, 2017) MicroProfile 1.2 (Q3, 2017) MicroProfile 2.0 (Q4, 2017) Releases Feature Backlog Configuration Baseline Fault Tolerance Fault Tolerance w/event streams JWT Security Token Exchange Health Check Monitoring OpenTracing CDI 2.0 JAX-RS 2.1 JSON-P 1.1 JSON-B 1.0(?) Decided
  • 12. Practical Usage of MicroProfile 3rd Party Frameworks
  • 13. Collaboration ● Discussions via Google Group ● Reach consensus, no “single power” ● Ideas, thoughts, views all welcome
  • 14. Spec Proposal Process ● All proposals are submitted via Pull Request to a GitHub repository ○ https://github.com/eclipse/microprofile-evolution-process ● Recommend initial discussion on Google Group prior to PR ○ General view on proposal and interest
  • 15. Spec Proposal Process ● Submit PR following template ○ https://github.com/eclipse/microprofile-evolution-process/blob/master/0000-template.md ● Don’t need to provide example APIs ● Define use cases that motivated the proposal ● Outline possible solution ideas, if applicable ○ Don’t need full solution to submit proposal
  • 16. Spec Proposal Process ● Follow up with Google Group thread announcing PR has been made ● Various discussions will happen within the Pull Request ● Author of Pull Request needs to: ○ Reflect consensus view of feedback into updates of the proposal ○ Provide reasoning as to why a suggestion may not be applicable
  • 17. Spec Proposal Process ● Depending on voracity of discussion, PR may remain open for a couple of weeks or month(s) ● When reasonable consensus reached ○ PR is merged ○ GitHub repository for proposal created in Eclipse organization ○ Work on specification document, APIs, and testsuite (TCK) commences
  • 18. How To Get Involved? ● Google Group for discussions ○ https://groups.google.com/forum/#!forum/microprofile ● Eclipse MicroProfile ○ https://projects.eclipse.org/proposals/eclipse-microprofile ● MicroProfile site ○ http://microprofile.io/
  • 19. Java Microservices Book ● Recently released into MEAP ● Uses WildFly Swarm ● 39% discount on all Manning books with code: ctwrhsummit17 https://www.manning.com/books/java-microservices-in-action
  • 21.
  • 24. Configuration API Get all the configuration properties that are visible: @Inject Config config;
  • 25. Configuration API Get specific property value (static): @Inject @ConfigProperty(name = “myProp”, defaultValue = “defValue”) String myProperty;
  • 26. Configuration API Get specific property value (dynamic): @Inject @ConfigProperty(name = “myProp”, defaultValue = “defValue”) Provider<String> myProperty; String getValue() { myProperty.get(); }
  • 27. Changing Definition of “Platform” May remove from this particular slide deck