Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakarta.ee-community] DISCUSS: resolve matter CoreProfileWebProfile
  • From: Reza Rahman <reza_rahman@xxxxxxxx>
  • Date: Wed, 26 Mar 2025 16:56:27 -0400
  • Delivered-to: jakarta.ee-community@xxxxxxxxxxx
  • List-archive: <https://www.eclipse.org/mailman/private/jakarta.ee-community/>
  • List-help: <mailto:jakarta.ee-community-request@eclipse.org?subject=help>
  • List-subscribe: <https://www.eclipse.org/mailman/listinfo/jakarta.ee-community>, <mailto:jakarta.ee-community-request@eclipse.org?subject=subscribe>
  • List-unsubscribe: <https://www.eclipse.org/mailman/options/jakarta.ee-community>, <mailto:jakarta.ee-community-request@eclipse.org?subject=unsubscribe>
  • Ui-outboundreport: notjunk:1;M01:P0:YDM6lw90ISE=;xYiXzPSBcf7IwP+xirSWn/I6vt1 8hDOS/TO2KosC8xII0Xo1rMJg23kmQ45kk/vjEb2RPdQcaKZ9niMiz6Y+//61hXaRwrxfbDfU UPUAQLpWIeBEh6WmyaqRtKeIZRAybECGiA5bW1ipcbOk1W/uP0UO4dQ/jjSfiJGiRgfq+wHlo gEg3s3D50I9SJHY/JmICGjTFcbqeITUQELuPFkvZasVZKTIwVKZMKZv77KtmlXdAlb8TdhaIq pMggoc7JS6bN+wcpyZp8Nyp4Rdutv6hBjIP+4ypLpChK8J7PkF3CEj4XOg8CCa6ghi8IF/8ZA vv93qnDhN3SHH+3hJnJ9ORJuJZtY4sFuZroIEghPx0YaJzk7lDE30newe190nulxd4G4kc3Gs IWBhz+U0VbHYRACgeH8iJOJw0WQQeuBAcrF6q2karQu7UQBvy6/QxBLeN7t/LytOBDlneFTI/ GtgEnEAUs0PyfM5h5sIJOFaQNIITdr0W2e6YZX0cVYJk5tJKEwDYG+EZJkoOsSsJbkXBMTbJK IZIn9D/8Nptqc9AJiTpZ/sbn6PIiN3Uv9Il7eJu0ReTwv28FNkV2rKWVyDGT0nkzbmRxbiK0F zWsKTNVHYOLYMzO6g64j1Vg7PP+zoB3InmIeKG/AdttSxxb6OmppAh9aOpqrPZXmXr7IIdsuB 79DW+DD+njwdyvFyp1oMN+K7VMGVM4yUgOesdP/NJdSOv7ns6lVAu/8Msthb3yqdO8/NK8P0M zyph1zySjhQhLfKAJu5t3h6S0Z8ErZ03r/Y/7zOnscnlzvp87cL22LQldVMNtsba8gyzChV7X urRuSegWlRNiQsWk82DCYcprgdhSvoUo63YAKUfY3WPkv3wox4nkEM6krZr/IJCDRjkJdG/JI MyOb3loWji6+jjOzasflbIFTuazrn7Ge67gJiJQyQxX9T1dowLm9/PqefSXNDxUWSrKwPzT45 3k2sEq6vG9wJqLdfwePPQeGWPvIlIGzrDrT7wxQiS904R2tmwSQ+bPjMFU7dhNqZxyATc1zhE tikHSreA23JVIPWBortN/uryclAWKHw9SjXb0VPx6kKMPWHZMfo96oxR7l18METqVwm/xHYYu 19B1VOTolQsEHj1/J1FgjVeygEbf+tbTGzsY73tdXyzOBZ3xrTu7WdMaTeEhVjZk6vxA/xuz/ rpdTI1ymtn8V/B+Sysg4/s+yQZHvP7qwElY8oibvLDJM1fX6xN9pJO6ky9QMjdb6lKBghYoPp Rxs9f2gBNsHzgS3kr/EoC4Ntc/gvnl6MB4iDbkICkHKMj8OK3CZtgpDiLqar2nuM5B/+Er4/5 /wAMzPxyh5c0vHrWrNTF/eOQn1Wjb3wj0a09XZZuxN2KnevirK5pjHFTuOvnJoQgIwo+kLNzj bBHsNpPLIoVtl6GF40gdgT1rGuTCbAxMkOfckELDCQansuH44Lc0v8jdnAM2jW1gUbOqWxlep K9xJTvQaClJfCPTvSKMwl4ay0q0w=
  • User-agent: Mozilla Thunderbird

Very generous of you indeed! I am sure Ed is paying attention, I've
tagged him here anyway, and I will make sure he is aware.

