Three Steps to List Jakarta EE-Compatible Implementations
As most Jakarta EE developers are likely already aware, the concept of a single reference implementation (RI) to prove a specification can be implemented doesn’t exist in Jakarta EE. The Jakarta EE Specification Process (JESP) mandates there must be at least one compatible implementation (CI), but preferably as many as possible.
However, some developers may not realize how easy it is to have a Jakarta EE-compatible implementation listed on a specification page. Here are the high-level steps:
- Pass the technology compatibility kit (TCK) tests and publish the results.
- File a certification request.
- Submit a pull request (PR) to have your implementation listed.
And here’s a closer look at each step. We’re investigating ways to further simplify the process by automating some steps, but this is the process today.
1. Pass the TCK Tests and Publish the Results
Your software must pass the TCK tests for the specification you implement. The TCK can be downloaded from the specification page and is unique for each version of the specification (Figure 1). You can access the Jakarta EE specification pages here.
Figure 1: TCK Location Example
The next step is to publish the TCK test results. This is the heart of self-certification. Because you run the TCK tests and publish the results yourself, you don’t have to rely on others to run the tests for you. When you publish the results, you’re taking responsibility for their correctness.
For examples of how to publish TCK test results, check the results for the following:
- Eclipse Yasson 2.0.0, which implements Jakarta JSON Binding 2.0
- Weld 4.0.0, which implements Jakarta Contexts and Dependency Injection (CDI) 3.0
- Eclipse Krazo 2.0.0, which implements Jakarta MVC 2.0
- Eclipse Jetty 11.0.1, which implements Jakarta Servlet 5.0
After publishing the TCK test results, send an email to tck@eclipse.org to make the Eclipse Foundation aware your software has passed the TCK tests.
2. File a Certification Request
The next step is to file a certification request in the Jakarta EE specification’s issue tracker.
A certification request must follow the template shown in Figure 2, and linked here, to provide the necessary information.
Figure 2: Certification Request Template
When a specification team receives a certification request, they verify the contents of the request, then add the certification label. For examples of certification requests, see:
3. Submit a PR to Have Your Compatible Implementation Listed
When the certification request has been approved, submit a PR to the specifications repository and add your implementation to the list of compatible implementations for the specification.
To add your implementation, update the _index.md file in the version sub-directory of the specification you’re implementing. For example, to add a new compatible implementation called OpenKangaroo 1.0.0 to the Jakarta Wombat specification, follow the format shown in the last line of Figure 3, marked with a +.
Figure 3: Compatible Implementation List Addition Example
Get More Information
For a list of compatible implementations and the Jakarta EE compatible product they are included in, see Arjan Tijms’ list of implementation components used by Jakarta EE servers.
If you have any questions about the process, don’t hesitate to reach out to the Jakarta EE community through the Jakarta EE mailing lists.
About the Author
