Frequently Asked Questions

What is the MicroProfile?

Developers have a tremendous amount of Java EE and general Enterprise Java knowledge and skill that they want to leverage as they evaluate the adoption of a cloud-native architecture. The MicroProfile is a baseline platform definition that optimizes Enterprise Java for a microservices architecture and delivers application portability across multiple MicroProfile runtimes. The initially planned baseline is JAX-RS + CDI + JSON-P, with the intent of community having an active role in the MicroProfile definition and roadmap.

JAX-RS + CDI + JSON-P sounds a lot like Java EE. Isn’t Java EE too “heavy” for Microservices?

With a decade of investment and optimizations, Java EE implementations as a whole have become very efficient, as have the individual technologies (JSRs) that make up Java EE. For example, a typical Java EE application server boots in seconds.

Java EE is a very feature rich platform and is like a toolbox that can be used to address a wide variety of application architectures. In fact, we expect Java EE to continue to be quite popular for many types of applications. The MicroProfile is looking to utilize some of the existing tools (JAX-RS, CDI, JSON-P for example), and combine them with new ones to create a baseline platform optimized for a microservice architecture.

How does MicroProfile compare with other community efforts to move Java EE forward?

The Java EE community is working hard to move forward on Java EE 8 and many participating in the MicroProfile are not only members of the Java EE community, but also on Java EE 8 related expert groups or lead JSRs. The MicroProfile is aimed at spurring innovation that may result in future a standard, but at the moment requires a faster rate of change than the intentionally measured pace of a standards process. Because the MicroProfile does leverage some work done in the Java EE space, we expect many to participate in both Java EE and the MicroProfile efforts. MicroProfile participation is open to any community, company, group or individual.

Why do we need a MicroProfile? Can’t we already use Java EE, for example, to develop Microservices?

The community has been using Enterprise Java technologies like Java EE within a microservices architecture for quite a while now, and in innovative ways! This innovation has resulted in multiple different approaches, both in product implementations and design patterns. Community members will continue to innovate independently, but the MicroProfile allows collaboration where there is a commonality. By leveraging commonality to define a baseline platform, developers will have a degree of application portability with multiple implementations to choose from.

Are you trying to create a new standard?

Standards are great when you need interoperability or a stable foundation to build on, and can take years to finalize. The MicroProfile approach allows vendors, the community, and open source projects continue to innovate while collaborating where there is a commonality. This will occur at a much faster pace than a standard. When there is enough stability and functionality in areas of commonality, the result may be considered for standardization.

Help optimize Enterprise Java for a microservices architecture.

Join the MicroProfile Google Group, peruse recent topics or create your own, and join in on the conversation. It's that easy!