Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.0
-
None
Description
Aries Subsystems currently has a hard dependency on Aries Blueprint (AB).
When running Aries Subsystems in an environment where there is already a Blueprint implementation, we end up with duplicate Blueprint extenders, which is of course a recipe for disaster.
One such environment is the Virgo kernel. Virgo depends on Gemini Blueprint (GB) because it uses the Spring DM function provided by GB. So it's not possible to substitute AB for GB.
So the requirement is to make it possible to run Aries Subsystems with GB. Admittedly this may involve adding some GB code to support resource modelling for Blueprint, but that should be separated from the AB implementation.
To reproduce the problematic environment, see https://github.com/glyn/aries-subsystems-on-virgo-kernel and follow the instructions in README.md. The web admin console can then be used to observe both GB and AB extenders running in the Virgo user region. Also, the nature of the hard dependency can be observed by deleting the Aries Blueprint core bundle from the Virgo kernel's repository/usr directory and restarting Virgo - the modeller no longer resolves:
missing constraint in bundle <org.apache.aries.application.modeller_1.0.1.SNAPSHOT>
constraint: <Import-Package: org.apache.aries.blueprint.services; version="[1.0.0,2.0.0)">