MicroProfile value proposition
For customers who trust Enterprise Java to run their production workloads, Eclipse MicroProfile provides customers with a vendor-neutral specification for Enterprise Java microservices. Eclipse MicroProfile enables them to better fulfill the needs of the business via improved agility and scalability, faster time-to-market, higher development productivity, easier debugging and maintenance, and continuous integration and continuous deployment.
The benefits customers get by using Eclipse MicroProfile are the same benefits gained by using microservices. In general, according to Martin Fowler, a respected software developer, author, and speaker, microservices provide the following benefits (https://martinfowler.com/articles/microservice-trade-offs.html):
- Strong module boundaries: Microservices reinforce modular structure, which is particularly important for larger teams.
- Independent deployment: Simple services are easier to deploy and, since they are autonomous, they are less likely to cause system failures when things go wrong.
- Technology diversity: With microservices, you can mix multiple languages, development frameworks, and data storage technologies.
In addition to the general benefits of microservices, Eclipse MicroProfile specifically provides the following:
- The benefits of community collaboration: Eclipse MicroProfile is an open source project run by the community. No single vendor controls or determines the evolution and maturation of the specification.
- Freedom of choice of implementation: Many vendors have implemented Eclipse MicroProfile as part of their software stacks and customers have the option to select whichever implementation is the most appropriate for their environment.
- Faster evolution: Since Eclipse MicroProfile is an innovation project, new and improved functionality is delivered frequently in time-boxed releases. This allows developers and customers to have these at their fingertips and start leveraging updates in their projects sooner rather than later.
- Based on decades of experience: Not only do the specification's subject-matter experts bring with them a vast wealth of experience, expertise, and knowledge, but Eclipse MicroProfile also leverages market-tested and production-proven capabilities in the Java EE APIs that it builds upon, offering maturity to developers.
- Familiarity with Enterprise Java: Eclipse MicroProfile builds upon familiar Enterprise Java constructs, making it easy for Enterprise Java developers to adopt.
- No retraining needed: Your existing Enterprise Java developers will find Eclipse MicroProfile to be a natural progression of their expertise. There is little to no learning curve. They will be able to leverage their skills.
- Interoperability: The different MicroProfile implementations are interoperable, with each one providing users with the freedom to select one, or combine many, MicroProfile implementations in an application.
- Multiple ways to use the APIs: Eclipse MicroProfile APIs provide easy-to-use interfaces, such as CDI-based, programmatic, command-line, and file-based (configuration-based) interfaces.
- A thorough set of artifacts: Each API includes a Test Compatibility Kit (TCK), Javadoc, PDF document for download, API Maven artifact coordinates, Git tags, and downloads (specification and source code).
- Many other benefits that are particular to each API. These are discussed in each Eclipse MicroProfile sub-project section throughout this book.