HK2 is the library used in Glassfish for doing the lookup and instantiation of modules (and all the depending modules). It wraps the OSGi implementation, which can be Felix or Equinox. The OSGi is wrapped because OSGi itself is too complex. The HK2 has a service based architecture. In the modules annotations @Service, @Contract, and @Inject are used. Services are components with a scope. No class-loader is actually created until a service is actually requested. HK2 is open source: hk2.dev.java.net
HK2 is the base of Glassfish and will also be part of WebLogic Server. Glassfish and WebLogic AS have different purposes. According to the speaker the two will co-exist. Glassfish is an application server with a very fast startup-time and loads modules lazily. It is very useful for developers, because it facilitates changes in source code. You can keep Glassfish running while changing the source code. WebLogic Server is different, because it wants to load many modules at startup. It is more suitable for deploying components in a controlled manner. The lifecycle (runtime states) in WebLogic Server is more sophisticated than the one used by Glassfish.