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