I don't see this as a burden, I think it makes the boundaries
between components much cleaner - each component with its integration points can be tested
locally before being assembled/configured within hawkular.
I'm failing to see how this is clearing the boundaries when there's a clear
dependency on another module - bus. Any changes to bus-integration layer will require
fixing all the modules instead of single bus-module. By definition that's coupling and
considered bad practise.
We also need to consider component reuse. If all of the integration
glue code is in hawkular, then any other projects that want to reuse just one component
has to depend on artifacts from two repos. If all of the glue code was also in component,
then (as with hawkular) the other components simply assemble the required components and
configure as required.
I really doubt someone is going to use our bus layer instead of some other module. Our bus
layer is based on another product which is what the other party would at most use. Metrics
and Alerts are probably the ones that will be used outside Hawkular-proper and the
integration between those two components is not necessarily the same that we use. So
bus-project really has no need to be reusable, its only purpose is to connect
Hawkular-modules.
- Micke