jakartaee / collateral

Jakarta EE collateral
4 stars 9 forks source link

Beyond Jakarta EE 11 - Jakarta EE Working Group meeting September 26th, 2023 #80

Open TanjaObradovic opened 1 year ago

TanjaObradovic commented 1 year ago

Please provide your ideas, requests, input on the presentation about "Beyond Jakarta EE 11". The presentation can be viewed at https://drive.google.com/drive/folders/1Mp7AaRsFNUggZwSHKxhDbIcOSqudRKW0

m-reza-rahman commented 1 year ago

The Jakarta EE Ambassadors Contribution Guide has a number of long-pending changes already identified for some time: https://jakartaee-ambassadors.io/guide-to-contributing-to-jakarta-ee-11/. Unfortunately it does not look like everything will be addressed in EE 11. Is this of value? If so, how may I best help getting these incorporated?

TanjaObradovic commented 1 year ago

@m-reza-rahman per our conversation, as Ed and you are regularly involved in the work of the Steering Committee, Marketing Committee, Platform Team call and Specification call, please feel free to raise these topics there as well for the above questions. I strongly believe this would be best way to get fast feedback from the teams and strategic, marketing, technical and process suggestions respectively.

m-reza-rahman commented 1 year ago

OK. @edburns is currently performing a gap analysis with the Contributor Guide towards this end. I think most if not all the work is still unfortunately on the technical end of things. What's not I am personally already trying to move forward on my own time. Regardless, we will try to record the top 5-10 gaps here. It may be useful for others?

TanjaObradovic commented 1 year ago

I would think so! Let's share with others and see! Thanks Reza!!

m-reza-rahman commented 1 year ago

Here are the top 10 items that remain gaps, roughly in priority order. The text is basically a copy from the Contributor Guide, so more context can be found there. Let me know if adding more detail here is productive.

  1. Define how to inject and use EntityManager in a thread safe way outside of EJB in plain CDI beans, especially using the @Transactional annotation.
  2. Providing CDI-friendly, modernized equivalents for @RolesAllowed and @RunAs.
  3. Adding CDI-friendly equivalents for @Schedule and @Lock.
  4. Adding a @MaxConcurrency annotation.
  5. Introduce a @Service CDI stereotype that seeks to provide similar capabilities to EJB @Stateless.
  6. Provide CDI-friendly equivalents for MDB.
  7. Introducing JMS Lite geared towards cloud native use cases.
  8. Make persistence.xml optional/an empty marker in Jakarta EE applications.
  9. Add a Java batch job definition API as an alternative to XML.
  10. Support JCache as a second-level cache provider for Persistence.
edburns commented 11 months ago

Since it was called IBM San Francisco Project, Jakarta EE has only focused on the API aspect of the enterprise software development lifecycle. Operational and runtime concerns (app packaging, deployment, rolling updates, software supply chain management, change management) were left up to the implementors and vendors. Microsoft has found that customers get much more hung up on those kinds of concerns than on anything to do with the actual API modernizing their Java workloads. Perhaps Jakarta EE can more actively partner with the standards bodies that address those kinds of concerns to ensure that Jakarta EE plays well with them.

Specifically, consider the WAR/EAR. Spring has long had executable JAR as a deployment format. Perhaps we can consider adding this to the core profile, with REST as the foundation (instead of Servlet). Yes, I'm aware that booty duke does have this already.