aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel Kulp <dk...@apache.org>
Subject Re: Aries Spec Jars
Date Fri, 22 Dec 2017 17:42:50 GMT


> On Dec 22, 2017, at 10:30 AM, Raymond Auge <raymond.auge@liferay.com> wrote:
> 
>> Do those spec bundles also exist over in SMX or Geronimo?   Is there a
>> “significant” number of major Apache projects that are currently using
>> either the ones in Aries or the ones in ServiceMix/Geronimo?   If so, then
>> yea, we should remove them.   Stop duplicating stuff and, instead, get
>> issues fixed.
>> 
> 
> I don't think this is feasible.
> 
> The reason being that those projects are using those API jars coming from a
> different perspective.
> 
> Their perspective is:
> 
> - Make the API usable in OSGi when there is no OSGi specification which
> specifies it's use.

I disagree..    It’s just “Make the API usable in OSGi”, period.   

If there is a spec, great.  If there isn’t still make it work.  Almost as importantly: make
it work in cases where the spec is available (new runtime) as well as not available (old runtimes).


> From that perspective they are free to make implementation choices which is
> totally fine for that case. However those choices are proprietary.

…  and, for the most part, hidden. 

>> 
>>> That’s fine as a proposal, but there are a *lot* of fixes needed in
>> ServiceMix before the bundles are usable. None of the bundles offer (as far
>> as I can tell) offer the correct contract capability (or even any contract
>> at all), and they all seem to include a custom locator which isn’t part of
>> the original specification jar. This locator will have unknown effects on
>> specification implementations and may need to be removed. Are the
>> ServiceMix team really going to be ok with changes that radical,
>> particularly when they affect existing released artifacts?
>> 
>> Removing the Locator stuff is likely not going to fly, adding additional
>> bundle headers is likely OK.
>> 
> 
> Here you've now made it impossible by first saying that all changes should
> be made in servicemix BUT that you won't accept the changes in servicemix!

I didn’t say that at all…. I said changes can be be made in ServiceMix, but keeping the
locator (or some similar mechanism) to make sure the API’s continue to work correctly is
important.     If updating the FactoryFinders to use the locator if the “standard osgi mechanism”
fails is necessary, that SHOULD be fine.


> You're not leaving us with many options.
> 
> The locator stuff is a proprietary detail that is not part of the OSGi
> specification for how these APIs should be used.

And is a completely hidden, private package and thus nearly irrelevant. 

> 
> CXF does NOT implement the upcoming OSGi JAX-RS specification which is what
> we're talking about here. And therefore CXF can't be placed in the same
> category with the Aries JAX-RS and Aries in general which is about
> implementing specifications.
> 
> Don't get me wrong, CXF and ServiceMix are fine projects. However they are
> not implementing specifications. They are purely industry implementations
> and those implementations have made design choices which are more or less
> incompatible with the upcoming OSGi specification.

CXF implements a ton of specs… a future OSGi JAX-RS spec may or may not become one of them.
   In particular, I can definitely see CXF registering the various builders and such as OSGi
services.    


> I sincerely hope you re-consider your position and offer some real help
> otherwise we're stuck not being able to deliver RIs for OSGi R7.

I *AM* offering help…. I’m more than willing to do some work and apply patches or whatever
in the ServiceMix specs to get it updated and usable.    

For now, as a test, I added the Provide-Capability stuff into the smx bundle, updated the
maven-bundle-plugin to understand it,  and updated all of the aries-jax-rs-whiteboard poms/bndrun
files to use it instead of the local thing and all the tests pass.   Thus, I’m back to “why
add another one” and "why can it not work for the RI?"


Dan



