[ 
https://issues.apache.org/jira/browse/ARIES-1108?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13753372#comment-13753372
 ] 

Stephan Siano commented on ARIES-1108:
--------------------------------------

I like the idea (5) because the subsystem implementation kind of provides the 
root subsystem and the services exported by these bundles are somewhat provided 
by the root subsystem.

Option 4 might also help in several cases, however not all services are 
provided by DS or blueprint (although this is good practice).

Option 1 is a long term solution, however I don't know how long it takes till 
everybody has taken this up (even if it becomes a best practice).

Updating the maven-bundle-plugin probably won't help much. The Export-Service 
header is generated for blueprint bundles (and those do already work).

The import and export service headers are somehow informational only, and I 
don't think that changing the semantics of that is a good idea.

What does uninstalling the application modeller mean, are only service 
requirements not computed or also wiring stuff (pakage imports etc.)?
                
> Discuss a better user experience when dealing with service dependencies.
> ------------------------------------------------------------------------
>
>                 Key: ARIES-1108
>                 URL: https://issues.apache.org/jira/browse/ARIES-1108
>             Project: Aries
>          Issue Type: Brainstorming
>          Components: Subsystem
>            Reporter: John Ross
>
> Currently, Aries Subsystems will compute service requirements and 
> capabilities for Blueprint bundles only. This can be particularly problematic 
> for users with application subsystems having bundles with service 
> dependencies on non-blueprint bundles outside of their control. For example, 
> an application blueprint bundle with a service dependency on EventAdmin will 
> fail to resolve unless the EventAdmin implementation bundle advertises the 
> service capability in some supported way. To get around this, the user must 
> either (1) turn the bundle into a blueprint bundle, (2) add a 
> Provide-Capability header to the bundle's manifest, or (3) provide their own 
> bundle with a Provide-Capability header advertising all of the services of 
> interest.
> The following represents a non-exhaustive list of possibilities.
> (1) Engage bundle providers to include a Provide-Capability header 
> advertising services. This would be particularly helpful for standard OSGi 
> services. Engage OSGi to make this a requirement or best practice.
> (2) Update the maven bundle plugin to generate this header, as it currently 
> does for the Export-Service header.
> (3) Support Import-Service and Export-Service headers in Aries Subsystems. 
> These headers are already generated by the maven bundle plugin.
> (4) Support DS in Aries Subsystems.
> (5) Add some sort of service listener to Aries Subsystems that will ensure 
> existing services are available as "virtual capabilities" to resolving 
> subsystems.
> Note that in Aries Subsystems 1.0.1-SNAPSHOT+, the ModelledResourceManager 
> service, used to compute service requirements and capabilities, is now 
> optional. This means users can uninstall (or not install) the 
> org.apache.aries.application.modeller bundle in order to disable service 
> resolution.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to