This is a good question indeed. In the past the real stated rationale for a sub-spec was
eventual or possible separation. It's a question that should be posed in the Java EE
EG or even the EC.
In the case of JPA/EJB there is an official reason and perhaps a few ulterior ones. The
official reason is that the EJB EG had the initial skill set to deal with JPA but the spec
should be eventually separate. Unofficially my guess is that too many vendors had bought
into EJB Entity Beans for too long and they needed to deal it a soft blow to make
themselves look better instead of a hard and fast death blow. Saving EJB from total
collapse right away might have also been a motive and also giving Gavin/Red Hat less
credit for Java EE 5 than he/they deserved...
On Feb 28, 2016, at 5:13 PM, arjan tijms
<arjan.tijms(a)gmail.com> wrote:
What are exactly the rules of making something a sub-spec?
There have been various examples of this in the past. Reza mentioned JPA, which started
as a sub-spec of EJB, even though it was not directly split off from an existing EJB API
(you could say it was conceptually a re-imagined EJB Entity Bean, but JPA entities are
different enough to stand on their own).
I wonder what the decisions were at the time to go for a sub-spec, instead of either
directly putting it in EJB on the one hand, or going right away for a top-level spec on
the other hand.
Regardless, I think this points out a (practical) weakness in the Java EE
umbrella/constituent specs setup. In general we like to split things out into several
specs, so that those specs can evolve on their own and are useable by the rest of the
platform. E.g. EL is a great example, it's now separate, and can be used everywhere
without a dependency on say JSP or JSF.
But the fact that top level specs need to be individually "active" and must
each have assembled their own EG, is a serious process overhead. This is specifically so
because with the current Java EE process not all constituent specs are active/open by
default for a given spec cycle.
> On Sun, Feb 28, 2016 at 8:25 PM, Reza Rahman <reza_rahman(a)lycos.com> wrote:
> I am not so sure "everyone stated" this shouldn't be part of CDI. As
some of us have already pointed out there might be a case for including it in CDI anyway
and this should be part of the discussion equation here and elsewhere. Indeed I suggest
putting together a questionnaire on this with the options that "everyone" on
this EG indeed does vote on...
>
>> On Feb 28, 2016, at 2:10 PM, Romain Manni-Bucau <rmannibucau(a)gmail.com>
wrote:
>>
>>
>> 2016-02-28 20:08 GMT+01:00 Werner Keil <werner.keil(a)gmail.com>:
>>> Yes, there's no "incubating" stage for JSRs other than
"not Final", so as soon as a JSR or parts of it are final, they become part of
an umbrella spec if that spec wants to contain them.
>>>
>>> Potentially from Java EE 9 on there could be much finer grained activation or
deactivation of features and profiles as soon as the whole Jigsaw thing and SE 9 is out,
but until then I think we' have to stick to what's available right now.
>>>
>>> For CDI 2 modularity or running in Java SE are already in scope, but other
than e.g. having "ee-concurrency" only in the Java EE profile of CDI, I
don't see how CDI should do things the platform will provide later anyway.
>>
>> Fully agree, means @Lock shouldnt go in CDI as everyone stated so falling back on
CDI cause concurrency spec is inactive is a bad choice. Question leaves CDI list then and
is: how to make concurrency active?
>>
>>> Regards,
>>> Werner
>>>
>>>> On Sun, Feb 28, 2016 at 7:59 PM, Reza Rahman
<reza_rahman(a)lycos.com> wrote:
>>>> I am unsure what this means. Firstly I think this functionality is way
overdue. Secondly I see little value to having anything that is a pseudo-standard. I'd
rather see the effort pursue another path to standardization or remain completely
independent while clearly pointing out what the obstacles to standardization are/were.
>>>>
>>>> On the other hand if this is required to be implemented in Java EE 8
runtimes I don't think it matters what the particular structural gymnastics are.
Purely from a JCP standpoint, it is possible to have a sub-specification but only if the
eventual goal is to spin it out into a separate specification. Examples of this are JPA,
interceptors and others. There is no precedent for an "incubator" specification
that is somehow optional. In fact I am pretty sure the current JCP rules would disallow
this.
>>>>
>>>> On Feb 28, 2016, at 1:29 PM, Romain Manni-Bucau
<rmannibucau(a)gmail.com> wrote:
>>>>
>>>>> At apache we have subprojects which can become top level project if
they behaves well. Would it be possible at EE level? Idea would be to have cdi-concurrency
subspec (under CDI umbrella but not part of CDI itself - know there was appendix in bval
for instance). Then for EE 9 if the subspec is proven as good it would become its own
spec. wdyt?
>>>>>
>>>>>
>>>>> Romain Manni-Bucau
>>>>> @rmannibucau | Blog | Github | LinkedIn | Tomitriber
>>>>>
>>>>> 2016-02-28 19:16 GMT+01:00 Mark Struberg <struberg(a)yahoo.de>:
>>>>>>
>>>>>> > Am 26.02.2016 um 17:39 schrieb Werner Keil
<werner.keil(a)gmail.com>:
>>>>>> >
>>>>>> > Reza/all,
>>>>>> >
>>>>>> > One of the biggest problems with Concurrency Utilities is,
that it started in 2003, then went "dormant" (before the term existed) and was
revived to be finalized 10 years later after little or no proper alignment with then state
of the art Java EE standards and technologies. It duplicates things, especially in EJB or
CDI.
>>>>>> >
>>>>>>
>>>>>> +1 that pretty much sums it up. Concurrency utils is pretty much
broken and unusable as it is today. :/
>>>>>>
>>>>>> Anyway, let’s not fight the past - we need a way forward.
>>>>>>
>>>>>> LieGrue,
>>>>>> strub
>>>>>>
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> cdi-dev mailing list
>>>>>> cdi-dev(a)lists.jboss.org
>>>>>>
https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>>
>>>>>> Note that for all code provided on this list, the provider
licenses the code under the Apache License, Version 2
(
http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this
list, the provider waives all patent and other intellectual property rights inherent in
such information.
>>>>>
>>>>> _______________________________________________
>>>>> cdi-dev mailing list
>>>>> cdi-dev(a)lists.jboss.org
>>>>>
https://lists.jboss.org/mailman/listinfo/cdi-dev
>>>>>
>>>>> Note that for all code provided on this list, the provider licenses
the code under the Apache License, Version 2
(
http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas provided on this
list, the provider waives all patent and other intellectual property rights inherent in
such information.
>
> _______________________________________________
> cdi-dev mailing list
> cdi-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/cdi-dev
>
> Note that for all code provided on this list, the provider licenses the code under
the Apache License, Version 2 (
http://www.apache.org/licenses/LICENSE-2.0.html). For all
other ideas provided on this list, the provider waives all patent and other intellectual
property rights inherent in such information.