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@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@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@gmail.com> wrote:


2016-02-28 20:08 GMT+01:00 Werner Keil <werner.keil@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@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@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@yahoo.de>:

> Am 26.02.2016 um 17:39 schrieb Werner Keil <werner.keil@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@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@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@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.