Relationship to JSR 291 [was: Re: Bryan's comments]
Richard S. Hall
heavy at UNGOVERNED.ORG
Tue May 29 10:38:59 PDT 2007
Stanley M. Ho wrote:
> Richard S. Hall wrote:
>> Agreed, but I think part of the reason that there is an urge to push
>> such features into the core is because there is already feature creep in
>> the core that gives people the impression that we are redefining OSGi
>> modularity, NetBeans modularity, etc. Thus, everyone wants to make sure
>> their pet feature is added. If 277 could make a stand and declare that
>> it is at a layer beneath all of that (and live up to that declaration),
>> then there would likely be less push down.
> Richard, It is unclear to me what you meant by feature creep in the core
> because everything in the specification is essentially required to
> address the problems this JSR is set out to solve. We can argue that
> some features should not be in the base layer API but in the module
> system defined by JSR 277 instead or vice versa, but they still belong
> to the overall JSR 277 specification.
I guess the addition of service-related concepts into the module layer
would be one example of feature creep for me. While I think it makes
perfect sense to figure out how the Service Loader stuff will work on
top of the module layer, pushing Service Loader concepts down into the
module layer doesn't make any sense to me at all.
It should be sufficient for the Service Loader to probe the installed
modules and perhaps examine module metadata to determine if a module
provides a service or not. From there, the Service Loader can create
module instances and provider instances as necessary.
If this is not possible in our current constructs, then we should
address these shortcomings rather than adding higher layer concepts into
the module layer.
> To recap what we have been discussing, I think our general consensus is
> to define a module system in JSR 277 that would address all the problems
> this JSR is set out to solve, as well as to provide a high level
> framework for different module systems (including the module system
> defined by JSR 277) to layer on top for interoperation. We only
> described the former in the EDR, but the latter should become more
> evident in the next revision of the JSR 277 specification.
> - Stanley
More information about the jsr277-eg-observer