When the Java EE 6 specification was first made public the three central themes could be summarised as improving extensibility, adding profiles and pruning redundant APIs. EE 6 has delivered something on each of those areas. For extensibility the CDI portable extension SPI in particular offers substantially easier integration of additional technologies into the Java EE environment.
In effect, we abstracted the notion of a 'bean' and formalized it into the SPI in CDI, so that extensions can create beans potentially out of thin air and register them with the container. Again, this is a very open-ended mechanism, with the goal of future-proofing the platform by making it possible to add substantial behavior to the container via extensions.
http://www.infoq.com/news/2009/12/ee6qanda
It would have been nice if JPA 1.0, for example, allowed for PEs such that the Criteria API could be added
from Hibernate prior to JPA 2.0. I don't recall hearing about SPI/PE prior to EE6.
In terms of extensibility in the EE6 spec, what APIs other than CDI allow for SPI/PEs?