Interoperation (Was: Re: Module-system requirements)

David M. Lloyd david.lloyd at redhat.com
Wed Feb 11 19:56:22 UTC 2015


I'm concerned that the interoperation point doesn't quite go far enough. 
  It says "It must be possible for another module system, such as OSGi, 
to locate Java modules and resolve them using its own resolver, except 
possibly for core system modules."

I agree with this requirement, such as it is, but I would also assert 
that it should be possible to retrofit not only OSGi but Java EE, Maven, 
and even legacy "modules" like extensions and so on as modules.  The 
reason I make this assertion is that we have done all of these things 
with success and (I dare say) relative ease, even to the extent of 
achieving both EE and OSGi certification with such a retrofit.

The reason I think this is important is that it makes it possible to 
link modules from different module specifications together in a variety 
of sane and well-defined ways, and would provide a great deal more 
flexibility to (for example) Java EE 9 which would presumably build on 
the work of this EG.

To achieve this additional requirement does require a few very specific 
implementation considerations but I do not believe that any of these 
considerations contraindicate any of the other requirements stated here.

Thus I feel this requirement should be amended to something along the 
lines of:

Interoperation - It must be possible for another module system, such as 
OSGi, to locate Java modules and resolve them using its own resolver, 
except possibly for core system modules.  It must be possible for other 
module systems to reuse the framework provided by this specification in 
order to facilitate a standard, well-defined mechanism by which 
different present and future module systems may interoperate.

-- 
- DML


More information about the jpms-spec-observers mailing list