IMHO it boils down to what you choose as the promoted service
integration layer. As it is with most AS7 subsystems today they
integrate via jboss-msc services. For system integration this is a
direct and efficient approach. For user deployments however, the uptake
of this is questionable. More likely we want to promote the integration
via standard OSGi services. I take the benefit of using an open standard
is generally accepted so I won't go into that much more.
What's a standard OSGi service?
I wouldn't promote or limit anything.
It should be all POJO at the end, with some entry-point on what the AS7 should trigger
when deployment is fully deployed.
That's what BundleActivator is in OSGi land, BeanManager in Weld, Injector in Guice,
...
Imho CDI / JSR-330 should be the default (and I think that's already the case),
while anything custom can be easily hacked up with annotations, marking what's a
service and what's not.
Old / existing services (e.g. Tx), can easily be added via Provider / Produces pattern.