• 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
  • Ron McLeod
  • Paul Clapham
  • Tim Cooke
  • Devaka Cooray
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
Bartenders:
  • Carey Brown
  • Roland Mueller

What is MicroProfile?

 
Marshal
Posts: 5559
326
IntelliJ IDE Python 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: 5559
326
IntelliJ IDE Python 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.
 
Rancher
Posts: 666
10
Android 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
Rancher
Posts: 666
10
Android 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
 
You can thank my dental hygienist for my untimely aliveness. So tiny:
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic