RFR: JDK-8308398 Move SunEC crypto provider into java.base
Alan Bateman
Alan.Bateman at oracle.com
Mon Jul 10 10:41:33 UTC 2023
On 04/07/2023 11:23, Peter Firmstone wrote:
> Thanks Anthony,
>
> Always interesting to see how others are managing modularity. Some
> time ago now (circa 2007), Sun released Jini as open source, set up a
> project at Apache called River, we struggled to get developers though,
> we had a big monolithic codebase and developers couldn't get their
> heads around it. When I was modularising it, I decided to use SPI's
> as module boundaries, it turned out to be a good decision, we ended up
> making all our SPI's OSGi services as well. Probably doesn't matter
> in this instance, OpenJDK is already modular, and it's implementation
> detail. Some of our crypto providers are in the same module, but I'm
> thinking of separating them into different modules now, as some are no
> longer secure, but some people may still need them for compatibility,
> by moving old code into different modules, we can allow to die a
> peaceful death, without requiring people who don't use it to be
> burdened by it.
>
The concept to learn here is "services" and the uses/provides clauses
that are used to say if a module makes use of a service or provides an
implementation of. When using services you get a lot more flexibility to
refactor without breaking anyone.
-Alan
More information about the security-dev
mailing list