Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[jakarta.ee-spec] DISCUSS: resolve matter CoreProfileWebProfile (was: Re: [EXTERNAL] Re: [jakartaee-platform-dev] Sanity Check - Making Core Profile a Dependency of Web Profile)
  • From: Ed Burns <Edward.Burns@xxxxxxxxxxxxx>
  • Date: Wed, 26 Mar 2025 10:11:09 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=NAzRpUtT+n+XlAdAyVt1A/B4kXixIE9wvrNjEVG1KQc=; b=fkXcPG3RW948DY9Ao5zS6Zd5/M4+r+hYKgVzn0K8sFMH1ghcLgEYwHpgo4N8VJs8J1geCz9/rfoJYZdZXHRoHPEeawgxSYMvO8TtbBsbYN8Wr4ixKCk0VoY4m6XYvoN/2JEgCN0eexHlsanJzguKKmx+ScUYLOdDPW4eG3dduxDrODg5qtuGVr54p3rg76hG4dw1Zau99akxa/PCiEadHNs3t2I9XOyjNM/ngmtgNc9DWD/wBQ4V/3Nm2qA7Kun/OOzmzG9pg5mIjIaItKWWONoqtgEu5QEHMDYiaeejaM0iv7yJNeHFBEX/JuIDDnZhtneBZ5o2g6JGCUARHoDDiQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BtJbiLoIRK6Vdt6fGbfTFw+esEgkLybAfmvyrCrxQUV6vniLclLapn5LUETrmLKx1u2eTzrNT77GFGjCR4+uGcC22rZSpINY6ii6Y5nFd7PTJTofed/cW1Wugo62HD7UcmEbgSac01K0TRp4i6hSBBgyDE92RbASG4ZuXoSXbNR+oQ6qdjX3fCC+nrcOtH2weYu2M/wN1Qy75VRuhtEzM32IY+ux1LGJykzwMMxodXiQgTT7zXF/++nAY25oSosV57N2gQqyvPv4IE5M/rYf9ne6Y0FJzdjHY5lPcWumYpYCJ5c7s0E632VKZ+gy0gnNAKWrStKYQopRBgi3yXxCWw==
  • Delivered-to: jakarta.ee-spec@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/jakarta.ee-spec/>
  • List-help: <mailto:jakarta.ee-spec-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec>, <mailto:jakarta.ee-spec-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/jakarta.ee-spec>, <mailto:jakarta.ee-spec-request@eclipse.org?subject=unsubscribe>
  • Msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=True; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2025-03-26T09:33:02.9255305Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard
  • Thread-index: AQHbnjdaDyB7svxS5U2WeyxNyC2MLw==
  • Thread-topic: DISCUSS: resolve matter CoreProfileWebProfile (was: Re: [EXTERNAL] Re: [jakartaee-platform-dev] Sanity Check - Making Core Profile a Dependency of Web Profile)

Thanks Reza for being a true guardian of Jakarta EE.

Considering the Web Profile ballot is currently underway and we are actively pushing for it to successfully close as soon as possible with an APPROVED result, we must urgently determine the impact of this matter (CoreProfileWebProfile for discussion) on the ballot. 

Let me restate my understanding of the plan of record for the Platform Profile (incorrectly referred to as the "Full" profile) and the Web Profile for EE 11.
  1. [Happening right now] Deliver all necessary artifacts to start and approve the ballot for EE 11 Web Profile.
    1. Spec -- Web Profile ballot satisfaction version
    2. API jar -- Web Profile ballot satisfaction version
    3. Platform Profile TCK -- Web Profile ballot satisfaction version
    4. Ratifying compatible implementations
      1. GlassFish 8 on 17
      2. GlassFish 8 on 21
  2. [Happening after APPROVED for 1.] Continue to resolve matters for the Platform Profile TCK -- Platform Profile ballot satisfaction version.
  3. [Happening after 2.] Create all necessary artifacts to start and approve the ballot for EE 11 Platform Profile.
    1. Spec -- Platform Profile ballot satisfaction version
    2. API jar -- Platform Profile ballot satisfaction version
    3. Platform Profile TCK -- Platform Profile ballot satisfaction version
    4. Ratifying compatible implementations
      1. GlassFish 8 on 17
      2. GlassFish 8 on 21
