This article covers about the second version of the Java Portlet Specification (JSR 286). In Version 2.0, the specification and the APIs have more than doubled, and it allows you to implement most use cases without the need to use lot of vendor extensions. The portlet programming model also provides events and public render parameters so that you can build larger composite applications out of your portlets and reuse your portlets in different scenarios. Check out the article here.
You can check the complete JSR 286 specification here.