This document discusses optimizing Enterprise Java applications for microservices architectures. It provides background on the evolution of Java EE standards over time and fundamental shifts in computing like cloud, microservices, and containerization. It then introduces MicroProfile as an effort to leverage existing Java EE technologies for microservices while allowing for innovation. MicroProfile aims to standardize common practices through rapid iteration, with a focus on vendor choice, implementation choice, application portability, and broad collaboration within the community.
2. Enterprise Java Standards History
J2EE 1.2 J2EE 1.3 J2EE 1.4 Java EE 5 Java EE 6 Java EE 7 Java EE 8
2000 2005 2010 2015 2020
Release
Cadence
3. Fundamental Shifts in Computing
● Deliver new features more quickly
● Smaller, more agile teams
● Deliver business features as discrete services
● Scale services independently
● Reduce time to market
● Address unpredictable loads
● Pay as you go
● Containerization
Cloud
Microservices
4. MicroProfile Background
● Began as a collection of independent discussions
○ 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
● Quickly realized there is common ground
● Java EE technologies are already being used for microservices,
but we can do better