First let's see where the consensus on this really lands. More than
anything else, that was my core aim here. In case Ed's proposal goes
through, I am sure your help will be very welcome. Even if it does not,
I am pretty sure we will be able to make great use of your time in one
way or the other!

On 3/26/2025 4:14 PM, lenny--- via jakartaee-platform-dev wrote:
Given this discussion, I’ve decided to re-test things as they stand today, as opposed to 2023.
Lots of things changed for the better.

My conclusion is that things work even better than I thought they would with the API changes as they are.

First of all, I am happy to say, we can go ahead and “decouple” the inter-profile dependencies as soon as MicroProfile is upgraded to Core 11.
I will even volunteer to do this, if necessary.
This will only minimally impact MicroProfile / EE integration as of Jakarta EE 11, and not in any way that matters.
Since Core Profile JAR in EE 11 is non-normative, the dependencies for both EE 11 and MicroProfile would work as expected.
This would work in either case, whether any profiles depend on each other, or not.

Since the introduction of EE BOM, the decoupling should be simple, DRY and not half-baked like it was in early 2023,
and would result in an even better, cleaner and compliant design than it is today.

The plan as Ed outlined it should work perfectly.

Thank you Reza for bringing this up again and thank all of you for your time and good discussion!

On Mar 26, 2025, at 2:15 PM, Scott Stark via jakartaee-platform-dev <jakartaee-platform-dev@xxxxxxxxxxx> wrote:

We do have the jakarta.platform:jakarta.jakartaee-bom. It is a list of
the normative component specification API artifacts for a given
platform version.

This should always be used in place of the non-normative
jakarta.platform:jakarta.jakartaee-*-api artifacts. The real normative
purpose of these artifacts is the production of a profile/platform
level set of javadocs.

Are you suggesting there should be profile level BOMs as well?

On Wed, Mar 26, 2025 at 4:33 AM Ivar Grimstad via
jakartaee-platform-dev <jakartaee-platform-dev@xxxxxxxxxxx> wrote:
Sorry for the cross-posting and intertwined threads. Here is my reply on the other list, or maybe on this one (I lost count)...

I would like to point out, as Ed Bratt did in the Steering Committee yesterday when this topic came up, that the API jar is NOT a normative artifact. It is a bi-product when the Javadoc and signature tests are generated, and distributed to Maven Central for convenience. Taking that into consideration, there is no need for any actions at this point.

It may be a good idea going forward that the Platform Project replaces the profile dependencies with explicit listings of the individual specifications. This will avoid confusion and be better aligned with the wording of the specification.

Ivar

On Wed, Mar 26, 2025 at 11:31 AM Reza Rahman via jakarta.ee-community <jakarta.ee-community@xxxxxxxxxxx> wrote:
This is where you will need a real process expert. Maybe Ivar? My old JCP understanding is that the Maven stuff is not actually strictly part of the spec (after all, we hope to outlive Maven/ANT/Gradle/whatever). You can finalize the spec and figure it out, as long as it is within a reasonable time and everyone knows what's going on. You could also potentially change it long after the spec release is done as long as it is not too crazy of a change from a strictly spec perspective (and I bet most people won't even notice a quiet switch since this is a new thing anyway).

The old mess of how the platform spec and profiles in Maven was done is a story for another day. One needless mess evasion maneuver at a time...

On 3/26/2025 6:11 AM, Ed Burns via jakartaee-platform-dev wrote:

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.

[Happening right now] Deliver all necessary artifacts to start and approve the ballot for EE 11 Web Profile.

Spec -- Web Profile ballot satisfaction version
API jar -- Web Profile ballot satisfaction version
Platform Profile TCK -- Web Profile ballot satisfaction version
Ratifying compatible implementations

GlassFish 8 on 17
GlassFish 8 on 21

[Happening after APPROVED for 1.] Continue to resolve matters for the Platform Profile TCK -- Platform Profile ballot satisfaction version.
[Happening after 2.] Create all necessary artifacts to start and approve the ballot for EE 11 Platform Profile.

Spec -- Platform Profile ballot satisfaction version
API jar -- Platform Profile ballot satisfaction version
Platform Profile TCK -- Platform Profile ballot satisfaction version
Ratifying compatible implementations

GlassFish 8 on 17
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



_______________________________________________
jakartaee-platform-dev mailing list
jakartaee-platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakartaee-platform-dev

_______________________________________________
jakarta.ee-community mailing list
jakarta.ee-community@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/jakarta.ee-community


--

Ivar Grimstad

Jakarta EE Developer Advocate | Eclipse Foundation Eclipse Foundation - Community. Code. Collaboration.

_______________________________________________
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
_______________________________________________
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