Hi Manfred,
Full Profile has always depended on Web Profile, that has not changed.
Why do we need this? The problem with Core profile specifically is the conflicts that arise between different versions included with Jakarta EE and MicroProfile, and there is no “clean” way to resolve this unless Web Profile depends on Core Profile. Well, there is one way… MicroProfile stops depending on Core profile and depends on individual SPECs instead.
However, this brings up, again, cooperation between MP and EE groups. I would be more than happy to break the dependency if MP starts depending on individual SPECs instead of Core. Otherwise, Web / Full Profile and MicroProfile just don’t work together well.
All of this is a technical issue, not a philosophical one. On Mar 25, 2025, at 9:19 PM, Manfred Riem <m_riem@xxxxxxxxxxx> wrote:
Hi all, Why is this necessary? If you want a Core Profile runtime you have a set of specifications that you expect. And when you are using Web Profile you have another set of specifications that you expect and there is no reason for those specifications to have to include all the same that Core Profile contains. Now a vendor might or might deliver a runtime for either. And IF the vendor decides to support all of it in one runtime that is up to them. And imagine if we would argue this one out even further for #2 as Lenny mentioned below. Why is the full platform not dependent on Web Profile? And to make matters worse now I want an AI profile. Where will that fit in? Keeping them separate seems a prudent course of action to me. Manfred Riem “Have you prompted your prompt today?” PS. This is my personal perspective Reza/Ed speak for Microsoft. From: jakartaee-platform-dev <jakartaee-platform-dev-bounces@xxxxxxxxxxx> On Behalf Of lenny--- via jakartaee-platform-dev Sent: Tuesday, March 25, 2025 8:40 PM To: jakartaee-platform developer discussions <jakartaee-platform-dev@xxxxxxxxxxx> Cc: lenny@xxxxxxxxxxxxx; Jakarta EE community discussions <jakarta.ee-community@xxxxxxxxxxx>; Jakarta specification discussions <jakarta.ee-spec@xxxxxxxxxxx> Subject: Re: [jakartaee-platform-dev] Sanity Check - Making Core Profile a Dependency of Web Profile Hi, Reza, Thank you for bringing up this discussion, it’s yet another reason why Jakarta EE and MicroProfile should live under the same umbrella. This issue was brought up 2 years ago because Jakarta EE 10 was “not playing nice” with MicroProfile. When I proposed that web profile have a dependency on core profile, Scott Stark rightfully brought There was much discussion about this that followed. and was resolved that the relationship between Web and Core profile via maven dependency would no longer be an issue. If this was “not enough” / not voted / process not followed / etc. I apologize, as I figured that with Scott’s and Ed’s buy-in, this would be ok. Even before this happened, the reality was that Web Profile was very much dependent on Core Profile already, via the “hard” Javadoc dependency, for example. This was just not as evident because there was no “direct” dependency. However, there was no way to separately evolve Core profile even before this happened anyway. Currently, Core profile can freely evolve separately just by putting Maven “optional” tag on any new SPECs introduced, as this will prevent it to be included transitively by the Web profile. From what I can see, there is a choice to be made here. 1) Remove dependency on Core profile. What this implies, however, is that every application that uses Jakarta EE Web / Full Profiles and MicroProfile together would have to go through all the maven gymnastics to make sure every spec they need is correctly included in their application, making this combination hard to use and get right. 2) Leave things as they are. Evolve Core profile by using maven <optional> tag in dependencies to exclude them from flowing into Web / Full profile Document that dependency on Core profile is technical in nature. My preference would obviously be #2 because I personally use Jakarta EE Full and MicroProfile together, and this is why the issue came up in the first place, after days of debugging to figure out why things weren’t working as they should. Hello folks,
Today in the Jakarta EE Steering Committee meeting, I came to learn that a Core Profile dependency was added to the Web Profile Maven POM. I am unconvinced this was done through adequate deliberation and consensus (that is, votes to support a truly majority stakeholder decision). More than anything else, I want to ensure that in fact has happened or happens soon.
Adding a Core Profile Maven dependency for Web Profile is problematic for the following reasons:
* Strictly from a specification perspective (please read the actual specification to verify this), Core and Web are separate profiles targeted to separate domains. The Web Profile is geared to web applications while the Core Profile is geared towards microservices. Neither profile refer to each other and can freely evolve to meet the needs of their respective target use cases.
* While from a specification perspective no such dependency actually exists, the Maven POM will give end users the impression that there is such a concrete dependency. Moreover, users will effectively have this dependency chain in their applications and may even come to rely on it.
* If the Core and Web Profiles do evolve separately (for example by adding or removing APIs), this dependency chain will get in the way, will no longer work, or will require awkward Maven gymnastics to make work. All it would take is needing separate out-of-sync releases of these profiles for things to break.
* It risks reinforcing an impression that passing the Web Profile TCK means also passing the Core Profile TCK. This is not the case and you need to in fact go through separate certifications for each profile.
I think the best solution is to not introduce this dependency at all, get back to properly separated Core and Web profiles just as the actual specification reflects, and proceed with the Web Profile release. If this must be done and there is proper consensus, it should be done by updating the Web Profile specification to explicitly reference the Core Profile specification. The Core Profile specification should be updated to evidently serve as a "base" Jakarta EE profile in addition to serving it's currently identified domain.
I understand everybody is working hard to get releases out and everyone has the best of intentions. However, I feel these things need to be carried out with the weight that Jakarta EE has in the Java ecosystem. I want to make sure that's actually the case. I hope that is understandable.
Thanks,
Reza
P.S: I have already discussed this matter with Ed before commencing this communication in case you are wondering.
_______________________________________________ jakartaee-platform-dev mailing list jakartaee-platform-dev@xxxxxxxxxxx To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev
|