[ 
https://issues.apache.org/jira/browse/FELIX-4427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Felix Meschberger updated FELIX-4427:
-------------------------------------

    Description: 
Currently the Servlet API is exported from the Http Service Bundle bundle and 
the Jetty bundle.

In a typical web application a large number of bundles will typically wire to 
the Servlet API and to the Http Service API. To detach the application from the 
Http Service implementation, if would be usefull to have the APIs fully 
detached from the implementations.

As such, I suggest we do not export the Servlet API from the Jetty bundle but 
expect the Servlet API to be exported from somewhere else.

As the Http Service Bundle bundle is a convenience all-in-one bundle, it does 
not hurt for this bundle to export the API.

To help solve the versioning problem, I actually think we should create our own 
Servlet API bundle. The versioning problem is that the Servlet API 3.0 spec is 
actually backwards compatible with Servlet 2.5 but chose to upgrade the 
specification major version. Unfortunately that does not play well with 
semantic versioning when applying the specification version to the API exports 
(as is customarily but wrongly done).

So, our bundle should:
- be based on the Tomcat Servlet API library (since this is ASL2 licensed and 
can easily be included)
- export Servlet API at version 2.6 (which is a custom compromise) as well as 
version 3.0
- also Provide-Capability for the Servlet API capability

  was:
Currently the Servlet API is exported from the Http Service Bundle bundle and 
the Jetty bundle.

In a typical web application a large number of bundles will typically wire to 
the Servlet API and to the Http Service API. To detach the application from the 
Http Service implementation, if would be usefull to have the APIs fully 
detached from the implementations.

As such, I suggest we do not export the Servlet API from the Jetty bundle but 
expect the Servlet API to be exported from somewhere else.

As the Http Service Bundle bundle is a convenience all-in-one bundle, it does 
not hurt for this bundle to export the API.


> Create separate API bundle
> --------------------------
>
>                 Key: FELIX-4427
>                 URL: https://issues.apache.org/jira/browse/FELIX-4427
>             Project: Felix
>          Issue Type: Bug
>          Components: HTTP Service
>    Affects Versions: http-2.2.1
>            Reporter: Felix Meschberger
>
> Currently the Servlet API is exported from the Http Service Bundle bundle and 
> the Jetty bundle.
> In a typical web application a large number of bundles will typically wire to 
> the Servlet API and to the Http Service API. To detach the application from 
> the Http Service implementation, if would be usefull to have the APIs fully 
> detached from the implementations.
> As such, I suggest we do not export the Servlet API from the Jetty bundle but 
> expect the Servlet API to be exported from somewhere else.
> As the Http Service Bundle bundle is a convenience all-in-one bundle, it does 
> not hurt for this bundle to export the API.
> To help solve the versioning problem, I actually think we should create our 
> own Servlet API bundle. The versioning problem is that the Servlet API 3.0 
> spec is actually backwards compatible with Servlet 2.5 but chose to upgrade 
> the specification major version. Unfortunately that does not play well with 
> semantic versioning when applying the specification version to the API 
> exports (as is customarily but wrongly done).
> So, our bundle should:
> - be based on the Tomcat Servlet API library (since this is ASL2 licensed and 
> can easily be included)
> - export Servlet API at version 2.6 (which is a custom compromise) as well as 
> version 3.0
> - also Provide-Capability for the Servlet API capability



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to