title: What is the alternative to OSGI for inter-module service injection in Wildfly?
body: <p>We are in the process of disentangling a classic legacy monolithic EAR-packaged Java EE application. Our (most complex) component wiring pattern is as follows: component A 'requires' interface X, whilst components B and C (... N) each 'provide' interface X. Our requirement is to package and deploy A, B, C and X  separately and independently in order to minimize downtime and minimize business impact. </p>
  
  <p>We therefore require the necessary robustness to allow providers (B,C) of interfaces to be removed and added (redeployed), at runtime, without requiring a redeployment of the consumers (A) of the interface, nor a restart of the server. The solution will run on Wildfly 8, but can make use or other technologies as long as they work on Wildfly 8.</p>
  
  <p>We've implemented a POC using JBoss-OSGI and Weld-OSGI which fulfilled all of our requirements, and offered us an excellent migration path as well. However, in Wildfly 8 Alpha 3, JBoss-OSGI was removed from the default distribution. This made us think we should explore alternatives that are more in line with the thinking of the people behind Wildfly. </p>
  
  <p>The question therefore is, on Wildfly 8, what is the alternative to OSGI for inter-module service injection that would meet our requirements?</p>
  
  <p>For the sake of budgets, simplicity, performance overheads and company policies, we've had to eliminate the following:
  <br/>1. Remote EJB's
  <br/>2. Web Services
  <br/>3. JSon/Rest
  <br/>4. SCA</p>
  
  <p>Please note that this is not a request for a debate on the viability of OSGI nor for an evaluation or comparison of different solutions. I am simply looking for any solution(s) that would meet our criteria and is NOT based on OSGI.</p>