> 
> - Ray
> 
> 
>> 
>> Dan
>> 
>> 
>> 
>> 
>>> 
>>> Regards,
>>> 
>>> Tim
>>> 
>>> On 21 Dec 2017, at 18:16, Daniel Kulp <dkulp@apache.org<mailto:dkulp
>> @apache.org>> wrote:
>>> 
>>> 
>>> 
>>> On Dec 21, 2017, at 1:00 PM, Raymond Auge <raymond.auge@liferay.com<
>> mailto:raymond.auge@liferay.com>> wrote:
>>> 
>>> On Thu, Dec 21, 2017 at 12:43 PM, Daniel Kulp <dkulp@apache.org<mailto:
>> dkulp@apache.org>> wrote:
>>> 
>>> Can I ask why the spec/api bundles that are provided by ServiceMix are
>> not
>>> usable?   Could the ServiceMix api bundles be updated to make them
>> usable?
>>> 
>>> 
>>> Most of the ServiceMix jars violate the terms of the original license of
>>> the specification artifacts they touch. They also violate the Apache
>>> guidelines for repackaging such artifacts.
>>> 
>>> I personally didn't have the stomach to repair the ones we needed in that
>>> project so opted to fix them in Aries.
>>> 
>>> If we could get them fixed then that might be a solution.
>>> 
>>> 
>>> Submit a patch!   I can get them applied there easily enough.    I’m
>> completely against having yet another bundle here when the other bundles
>> are the ones that will be be used by all the other projects.
>>> 
>>> Dan
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> - Ray
>>> 
>>> 
>>> 
>>> I really would prefer not getting into a situation where we have a bunch
>>> of project that are commonly used together starting to pull in multiple
>>> versions or implementations of the same bundles.   For example:  CXF uses
>>> and would pull in the org.apache.servicemix.specs.jaxrs-api-2.1 bundle
>>> which would obviously result in multiple bundles exporting the same
>>> package/versions.
>>> 
>>> Dan
>>> 
>>> 
>>> 
>>> On Dec 21, 2017, at 9:28 AM, Raymond Auge <raymond.auge@liferay.com<
>> mailto:raymond.auge@liferay.com>>
>>> wrote:
>>> 
>>> Hi Tim,
>>> 
>>> I was thinking of proposing this very thing over the last few weeks.
>>> 
>>> I had already deliberately pushed the CDI related spec jars and also the
>>> spec jar for JAX-RS into an aries sub-group in maven in order to better
>>> accommodate and reflect this very thing.
>>> 
>>> So, I would be a big +1 for having these in a specific sub-project.
>>> 
>>> - Ray
>>> 
>>> On Thu, Dec 21, 2017 at 6:25 AM, Timothy Ward <timothyjward@apache.org<
>> mailto:timothyjward@apache.org>>
>>> wrote:
>>> 
>>> Hi all,
>>> 
>>> I’ve noticed that an increasing number of Aries projects are producing
>>> wrapped spec jars (JPA, JAX-RS, CDI...). In general I think that this
>>> is a
>>> good thing, as few other Open Source projects package the jars with OSGi
>>> contract metadata.
>>> 
>>> I do wonder, however, if these spec jars should be provided by a
>>> separate
>>> Aries project, rather than scattered across multiple other projects. I
>>> have
>>> two main reasons for this.
>>> 
>>> 1. It makes the code for packaging the spec jars harder to find in
>>> source
>>> control
>>> 
>>> 2. It creates some non-obvious links between projects. It’s clear why
>>> tx-control depends on JPA, but not why JAX-RS depends on CDI!
>>> 
>>> The spec jars are mostly being put into a separate Maven group already.
>>> I
>>> would simply see this as a formalisation of that earlier decision.
>>> 
>>> Thoughts?
>>> 
>>> Tim
>>> 
>>> Sent from my iPhone
>>> 
>>> 
>>> 
>>> 
>>> --
>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>> (@rotty3000)
>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>> (@Liferay)
>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>>> (@OSGiAlliance)
>>> 
>>> --
>>> Daniel Kulp
>>> dkulp@apache.org<mailto:dkulp@apache.org> - http://dankulp.com/blog
>>> Talend Community Coder - http://coders.talend.com
>>> 
>>> 
>>> 
>>> 
>>> --
>>> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
>>> (@rotty3000)
>>> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
>>> (@Liferay)
>>> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org>
>> (@OSGiAlliance)
>>> 
>>> --
>>> Daniel Kulp
>>> dkulp@apache.org<mailto:dkulp@apache.org> - http://dankulp.com/blog
>>> Talend Community Coder - http://coders.talend.com<http:
>> //coders.talend.com/>
>>> 
>> 
>> --
>> Daniel Kulp
>> dkulp@apache.org - http://dankulp.com/blog
>> Talend Community Coder - http://coders.talend.com
>> 
>> 
> 
> 
> -- 
> *Raymond Augé* <http://www.liferay.com/web/raymond.auge/profile>
> (@rotty3000)
> Senior Software Architect *Liferay, Inc.* <http://www.liferay.com>
> (@Liferay)
> Board Member & EEG Co-Chair, OSGi Alliance <http://osgi.org> (@OSGiAlliance)

-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com


Mime
View raw message