Here is the current state of artifact 1.b:

--- dependency:3.6.0:tree (default-cli) @ jakarta.jakartaee-web-api ---
[INFO] jakarta.platform:jakarta.jakartaee-web-api:jar:11.0.0-SNAPSHOT
[INFO] +- jakarta.platform:jakarta.jakartaee-core-api:jar:11.0.0-SNAPSHOT:compile
[INFO] |  +- jakarta.ws.rs:jakarta.ws.rs-api:jar:4.0.0:compile
[INFO] |  +- jakarta.json:jakarta.json-api:jar:2.1.3:compile
[INFO] |  +- jakarta.json.bind:jakarta.json.bind-api:jar:3.0.1:compile
[INFO] |  +- jakarta.annotation:jakarta.annotation-api:jar:3.0.0:compile
[INFO] |  +- jakarta.interceptor:jakarta.interceptor-api:jar:2.2.0:compile
[INFO] |  +- jakarta.enterprise:jakarta.enterprise.cdi-api:jar:4.1.0:compile
[INFO] |  +- jakarta.inject:jakarta.inject-api:jar:2.0.1:compile
[INFO] |  \- jakarta.enterprise:jakarta.enterprise.lang-model:jar:4.1.0:compile
[INFO] +- jakarta.servlet:jakarta.servlet-api:jar:6.1.0:compile
[INFO] +- jakarta.servlet.jsp:jakarta.servlet.jsp-api:jar:4.0.0:compile
[INFO] +- jakarta.data:jakarta.data-api:jar:1.0.1:compile
[INFO] +- jakarta.enterprise:jakarta.enterprise.cdi-el-api:jar:4.1.0:compile
[INFO] +- jakarta.el:jakarta.el-api:jar:6.0.1:compile
[INFO] +- jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:jar:3.0.2:compile
[INFO] +- jakarta.faces:jakarta.faces-api:jar:4.1.2:compile
[INFO] +- jakarta.websocket:jakarta.websocket-api:jar:2.2.0:compile
[INFO] +- jakarta.websocket:jakarta.websocket-client-api:jar:2.2.0:compile
[INFO] +- jakarta.ejb:jakarta.ejb-api:jar:4.0.1:compile
[INFO] +- jakarta.transaction:jakarta.transaction-api:jar:2.0.1:compile
[INFO] +- jakarta.persistence:jakarta.persistence-api:jar:3.2.0:compile
[INFO] +- jakarta.validation:jakarta.validation-api:jar:3.1.1:compile
[INFO] +- jakarta.authentication:jakarta.authentication-api:jar:3.1.0:compile
[INFO] +- jakarta.security.enterprise:jakarta.security.enterprise-api:jar:4.0.0:compile
[INFO] +- jakarta.enterprise.concurrent:jakarta.enterprise.concurrent-api:jar:3.1.1:compile
[INFO] \- org.glassfish:jakarta.faces:jar:4.1.2:provided
[INFO] ------------------------------------------------------------------------

QUESTION: is it possible for us to defer concrete action on CoreProfileWebProfile until we reach step 2 above? Here is one reason where I hope we can defer concrete action until we reach step 2:
  • The set of artifacts we are producing for 1. is disjoint from the set of artifacts we are producing for 3.​
I create this discussion thread for the purpose of answering the above question.

Thanks,

Ed
Jakarta EE release co-coordinator.


From: jakartaee-platform-dev <jakartaee-platform-dev-bounces@xxxxxxxxxxx> on behalf of lenny--- via jakartaee-platform-dev <jakartaee-platform-dev@xxxxxxxxxxx>
Date: Wednesday, March 26, 2025 at 05:28
To: jakartaee-platform developer discussions <jakartaee-platform-dev@xxxxxxxxxxx>
Cc: lenny@xxxxxxxxxxxxx <lenny@xxxxxxxxxxxxx>, Jakarta EE community discussions <jakarta.ee-community@xxxxxxxxxxx>, Jakarta specification discussions <jakarta.ee-spec@xxxxxxxxxxx>
Subject: [EXTERNAL] Re: [jakartaee-platform-dev] Sanity Check - Making Core Profile a Dependency of Web Profile

