• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Ron McLeod
  • Jeanne Boyarsky
Sheriffs:
  • Paul Clapham
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

What is MicroProfile?

 
Marshal
Posts: 6039
432
IntelliJ IDE Python TypeScript Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I'm going to expose my ignorance here, but what the heck! I've never heard of MicroProfile, in a nutshell what is it?

Cheers, Tim
 
Author
Posts: 7
6
MicroProfile Java
  • Likes 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Short answer: it's like Java EE's baby brother.

Longer answer: After Java EE 8, it seemed like Oracle had basically given up on Enterprise Java.  Other frameworks (like Spring) were continuing to innovate and build more cloud-native features, while Java EE stagnated. To correct this, a few companies (IBM, RedHat, Tomitribe, Payara, and probably others that I am forgetting...) got together to create a "Micro" profile (Java EE has the concept of "full" profile and "web" profile) - so the idea was that this would be the minimum set of technologies necessary to build modern cloud-native services.  At first it just included EE technologies (JAX-RS, CDI and JSON-B/JSON-P).  But then it started creating its own technologies.  These include: MP Health, JWT Propagation, Metrics, Fault Tolerance, Config, Rest Client, OpenAPI and Open Tracing.  So, much like Java (now Jakarta) EE, when you deploy to a MP-compliant framework (like Open Liberty[1], Wildfly[2], Payara[3], or TomEE[4]) your application can take advantage of these APIs and features.

There are also some standalone MP technologies that are not part of the "profile" but many vendors have chosen to implement - they include: MP GraphQL, LRA (long running actions - basically a cloud-native transaction spec), Context Propagation, Reactive Streams Operators and Reactive Messaging.  

In general, MicroProfile works quite well with other Jakarta EE technologies.  For example, a colleague and I wrote a sample[5] and presentation[6] on using MP GraphQL with JPA.  

If you'd like more information, I'd suggest checking out the MP home page[7] - which has links to presentations about the overall and individual projects, how to use it, what other vendors are involved, how to get involved, etc.

[1] https://openliberty.io/
[2] https://www.wildfly.org/
[3] https://www.payara.fish/solutions/eclipse-microprofile-and-the-payara-platform/
[4] https://tomee.apache.org/
[5] https://github.com/OpenLiberty/sample-graphql-jpa
[6] https://www.youtube.com/watch?v=RzrkjuA3LvU
[7] https://microprofile.io/
 
Tim Cooke
Marshal
Posts: 6039
432
IntelliJ IDE Python TypeScript Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It's a lot clearer in my mind now. Thanks.
 
Master Rancher
Posts: 700
10
Android VSCode Flutter Tomcat Server Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Sounds like MicroProfile frameworks  is a bit similar with Spring Boot,  but we can do everything in MicroProfile that can do in Spring Boot?
 
Andy McCright
Author
Posts: 7
6
MicroProfile Java
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
There's definitely some overlap.  I'm not a Spring expert, so I can't say that all features in one are in the other. I have done some research into things like JAX-RS vs Spring MVC REST: my take is that they can both do effectively the same thing. I personally like JAX-RS better, but I've worked with JAX-RS longer so I know more of the best practices.  Spring is pretty great too.

One thing that I'd mention is that you can mix and match Spring with MicroProfile (and Jakarta EE).  For example, Open Liberty has a guide[1] for deploying a Spring Boot app - that would enable you to pick and choose from all of the APIs to find the one that best suits your needs.

[1] https://openliberty.io/guides/spring-boot.html
 
Author
Posts: 10
5
  • Likes 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Randy Tong wrote:Sounds like MicroProfile frameworks  is a bit similar with Spring Boot,  but we can do everything in MicroProfile that can do in Spring Boot?


I wrote a blog on comparising MicroProfile with Spring. It provides a side by side comparison https://www.eclipse.org/community/eclipse_newsletter/2019/september/microprofile.php.
 
Randy Tong
Master Rancher
Posts: 700
10
Android VSCode Flutter Tomcat Server Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the clear explanation, Andy and Emily
 
It's feeding time! Give me the food you were going to give to this tiny ad:
Clean our rivers and oceans from home
https://www.kickstarter.com/projects/paulwheaton/willow-feeders
reply
    Bookmark Topic Watch Topic
  • New Topic