I'd agree with Steve that it
needs to be either 2 or 3. Option 1 says
that all Jakarta EE 9 implementations *must*
support binary compatibility. That
requirement would inhibit or prevent new
implementations which only want to start
with Jakarta EE 9.
---------------------------------------------------
Kevin Sutter
STSM, MicroProfile and Jakarta EE architect
e-mail: sutter@xxxxxxxxxx
Twitter: @kwsutter
phone: tl-553-3620 (office), 507-253-3620
(office)
LinkedIn: https://www.linkedin.com/in/kevinwsutter
From: Mark Little <mlittle@xxxxxxxxxx>
To: Jakarta specification committee
<jakarta.ee-spec.committee@xxxxxxxxxxx>
Date: 05/31/2019 05:24 AM
Subject: [EXTERNAL] Re:
[jakarta.ee-spec.committee] Incremental vs
Big Bang boms
Sent by: jakarta.ee-spec.committee-bounces@xxxxxxxxxxx
Just because these are the
choices you’ve mentioned, I’d say 1 or 2. 3
has more negative implications on the
developer, e.g., they have to hunt down
whether an implementation has done this,
plus what does that say about
“compatibility” if an implementation isn’t,
well, compatible? If a vendor wants to go
down that route then they could stay on v8.
Mark.
On 31 May 2019, at 10:50, Steve
Millidge (Payara) <steve.millidge@xxxxxxxxxxx>
wrote:
I agree with the scenarios.
My view is where does the binary
compatibility story lie.
1) Should it be mandatory on all compatible
implementations as part of the Jakarta EE 9
platform specification?
2) Should it be optional as part of the
Jakarta EE 9 platform specification?
3) Should it be left as a vendor's decision?
My view is 3 or 2, specifically for the
namespace change.
Steve
-----Original Message-----
From: jakarta.ee-spec.committee-bounces@xxxxxxxxxxx<jakarta.ee-spec.committee-bounces@xxxxxxxxxxx>
On Behalf Of Bill Shannon
Sent: 31 May 2019 00:38
To: Jakarta specification committee <jakarta.ee-spec.committee@xxxxxxxxxxx>;
Kazumura, Kenji <kzr@xxxxxxxxxxxxxx>
Subject: Re: [jakarta.ee-spec.committee]
Incremental vs Big Bang boms
If the vendor's Jakarta EE 9 product
provides binary compatibility with Jakarta
EE 8, the customer doesn't need to do
anything to run their existing Jakarta EE 8
app on the Jakarta EE 9 product and they can
upgrade to the new version of the product
based on their own needs.
If the vendor doesn't provide Jakarta EE 8
binary compatibility, then the customer
needs to change everything in their app that
uses any API that's changed in Jakarta EE 9
if they want to upgrade to the Jakarta EE 9
version of the product. In the Incremental
approach, that would only be some subset of
the APIs, but almost certainly would include
some APIs that the customer is using. In
the Big Bang approach, all uses of Jakarta
EE 8 APIs would need to be changed. In both
cases, this is independent of whether the
customer wants to use any new Jakarta EE 9
features. In both cases, the customer would
need to change their build configuration to
replace any reference to the Jakarta EE 8
bom with a reference to the Jakarta EE 9
bom.
With a good binary compatibility story, this
change doesn't make any difference to the
customer.
Without a binary compatibility story, the
customer is forced to change their app when
*we* change the APIs, either a little bit
every release, or all at once in Jakarta EE
9.
Kazumura, Kenji wrote on 5/30/19 3:03 AM:
Steve,
I 'm not sure other country, but it likely
happens in Japan.
(1) A vendor provides a Jakarta EE 9 product
which run with Java SE
13, and a customer want to use Java SE 13
features (but not want to use Jakarta EE 9
new features).
In this case, this customer must use Jakarta
EE 9 product, unless we
provide Jakarta EE 8 product which run with
Java SE 13.
(2) The customers, who wants a long term
support, usually select the
newer version product.
For example, the date of EOL for Jakarta EE
9 product is later than the one for Jakarta
EE 8.
They select Jakarta EE 9 product because
they want to use it as long as possible.
-Kenji Kazumura
-----Original Message-----
From: jakarta.ee-spec.committee-bounces@xxxxxxxxxxx
[mailto:jakarta.ee-spec.committee-bounces@xxxxxxxxxxx] On
Behalf Of
Steve Millidge (Payara)
Sent: Thursday, May 30, 2019 6:48 PM
To: Jakarta specification committee
<jakarta.ee-spec.committee@xxxxxxxxxxx>
Subject: Re: [jakarta.ee-spec.committee]
Incremental vs Big Bang boms
Hi Kenji,
I may have missed something subtle in your
email but if the customer
is not using any Jakarta EE 9 features then
don't they just have a Jakarta EE 8 app and
therefore can't they just use the Jakarta EE
8 bom?
Steve
-----Original Message-----
From: jakarta.ee-spec.committee-bounces@xxxxxxxxxxx
<jakarta.ee-spec.committee-bounces@xxxxxxxxxxx>
On Behalf Of
Kazumura, Kenji
Sent: 30 May 2019 08:07
To: Jakarta specification committee
<jakarta.ee-spec.committee@xxxxxxxxxxx>
Subject: Re: [jakarta.ee-spec.committee]
Incremental vs Big Bang boms
Assume that you have an existing Jakarta EE
8 app, and you want to
change just your own business logic, but you
don't want to use any new features in
Jakarta EE 9.
You don't need to change the package names
in your source code when
using incremental bom, while you need to
change all the package names in your source
when using big bang bom.
If we choose the big bang approach, this
type of customers do not have motivation to
use Jakarta EE 9.
My concern is, if a vendor has a lot of this
type of existing
customers, this vendor also does not have
motivation to provide Jakarta EE 9 products.
-Kenji Kazumura
-----Original Message-----
From: jakarta.ee-spec.committee-bounces@xxxxxxxxxxx
[mailto:jakarta.ee-spec.committee-bounces@xxxxxxxxxxx] On
Behalf Of
Bill Shannon
Sent: Thursday, May 30, 2019 6:10 AM
To: Scott Stark <sstark@xxxxxxxxxx>
Cc: Jakarta specification committee
<jakarta.ee-spec.committee@xxxxxxxxxxx>
Subject: Re: [jakarta.ee-spec.committee]
Incremental vs Big Bang
boms
If you have an existing app that's using the
Jakarta EE 8 bom and
you update part of that app to use the new
features in Jakarta EE 9,
e.g., the jakarta.ws.rs.Path class, you'll
need to add something to
your app configuration to get access to the
new API, either by
adding the entire Jakarta EE 9 bom or by
adding the adding the new
Jakarta RESTful Web Services API pom.
That's the same with Incremental or Big
Bang.
Scott Stark wrote on 5/29/19 1:43 PM:
Let's focus on javax.ws.rs.Path
moving to jakarta.ws.rs.Path, and I
have updated updated a Jakarta EE 8 app to
Jakarta EE 9 where the only
change was in the REST spec. I expect that
the Jakarta EE 9 bom will have:
- under incremental, the
jakarta.ws.rs.* +
all unmodified javax.* spect artifacts.
- under Big Bang, the jakarta.ws.rs.* +
all jakarta.* spec artifacts that simply had
a package name change.
If I am using the incremental bom, I will
only be able to compile
my updated Jakarta EE 8 app if I have
replaced
all of the javax.ws.rs.Path
usage.
If I am using the Big Bang bom,
and I have only incrementally
updated my app to what has functionally
changed,
then I also need to include the
Jakarta EE 8 bom. Any location where
I forgot to update javax.ws.rs.Path usage
will be treated as Jakarta
EE 8 and the binary compatibility layer will
kick
in.
On May 29, 2019, at 12:56 PM,
Bill Shannon <bill.shannon@xxxxxxxxxx>
wrote:
If I have a Jakarta EE 8 app that is updated
to use the new REST
apis, it would need to include both Jakarta
EE 8 and Jakarta EE 9
boms to compile the app. Do we envision
having a compatibly bom
such that there is a single bom a user could
use to still build
from source against? The concern here is
that they intended to
update all REST api usage to the Jakarta EE
9 apis, but missed
some locations. If they have to include both
Jakarta EE 8 and
Jakarta EE 9 boms, this would be masked. If
there was a Jakarta
EE
9 compatibility bom, compiling against it
would fail on the
locations that did not update from JAX-RS to
the Jakarta EE 9 REST apis.
That would only be an issue with the
incremental approach where
the bom would have the jakarta.rest.* APIs
but not the javax.ws.rs.*
APIs, right?
If compatibility works by effectively
"aliasing" the javax names
to the jakarta names, an app, or even a
class, could mix and match
javax names and jakarta names and still
work. (Whether fine
grained mixing is a good idea is a separate
issue. :-)) And yes,
it would need to depend on the appropriate
bom(s) or pom(s) to get access to the APIs
it needs.
Whether there's a "compatibility bom" and
what it's called would
seem to depend on whether compatibility is a
Jakarta EE spec of
some sort or whether it's left completely to
products to provide.
In any event, there would continue to be the
Jakarta EE 8 bom.
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery options, retrieve
your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery options, retrieve
your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery options, retrieve
your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery options, retrieve
your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery options, retrieve
your password, or unsubscribe from this
list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery options, retrieve
your password, or unsubscribe from this
list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee
---
Mark Little
mlittle@xxxxxxxxxx
JBoss, by Red Hat
Registered Address: Red Hat Ltd, 6700 Cork
Airport Business Park, Kinsale Road, Co.
Cork.
Registered in the Companies Registration
Office, Parnell House, 14 Parnell Square,
Dublin 1, Ireland, No.304873
Directors:Michael Cunningham (USA), Vicky
Wiseman (USA), Michael O'Neill, Keith
Phelan, Matt Parson (USA)
_______________________________________________
jakarta.ee-spec.committee
mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery
options, retrieve your password, or
unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee
_______________________________________________
jakarta.ee-spec.committee mailing list
jakarta.ee-spec.committee@xxxxxxxxxxx
To change your delivery options, retrieve
your password, or unsubscribe from this
list, visit
https://www.eclipse.org/mailman/listinfo/jakarta.ee-spec.committee