Totally agree, Reza, thank you for the link as well.

Just FYI, Manfred, you are right about Full / Web Profile dependency, only it was before Jakarta EE 10.
Prior to EE 10, there were no dependencies between profiles, however, since 10, Full profile depends on Web profile.

However, that “older” model had it’s own big challenges, being inflexible and rigid, but I digress :)

On Mar 25, 2025, at 11:22 PM, Reza Rahman via jakartaee-platform-dev <jakartaee-platform-dev@xxxxxxxxxxx> wrote:

All of this is properly solved once “Micro Profile” moves to the platform where it rightfully belongs. No weird band aids necessary to try to solve a compound fracture.
 

From: Manfred Riem <m_riem@xxxxxxxxxxx>
Sent: Wednesday, March 26, 2025 12:14 AM
To: jakartaee-platform developer discussions <jakartaee-platform-dev@xxxxxxxxxxx>; Jakarta specification discussions <jakarta.ee-spec@xxxxxxxxxxx>
Cc: Reza Rahman <reza_rahman@xxxxxxxx>; Jakarta EE community discussions <jakarta.ee-community@xxxxxxxxxxx>
Subject: RE: [jakartaee-platform-dev] Sanity Check - Making Core Profile a Dependency of Web Profile
 
Hi,

Reza, thank you for the link.

It is easy to forget to keep these guidelines front and center.

I think the whole integration of all these things whether it is Core Profile, Web Profile, MicroProfile, CDI Lite, Servlet, Jakarta REST, JCA, or JCA or the entire Platform, it is a lot trickier than people realize. Why did we have Managed Beans and CDI, why do we have similar annotations here and there, why can't you just use MicroProfile in a Web Profile runtime without gotchas or any of the MicroProfile specifications separately? Well, integration is hard. And I know as I am still on what has proven to be an extremely long road with the Piranha project to certify against the Core Profile let alone the Web Profile or even the full platform.

It is from that perspective I would implore folks to take a step back and look at the larger picture here. In the end a developer does not care about this profile, that platform, that specification or whatever.

What they care about is being able to use it without hassle and gotchas and if anything puts that at risk we should think twice about it.

In closing I want to call out that historically we shipped separate API jars and documentation for the platform and Web Profile and there was no Maven dependency between the two. So, from that perspective I fail to see why Core Profile should be any different.

Manfred Riem
"Have you prompted your prompt today?"

-----Original Message-----
From: jakartaee-platform-dev <jakartaee-platform-dev-bounces@xxxxxxxxxxx> On Behalf Of Reza Rahman via jakartaee-platform-dev
Sent: Tuesday, March 25, 2025 10:34 PM
To: jakartaee-platform developer discussions <jakartaee-platform-dev@xxxxxxxxxxx>; Jakarta specification discussions <jakarta.ee-spec@xxxxxxxxxxx>
Cc: Reza Rahman <reza_rahman@xxxxxxxx>; Jakarta EE community discussions <jakarta.ee-community@xxxxxxxxxxx>
Subject: Re: [jakartaee-platform-dev] Sanity Check - Making Core Profile a Dependency of Web Profile

This brief follow-up is not aimed at anyone in particular but rather a general attempt to try to potentially better inform anyone interested in this discussion. It is helpful to carefully read the Profiles section in the Jakarta EE specification:
https://jakarta.ee/specifications/platform/11/jakarta-platform-spec-11.0-m5#a3212.
The reason I am familiar with this content is because I helped formulate this as part of the Java EE 6 expert group so many years ago. I understand this all seems pedantic to some, but this is the nature of open specifications as opposed to just open source. The accuracy, reliability, and integrity of what is in these documents matters.

On 3/25/2025 7:38 PM, Reza Rahman wrote:
> 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
_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev


Back to the top